Перейти к содержанию

Длина линии RS-485: скорость, задержка, терминаторы

Введите скорость, длину кабеля и время нарастания передатчика — калькулятор сравнит линию с правилами TI для длины и скорости, посчитает задержку распространения, проверит три критерия терминации, наибольший отвод, число узлов по единицам нагрузки и ослабление сигнала в проводах. Каждое правило подписано документом, из которого оно взято.

Исходные данные

бит/с

Можно 9600, 115200, 1M

м

0,78 у кабеля из примера TI; берите из паспорта кабеля

нс

tr из даташита трансивера; пусто — не учитывать

м

Из даташита трансивера

UL

0 — нет; TI оценивает смещение 528–600 Ом примерно в 20 UL

Медь, сплошная жила, 20 °C

Ом
дБ/100 м

Из паспорта кабеля: для 500 кбит/с — затухание на 500 кГц; пусто — не учитывать

Результат

Ориентир длины при этой скорости
868 м
правило TI SLLA070: скорость × длина ≤ 10⁸; строже TI SLLA272 (< 10⁷) — 86,8 м
Ваша линия
между 10⁷ и 10⁸скорость × длина = 3,46·10⁷
Задержка в одну сторону
1,283 мкс4,28 нс/м; туда и обратно — 2,566 мкс
Длительность бита
8,681 мксфронт — 1,15 % бита; SLLA036 допускает до 30 %
Терминаторы по TI SLLA070, 2.1.8
не обязательныскорость ниже 200 кбит/с
Терминаторы по TI SLLA036, 2.1
нужны2·tpd = 2566 нс ≥ tt/5 = 20 нс
Терминаторы по TI AN-1031 (SNLA044B)
нужныtpd = 1283 нс > tt/8 = 12,5 нс
Наибольший отвод по SLLA272
2,34 мtr · v · c / 10
Узлов на одном сегменте
до 32(32 UL − смещение) / нагрузка узла, с округлением вниз
Уровень на дальнем конце по постоянному току (наша модель)
−3,05 дБпетля 50,53 Ом, терминатор 120 Ом: доля 70,4 %; RT / (RT + 2rL), не формула TI, ориентир −6 дБ — SLLA272
Затухание сигнала в кабеле
—правило SLLA036: не больше 6 дБ, для этой длины — 2 дБ/100 м

Резисторы смещения (failsafe) для своей шины посчитайте калькулятором в статье про RS-485.

Расчёт выполнен по формулам и данным из источников, приведённых на этой странице, и не заменяет проверку: параметры компонентов у разных производителей и даже партий различаются. Перед применением сверяйте результат с документацией на конкретные детали.

RS-485 часто тянут на сотни метров, и первый вопрос — на какой скорости линия будет работать. Стандарт TIA/EIA-485 длину кабеля не задаёт: она зависит от кабеля, скорости, фронтов передатчика и помех. Поэтому все цифры в калькуляторе — правила и примеры из application notes Texas Instruments, и у каждой результатной строки указан документ. Электрическая часть интерфейса, схемы подключения и расчёт резисторов смещения — в статье про RS-485.

Длина и скорость: правила TI

TI в разных документах даёт два правила произведения скорости на длину:

  • SLLA070 (раздел о RS-422, то же соотношение TI распространяет на RS-485): скорость в бит/с, умноженная на длину в метрах, не должна превышать 108; пример — 500 м и не больше 200 кбит/с. Рекомендуемая длина — около 1200 м.
  • SLLA272: длина в метрах, умноженная на скорость в бит/с, должна быть меньше 107. TI сама пишет, что это правило намного осторожнее реального кабеля и даёт меньшую длину, чем её же график.
LSLLA070=108R,LSLLA272=107R.L_\text{SLLA070} = \frac{10^8}{R}, \qquad L_\text{SLLA272} = \frac{10^7}{R}.
СкоростьПо SLLA070 (108, не больше 1200 м)По SLLA272 (107)
9600 бит/с1200 м1042 м
19 200 бит/с1200 м521 м
57 600 бит/с1200 м174 м
115 200 бит/с868 м87 м
500 кбит/с200 м20 м
1 Мбит/с100 м10 м
10 Мбит/с10 м1 м

