Jump to content

    

Modbus Line Polarization

В документе Modbus_over_serial_line_V1_02.pdf предлагают такую полярность:
D1(B) - pull-up

D0(A) - pull-down

причем это повторяется и текстом и на рисунках.

 

В рекомендациях по интерфейсам RS-485 предлагается наоборот:

А - pull-up

B - pull-down

 

Вопрос кто прав?

Рекомендации RS-485 понятны: в неактивном состоянии на выходе приемника "1" т.е "тишина" для UART. Failsafe трансиверы работают так же. Раньше я всегда делал именно так.

Что курили в modbus я не въезжаю. Если делать как у них написано в неактивном состоянии получаем "0" что для UART выглядит как BREAK. Никакой стандартный софт с таким работать не будет.

Share this post


Link to post
Share on other sites

Там путаница заложена с самого начала, прямо в тексте стандартов RS-422 и RS-485.

Это ж надо было додуматься, написать

  • A, which is low for logic 1 and high for logic 0.
  • B, which is high for logic 1 and low for logic 0

и одновременно назвать линию А неинвертирующей, а линию B - инвертирующей.

(На самом деле причины у них для этого были, но такие, что в 21-м веке это понять уже невозможно.)

 

Нужно просто помнить что в покое, при передаче стопового бита, на линии B будет положительное напряжение.

В конце концов именно это Вы и будете проверять тестером при очередном разбирательстве с полярностью.

PS. Ну, и контрольный прямо в мозг: кому не нравятся названия А и В, те линию А маркируют как (+), а линию В как (-).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now