RS-485: различия между версиями

Материал из Wiren Board
Строка 1: Строка 1:
'''RS-485''' - стандарт, определяющий физический уровень коммуникации по двухпроводной шине. Часто под этим же названием подразумевается и логический уровень - [[Modbus RTU]].
'''RS-485''' - стандарт коммуникации по двухпроводной шине. По порту RS-485 к Wiren Board можно подключать периферийные устройства.


== Краткое описание стандарта ==
== Краткое описание стандарта ==
RS-485 - стандарт физического уровня, в котором биты передаются разностью напряжений - смотрите [https://ru.wikipedia.org/wiki/RS-485]. Поверх него должен работать логический уровень - стандарт сообщений, которыми обмениваются устройства. Wiren Board из коробки поддерживает стандарт [https://ru.wikipedia.org/wiki/Modbus#.D0.92.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B5 Modbus RTU], но также может работать и с другими - подробнее ниже.


Передача данных осуществляется созданием разности напряжений между линиями A и B.
== Как подключить устройства ==
* Логическая единица: (A-B) > +200 мВ
Все устройства устанавливаются на одну шину, в конце шины нужно установить терминальный резистор (примерно 150 Ом, подробнее в [https://ru.wikipedia.org/wiki/RS-485#.D0.A1.D0.BE.D0.B3.D0.BB.D0.B0.D1.81.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5 статье] на википедии).
* Логический ноль: (A-B) < −200 мВ


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


Все устройства устанавливаются на одну шину, в конце шины нужно установить терминальный резистор (примерно 150 Ом, подробнее в [https://ru.wikipedia.org/wiki/RS-485#.D0.A1.D0.BE.D0.B3.D0.BB.D0.B0.D1.81.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5 статье] на википедии).
== Логические уровни кроме Modbus RTU ==
 


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

Версия 21:54, 28 апреля 2015

RS-485 - стандарт коммуникации по двухпроводной шине. По порту RS-485 к Wiren Board можно подключать периферийные устройства.

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

RS-485 - стандарт физического уровня, в котором биты передаются разностью напряжений - смотрите [1]. Поверх него должен работать логический уровень - стандарт сообщений, которыми обмениваются устройства. Wiren Board из коробки поддерживает стандарт Modbus RTU, но также может работать и с другими - подробнее ниже.

Как подключить устройства

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


Логические уровни кроме Modbus RTU

Работа с портом 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