Расхождение в 10 раз показывает, что это ориентиры, а не граница. Правило SLLA272 при 10 Мбит/с даёт 1 м, хотя в той же записке среди ключевых свойств стандарта названы 10 Мбит/с на 40 футах (12 м) и «4000-foot maximum cable length (at 100 kbps)». На графике длины и скорости в SLLA272 (рис. 9-1) три участка: на коротких линиях скорость ограничена фронтами передатчика, в середине длина падает обратно пропорционально скорости, а на низких скоростях её ограничивает сопротивление проводов — около 1200 м для кабеля 22 AWG. Калькулятор показывает обе оценки и отмечает линию зелёным, если она проходит по строгому правилу, и предупреждением — если только по мягкому.

Задержка в кабеле

Сигнал идёт по кабелю со скоростью v · c, где v — коэффициент укорочения из паспорта кабеля. Задержка в одну сторону:

tpd=Lv⋅c,c=299 792 458 м/с.t_{pd} = \frac{L}{v \cdot c}, \qquad c = 299\,792\,458\ \text{м/с}.

У кабеля из примера TI в SLLA272 (Belden 3109A, 120 Ом, 11 пФ/фут) скорость — 78 % от скорости света, TI пишет 1,3 нс/фут; в метрах это 4,28 нс/м. Линия 300 м на таком кабеле задерживает сигнал на 1,28 мкс в одну сторону.

Коэффициент vЗадержка, нс/м100 м1200 м
0,665,05505 нс6,06 мкс
0,704,77477 нс5,72 мкс
0,784,28428 нс5,13 мкс

Когда нужны терминаторы

Линия ведёт себя как длинная, когда задержка в ней сравнима с фронтом сигнала: отражения от концов не успевают слиться с фронтом и видны как звон. У TI три формулировки, и калькулятор проверяет все, если задано время нарастания передатчика:

ДокументПравилоДлинная линия при фронте 100 нс и v = 0,78
SLLA070, 2.1.8терминация нужна, если скорость не ниже 200 кбит/с и фронт на нагрузке не длиннее 4tpdот 5,85 м
SLLA036, 2.1терминировать, если 2tpd ≥ tt/5от 2,34 м
AN-1031 (SNLA044B), 3длинная, если tpd > tt/8, фронт измеряется от 0 до 100 %от 2,92 м

В даташитах время нарастания указано по уровням 10–90 %. Полный фронт от 0 до 100 % длиннее, а на дальнем конце кабель его ещё затягивает, — поэтому, подставляя значение из даташита, калькулятор оценивает линию с запасом. Итог для практики: для трансивера с фронтами в десятки–сотни наносекунд почти любая линия RS-485 длиннее нескольких метров — длинная. Без терминаторов она может работать только на низкой скорости, когда звон затухает задолго до середины бита: это и есть исключение «ниже 200 кбит/с» из SLLA070. Где ставить терминаторы и почему их ровно два — в статье про RS-485.

Отдельная проверка из SLLA036: чтобы соответствовать стандарту, фронт передатчика не должен быть длиннее 0,3 длительности бита. Медленный трансивер с ограниченной скоростью нарастания хорош для длинных линий, но для высокой скорости не годится — калькулятор предупредит об этом.

Длина отвода

Отвод — кусок кабеля от магистрали до трансивера, без терминатора на конце. По SLLA272 его электрическая длина должна быть меньше 1/10 времени нарастания передатчика:

Lотв≤tr⋅v⋅c10.L_\text{отв} \le \frac{t_r \cdot v \cdot c}{10}.

TI считает с c = 9,8 · 108 фут/с и в табл. 6-1 отбрасывает дробную часть; калькулятор считает в метрах с точным значением c, разница — 0,4 %.

Время нарастания trТабл. 6-1 SLLA272Калькулятор, v = 0,78
100 нс7 футов2,34 м
250 нс19 футов5,85 м
500 нс38 футов11,7 м

Число узлов

Стандарт задаёт нагрузку через единицу нагрузки (UL): по SLLA036 это ток 1 мА при 12 В на входе, примерно 12 кОм. Передатчик должен работать на 32 UL. Современные трансиверы бывают на 1/2, 1/4 и 1/8 UL — это 64, 128 и 256 узлов (SLLA166). Резисторы смещения шины тоже нагружают линию, и TI в SLLA272 и SLLA112A оценивает типичную цепь смещения в 20 UL:

N=⌊32−ULсмещULузла⌋.N = \left\lfloor \frac{32 - UL_\text{смещ}}{UL_\text{узла}} \right\rfloor.

С узлами 1/8 UL и смещением 20 UL получается 96 узлов, с узлами 1/4 UL — 48. В SLLA166 приведён и другой пример: резисторы смещения около 1 кОм занимают 12 UL. Нагрузку своей цепи смещения можно оценить по току, который она берёт при 12 В на линии; сами резисторы для заданного напряжения в паузе посчитает калькулятор смещения в статье про RS-485.

