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

Смещение шины (failsafe)

Смещение шины — пара резисторов, которая задаёт уровень на линиях RS-485, когда все передатчики выключены. Без него приёмники в паузах между кадрами могут принять шум за данные и выдать мусорные байты.

Обновлено Редакция GAW

Смещение шины (failsafe biasing) — пара резисторов на шине RS-485, которая подтягивает неинвертирующую линию A к питанию, а инвертирующую B — к общему проводу. Ток через них создаёт на терминаторах разность напряжений UAB, и в простое, когда все передатчики выключены, приёмники видят уверенную логическую единицу.

Почему шина «висит»

Порог приёмника RS-485 — ±200 мВ, и между −200 и +200 мВ его выход не определён. Между кадрами терминаторы стягивают A и B, разность падает почти до нуля, и обычный приёмник выдаёт что придётся — UART получает мусорные байты и ошибки кадра. TI перечисляет три ситуации потери сигнала: обрыв, замыкание линий и простой терминированной шины.

Расчёт

UAB=Uпит⋅Rэкв2Rсм+Rэкв,Rсм≤Rэкв2(UпитUAB−1)U_{AB} = U_\text{пит} \cdot \frac{R_\text{экв}}{2R_\text{см} + R_\text{экв}}, \qquad R_\text{см} \le \frac{R_\text{экв}}{2} \left( \frac{U_\text{пит}}{U_{AB}} - 1 \right)

где Rэкв — нагрузка шины: терминаторы параллельно с входами приёмников. Пример: 5 В, два терминатора по 120 Ом, 16 трансиверов на 1/8 единичной нагрузки, запас 250 мВ над порогом: Rэкв ≈ 59,7 Ом, Rсм ≤ 567 Ом — берут 560 Ом, и в простое на шине около 253 мВ. Расчёт для своей шины — в калькуляторе в статье о RS-485.

Что важно

  • Одна точка. Резисторы смещения ставят только в одном месте шины, обычно у ведущего узла — так требует и Modbus. Подтяжки на каждом узле сложатся параллельно и перегрузят передатчики.
  • Смещение — тоже нагрузка. По оценке TI пара резисторов на 500–600 Ом забирает до 20 единичных нагрузок из 32.
  • True failsafe. Трансиверы со сдвинутым порогом, например MAX3080–MAX3089, держат единицу при нулевой разности сами, без внешних резисторов.

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

Зачем резисторы смещения на шине RS-485?

Между кадрами все передатчики выключены, терминаторы стягивают линии A и B друг к другу, и разность падает почти до нуля — в зону −200…+200 мВ, где выход приёмника не определён. Приёмник может принять шум за старт-бит, и UART получит мусорные байты. Смещение создаёт в простое уверенную единицу — то же состояние, что и стоп-бит.

Какие резисторы смещения поставить?

Для шины 5 В с двумя терминаторами 120 Ом и запасом 250 мВ получается не больше 567 Ом на каждый резистор — ближайший меньший номинал 560 Ом. Линию A подтягивают к питанию, линию B — к общему проводу. Ставят их в одной точке шины, обычно у ведущего узла.

Нужны ли резисторы смещения с трансиверами true failsafe?

Обычно нет. У трансиверов с настоящим failsafe порог приёмника сдвинут в отрицательную область: у MAX3080–MAX3089 единица гарантирована при разности от −50 мВ, поэтому при 0 В — обрыве, замыкании или простое терминированной шины — выход остаётся в единице без внешних резисторов.

Источники

  1. Texas Instruments. The RS-485 Design Guide (SLLA272C), T. Kugelstadt — ситуации потери сигнала (обрыв, замыкание, простой терминированной шины), формула резисторов смещения, пример 523 Ом, нагрузка смещения в единицах UL
  2. Modbus Organization. MODBUS over Serial Line Specification and Implementation Guide V1.02 — смещение в одной точке шины, 650 Ом, RC-терминатор 120 Ом + 1 нФ
  3. TIA/EIA-485-A. Electrical Characteristics of Generators and Receivers for Use in Balanced Digital Multipoint Systems — порог приёмника ±200 мВ, единичная нагрузка
  4. Maxim Integrated. MAX3080–MAX3089 Fail-Safe, High-Speed (10Mbps), Slew-Rate-Limited RS-485/RS-422 Transceivers — true failsafe: единица при UAB ≥ −50 мВ, ноль при UAB ≤ −200 мВ

Нашли ошибку?