RS-485

Материал из Wiren Board

RS-485 - стандарт, определяющий физический уровень коммуникации по двухпроводной шине. Часто под этим же названием подразумевается и логический уровень - Modbus RTU.

Краткое описание стандарта

Передача данных осуществляется созданием разности напряжений между линиями A и B.

  • Логическая единица: (A-B) > +200 мВ
  • Логический ноль: (A-B) < −200 мВ

Интерфейс является полудуплексным: узел не может одновременно и принимать, и передавать данные.

Все устройства устанавливаются на одну шину, в конце шины нужно установить терминальный резистор (примерно 150 Ом, подробнее в статье на википедии).

Работа с портом RS-485 в Wiren Board

Ознакомьтесь с инструкцией Работа с последовательным портом из Linux.

Последовательные порты RS-485 в Linux на Wiren Board имеют названия /dev/ttyNSC0 и /dev/ttyNSC1.

Детали реализации портов в разных версиях Wiren Board

Wiren Board Smart Home rev. 3.5

Перемычки терминаторов в Wiren Board Smart Home rev. 3.5

Контроллер имеет два полудуплексных порта. Трансивер подключен к чипу SC16IS752.

Порты определяются в системе как:

  • /dev/ttyNSC0 - зелёная пара клеммников
  • /dev/ttyNSC1 - синяя пара клеммников

Для уменьшения эффектов отражения, линии RS-485 должны заканчиваться "терминаторами" - резисторами, равными волновому сопротивлению линии. На плате установлены резисторы по 150 Ом между линиями A и В. Для их отключения распаяйте соответствующие SMD-перемычки (по умолчанию запаяны), см. фото.

Wiren Board rev. 2.8

Wiren Board 2.8 может поставляться с трансивером RS-485. Поддерживается полудуплексный режим работы, линии A и B выведены на клеммники.

Трансивер подключен к чипу SC16IS752. Соответсвующий последовательный порт определяется системой как /dev/ttyNSC0. См. SC16IS752#UART0