Затухание в проводах

На низкой скорости длину ограничивает сопротивление проводов. TI в SLLA272 пишет, что когда сопротивление кабеля приближается к сопротивлению терминатора, делитель ослабляет сигнал на 6 дБ, и для кабеля 22 AWG это примерно 1200 м. Калькулятор считает такой делитель упрощённо — наша модель, не формула TI: петля из двух жил последовательно с терминатором на дальнем конце,

UдальнUперед=RTRT+2rL.\frac{U_\text{дальн}}{U_\text{перед}} = \frac{R_T}{R_T + 2 r L}.

Сопротивление жилы r берётся для сплошной медной жилы выбранного калибра при 20 °C, как в калькуляторе проводов. Для 22 AWG (52,96 Ом/км) на 1133 м сопротивление петли равно терминатору, это −6,02 дБ (ровно −6,00 дБ — на ≈ 1128 м), близко к оценке TI; для 24 AWG то же получается на 712 м. Это не предел работы: передатчик по стандарту даёт не меньше 1,5 В, а приёмнику достаточно 200 мВ (SLLA272, рис. 4-1), так что запас есть и при большем ослаблении. Решает уровень помех: по SLLA070 длину на практике выбирают по тому, сколько шума готов допустить разработчик.

На высоких частотах добавляются потери в кабеле. SLLA036 предлагает правило: затухание на частоте, численно равной скорости в битах в секунду, не больше 6 дБ на всю длину. В примере записки для 500 м и 500 кбит/с это 0,36 дБ на 30 м, а у кабеля 24 AWG из её графика — чуть больше 0,5 дБ на 30 м; TI считает такое превышение допустимым ценой меньшего запаса по шуму. Если в паспорте кабеля есть затухание, введите его — калькулятор сравнит его с этим правилом.

Что ещё ограничивает линию

  • Синфазное напряжение: разность потенциалов земель узлов должна оставаться в пределах −7…+12 В. Для длинных линий между зданиями нужна гальваническая развязка — подробнее в статье про RS-485.
  • Топология: только шина с короткими отводами и двумя терминаторами на концах; звезда на длинной линии не работает.
  • Протокол: Modbus RTU задаёт свои пределы на длину и отводы и требует терминаторы на концах шины.

Если нужно дальше, чем разрешают правила, — ставьте повторитель: каждый сегмент за ним — отдельная линия со своими 32 UL и терминаторами. Сколько данных пройдёт по линии на выбранной скорости с учётом кадра UART или Modbus, посчитает калькулятор полезной скорости. Отличия RS-422, где передатчик один, — в статье про RS-422.

Частые вопросы

Какая максимальная длина линии RS-485?

Стандарт длину не задаёт. TI в SLLA070 называет рекомендуемым пределом около 1200 м, в SLLA272 — 4000 футов при 100 кбит/с. На низких скоростях длину ограничивает сопротивление проводов, на высоких — потери кабеля и фронты. Для промежуточных скоростей TI даёт правило: скорость в бит/с, умноженная на длину в метрах, не больше 10⁸ (SLLA070) или меньше 10⁷ (SLLA272, с оговоркой, что это правило заметно осторожнее реального кабеля). На 115 200 бит/с это 868 и 87 м.

Нужны ли терминаторы на линии 50 м и 9600 бит/с?

По правилу SLLA070 — не обязательны: на скоростях ниже 200 кбит/с терминация не требуется. Но критерии длинной линии из SLLA036 и AN-1031 сравнивают задержку с фронтом передатчика, а не со скоростью, и для трансивера с фронтом 100 нс линия длиннее 2–6 м уже длинная — на фронтах будет звон. На 9600 бит/с он затухает задолго до середины бита. Если протокол требует терминаторы, как Modbus, ставьте их.

Сколько устройств можно подключить к одной линии RS-485?

Передатчик по стандарту должен нагружаться 32 единицами нагрузки (UL), одна UL — около 12 кОм. С трансиверами 1/8 UL это 256 узлов. Резисторы смещения тоже нагружают шину: TI оценивает типичную цепь в 20 UL, и с узлами 1/8 UL остаётся 96 мест (SLLA272), с узлами 1/4 UL — 48 (SLLA112A). Больше узлов — только через повторитель.

Откуда берётся «1200 м при 100 кбит/с»?

Это не формула, а точка на графике TI: на низких скоростях длину ограничивает сопротивление проводов, и для кабеля 22 AWG сигнал на дальнем конце падает на 6 дБ примерно на 1200 м (SLLA272, рис. 9-1). Ниже определённой скорости длина почти не растёт, а выше — падает. Делить 1200 м пропорционально скорости нельзя: для этого и даны правила 10⁷ и 10⁸.

Источники

  1. Texas Instruments. SLLA070D: RS-422 and RS-485 Standards Overview and System Configurations, 2002, rev. 2010 — разд. 2.1 — правило: скорость в бит/с, умноженная на длину в метрах, не больше 10⁸, пример 500 м → 200 кбит/с; 2.1.8 — терминация нужна, если скорость не ниже 200 кбит/с и фронт на нагрузке не длиннее четырёх задержек кабеля в одну сторону; 2.2 — рекомендуемая длина около 1200 м, 32 единицы нагрузки
  2. Texas Instruments. SLLA272D: The RS-485 Design Guide, 2008, rev. 2021 — разд. 2 — 10 Мбит/с на 40 футах, 4000 футов на 100 кбит/с; рис. 5-1 — кабель 120 Ом, 11 пФ/фут, скорость 78 % (1,3 нс/фут); разд. 6, формула 1 и табл. 6-1 — отвод не длиннее tr·v·c/10; разд. 8, формула 3 — (32 − 20) UL / нагрузку узла, 96 узлов по 1/8 UL; рис. 9-1 — длина и скорость, правило длина × скорость < 10⁷, −6 дБ около 1200 м для 22 AWG; разд. 10 — минимальное расстояние между узлами
  3. Texas Instruments. SLLA036D: Interface Circuits for TIA/EIA-485 (RS-485), 2007, rev. 2008 — разд. 1 — длина стандартом не задана, номинально около 1,2 км на кабеле 24 AWG; 2.1 — если 2·tpd ≥ tt/5, линию терминируют, единица нагрузки 1 мА при 12 В; 2.2 — допустимое затухание −6 дБ на частоте, равной скорости; разд. 3 — пример 500 м, 500 кбит/с: фронт не длиннее 0,3 длительности бита, 3333 > 120, 0,36 дБ/30 м
  4. Texas Instruments (National Semiconductor). SNLA044B: AN-1031 TIA/EIA-422-B Overview, 2000, rev. 2013 — разд. 3 — линия считается длинной, если задержка распространения больше 1/8 времени фронта, измеренного от 0 до 100 %
  5. Texas Instruments. SLLA166: RS-485 Unit Load and Maximum Number of Bus Connections, 2004 — понятие единицы нагрузки; табл. 1 — 1/2, 1/4 и 1/8 UL дают 64, 128 и 256 узлов; резисторы смещения около 1 кОм занимают 12 UL
  6. Texas Instruments. SLLA112A: RS-485 for E-Meter Applications, 2004 — смещение шины нагружает её примерно на 20 UL, с узлами 1/4 UL остаётся 48 узлов; на скоростях до 250 кбит/с затухание на высоких частотах для 1200 м пренебрежимо; сопротивление витой пары 7–10 Ом на 100 м

Где пригодится

Встроить калькулятор на свой сайт

Скопируйте код и вставьте его в HTML страницы, статьи или вики. Виджет бесплатный, без рекламы, счётчиков и cookie. Условие одно — ссылка на GAW под рамкой остаётся на месте. Подробнее о виджетах

<iframe src="https://gaw.ru/embed/rs485-cable-length/" title="Длина линии RS-485: скорость, задержка, терминаторы" width="100%" height="640" style="border:1px solid #e3e5e9;border-radius:8px" loading="lazy" allow="clipboard-write"></iframe>
<p style="margin:6px 0 0;font-size:14px">Калькулятор: <a href="https://gaw.ru/tools/rs485-cable-length/">Длина линии RS-485: скорость, задержка, терминаторы</a> — GAW.ru</p>
Автоподстройка высоты рамки

Если сайт разрешает скрипты, добавьте этот код один раз в любом месте страницы: рамка будет менять высоту вместе с результатом расчёта.

<script>window.addEventListener("message",function(e){if(e.origin!=="https://gaw.ru"||!e.data||e.data.type!=="gaw:embed-height")return;var f=document.querySelectorAll('iframe[src^="https://gaw.ru/embed/"]');for(var i=0;i<f.length;i++)if(f[i].contentWindow===e.source)f[i].style.height=e.data.height+"px"})</script>

Обновлено .

Нашли ошибку в расчёте?