Повторитель RS485 с гальванической развязкой

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
Hello All!

В природе существуют subj'и ? ЖB}


Re: Повторитель RS485 с гальванической развязкой
Hello, Aleksandr!
You wrote to All on Wed, 15 Feb 2006 16:41:43 +0500:

Hа I-7510 от ICP DAC глянь. 3000 Вольт вроде пишут..

With best regards, Gromov Dmitry.  E-mail: snipped-for-privacy@deletethis.newmail.ru



Повторитель RS485 с гальванической развязкой
                              Пpивет, Aleksandr!

 ■ Дело было 16 Feb 06, Gromov Dmitry писал Aleksandr Konosevich

GD> Hа I-7510 от ICP DAC глянь. 3000 Вольт вроде пишут..
не "ICP DAC", а ICP DAS
продаются в ПЛK-Системы www.plcsystems.ru
а вообще - мы сами делаем такие :-)
и преобразователи 232-485

                                               Всего наилучшего. Пока.

Re: Повторитель RS485 с гальванической развязкой
Привет!

"Stas Shilo"

SS> а вообще - мы сами делаем такие :-)
SS> и преобразователи 232-485

О! Может тогда у тебя в конторе можно найти ответ на вот такой вопрос.
Имеется single-board computer (SBC) Advantech PCA6753 или аналогичный. У
него имеется 16550-совместимый COM-порт с RS-485 на борту. Управление
направлением передачи через RTS. Юзаю его под Linux, на который навешена
RTAI. Не могу сделать на нем MODBUS по RS-485. В чем проблема - у 16550
отсутствует прерывание о том, что последний байт закончил передаваться. Т.е.
я включаю RTS, чип переключается на передачу, начинаю передавать, все
замечательно передается, а вот по окончании передачи мне нужно быстро-быстро
переключить RTS на прием, чтобы успеть услышать ответ слэйва. По стандарту
slave имеет право отвечать через 3.5 символа, за это время я должен успеть
переключится. Последнее прерывание, которое вырабатывает 16550, случается
когда последний байт из очереди перейдет в сдвиговый регистр и начнет
передаваться. Держать в это время процессор чтобы поллить бит опустошения
сдвигового регистра - нонсенс, процессору очень даже есть, чем заняться в
это время. Во время передачи (RTS=1) порт абсолютно глухой - сам себя не
слышит. Резать дорожки на плате, чтобы разделить 2 и 3 ноги у сипекса 485 -
нонсенс.
Какие-нибудь идеи есть?

Второй вопрос. Имеется несколько веток, которые хотелось бы развязать, но
посадить на один порт SBC. Каким образом повторителям объяснить, какие UIDы
у них болтаются с той стороны, чтобы повторители знали, кому следует менять
направление передачи, а кому нет? Портов мало, а веток много...

С уважением,

Виталий Насенник



Re: Повторитель RS485 с гальванической развязкой
VN> Имеется single-board computer (SBC) Advantech PCA6753 или
аналогичный. У
VN> него имеется 16550-совместимый COM-порт с RS-485 на борту.
Управление
VN> направлением передачи через RTS. Юзаю его под Linux, на который
навешена
VN> RTAI. Не могу сделать на нем MODBUS по RS-485. В чем проблема - у
16550
VN> отсутствует прерывание о том, что последний байт закончил
передаваться. Т.е.
VN> я включаю RTS, чип переключается на передачу, начинаю передавать,
все
VN> замечательно передается, а вот по окончании передачи мне нужно
быстро-быстро
VN> переключить RTS на прием, чтобы успеть услышать ответ слэйва. По
стандарту
VN> slave имеет право отвечать через 3.5 символа, за это время я должен
успеть
VN> переключится. Последнее прерывание, которое вырабатывает 16550,
случается
VN> когда последний байт из очереди перейдет в сдвиговый регистр и
начнет
VN> передаваться. Держать в это время процессор чтобы поллить бит
опустошения
VN> сдвигового регистра - нонсенс, процессору очень даже есть, чем
заняться в
VN> это время. Во время передачи (RTS=1) порт абсолютно глухой - сам
себя не
VN> слышит. Резать дорожки на плате, чтобы разделить 2 и 3 ноги у
сипекса 485 -
VN> нонсенс.
VN> Какие-нибудь идеи есть?

А нет возможности после загрузки последнего байта на передачу запустить
таймер на 1.5 байта, и по его отработке (по прерыванию от него) делать
переход на прием?
Мы вообще не 3.5 байта даем на ответы слейвов, а порядка 10. И слейвы
так же отстраиваем - кадр фиксируется не по 3.5 - а по 10. Устраняется
возникшая у нас проблемма "джиттера" промежутка между байтами
(многозадачка), достигавшая этих самых 3.5 ;-)

--
Rifkat < Team /Grave\ >
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru

Re: Повторитель RS485 с гальванической развязкой
Привет!

"Rifkat Abdulin"

RA> А нет возможности после загрузки последнего байта на передачу запустить
RA> таймер на 1.5 байта, и по его отработке (по прерыванию от него) делать
RA> переход на прием?

Собственно, так и собираюсь сделать, просто мне дико неохота патчить
стандартный драйвер COM-порта, встроенный в Linux. Дело в том, что на втором
порту (RS232) висит PPP, а драйвер един на оба...

С уважением,

Виталий Насенник



Повторитель RS485 с гальванической развязкой
Hello Stas Shilo!

 GD>> Hа I-7510 от ICP DAC глянь. 3000 Вольт вроде пишут..
 SS> не "ICP DAC", а ICP DAS
 SS> продаются в ПЛK-Системы www.plcsystems.ru
 SS> а вообще - мы сами делаем такие :-)
 SS> и преобразователи 232-485

Ежели вы их *действительно* делаете - прошу с характеристиками и ценами
ко мне в мыло ... ;-)


Re: Повторитель RS485 с гальванической развязкой
                              Пpивет, Vitaly!

 ■ Дело было 17 Feb 06, Vitaly Nasennik писал Stas Shilo

SS> а вообще - мы сами делаем такие :-)
SS> и преобразователи 232-485

VN> О! Может тогда у тебя в конторе можно найти ответ на вот такой вопрос.
......
VN> - сам себя не слышит. Резать дорожки на плате, чтобы разделить 2 и 3 ноги
VN> у сипекса 485 - нонсенс.
VN> Kакие-нибудь идеи есть?
а pазве 16550 не генеpиpует пpеpывание по опустошению pегистpа?....
(я пpосто не помню)

я когда делал пpеобpазователь 232<=>485
пpосто аппаpатно связал MAX232 с MAX485.
на T/R подавал сигнал с Tx чеpез инвеpтоp.
а линии A и B чеpез 1k подтянул к Vcc и GND соответственно.

после того как всё пеpедано Tx как pаз остаётся в состоянии 1, что пеpеключает
485 на пpием. А когда пеpедаётся "настоящая" 1 до линии пpосто поддтягиваются
pезюками.
Для 120кбит/с и до 20 устpойств хватает, больше - не пpовеpял.

В твоём случае.... в голову пока ничего пpиходит.
слишком тpебования жёсткие выдвинул: доpоги не pезать, 16550 не опpашивать :)
лень думать :)

VN> Второй вопрос. Имеется несколько веток, которые хотелось бы развязать, но
VN> посадить на один порт SBC. Kаким образом повторителям объяснить, какие UIDы
VN> у них болтаются с той стороны, чтобы повторители знали, кому следует менять
VN> направление передачи, а кому нет? Портов мало, а веток много...
а зачем что-то объяснять???
пусть пеpеключаются, какая pазница?
всё pавно поpт не сможет ничего пpинять, пока он занят пеpедачей...
или я не пpавильно что-то понял?

                                               Всего наилучшего. Пока.

Повторитель RS485 с гальванической развязкой
Sun Feb 19 2006 18:11, Stas Shilo wrote to Vitaly Nasennik:

 VN>> - сам себя не слышит. Резать дорожки на плате, чтобы разделить 2 и 3
 VN>> ноги  у сипекса 485 - нонсенс.
 VN>> Kакие-нибудь идеи есть?

 SS> а pазве 16550 не генеpиpует пpеpывание по опустошению pегистpа?....
 SS> (я пpосто не помню)

Есть бит статуса, который надо проверять по опросу.

8.4 LINE STATUS REGISTER
This register provides status information to the CPU concerning
the data transfer. Table II shows the contents of the
Line Status Register. Details on each bit follow.
...
 Bit 6: This bit is the Transmitter Empty (TEMT) indicator. Bit
6 is set to a logic 1 whenever the Transmitter Holding Register
(THR) and the Transmitter Shift Register (TSR) are both
empty. It is reset to a logic 0 whenever either the THR or
TSR contains a data character. In the FIFO mode this bit is
set to one whenever the transmitter FIFO and shift register
are both empty.
...


Re: Повторитель RS485 с гальванической развязкой
Привет!

"Yuriy K"

VN> - сам себя не слышит. Резать дорожки на плате, чтобы разделить 2 и 3
VN> ноги  у сипекса 485 - нонсенс.
VN> Kакие-нибудь идеи есть?

SS> а pазве 16550 не генеpиpует пpеpывание по опустошению pегистpа?....
SS> (я пpосто не помню)

YK> Есть бит статуса, который надо проверять по опросу.

Вот именно это я и не хочу делать, ибо как я писал чуть раньше, процессору
очень даже есть, чем заняться вместо того, чтобы сидеть и поллить этот бит
до конца передачи байта, что на скорости 9600 (да и 19200) - неприлично
долго (почти миллисекунда и пол-миллисекунды соответственно).

С уважением,

Виталий Насенник



Re: Повторитель RS485 с гальванической развязкой
                              Пpивет, Rifkat!

 ■ Дело было 20 Feb 06, Rifkat Abdulin писал Anatoly Mashanov

.....
AM> Если я не совсем идиот, то я где-то слышал, что 485 обычно является
RA> одной шиной
AM> - и на прием, и на передачу. В этом случае достаточно принять
RA> собственную
AM> посылку стандартным драйвером, после чего стандартным же драйвером
RA> выключить
AM> передатчик.

RA> 1. Обычно да. Хотя и 4х проводка встречается.
это уже не 485, а RS422 :)
он не управляется, просто на каждое направление дифференциальная пара (Rx, Tx)


RA> 2. KЗ на линии. Устанешь ждать "свой" байт.
RA> 3. Kоллизия на линии. Ответ некоего слейва не вовремя. Тоже встречается.


                                               Всего наилучшего. Пока.

Re: Повторитель RS485 с гальванической развязкой
AM>> Если я не совсем идиот, то я где-то слышал, что 485 обычно является
RA>> одной шиной
AM>> - и на прием, и на передачу. В этом случае достаточно принять
RA>> собственную
AM>> посылку стандартным драйвером, после чего стандартным же драйвером
RA>> выключить
AM>> передатчик.

RA>> 1. Обычно да. Хотя и 4х проводка встречается.
SS> это уже не 485, а RS422 :)
SS> он не управляется, просто на каждое направление дифференциальная
пара (Rx, Tx)
Конечно 422. Это я уже стареть начал. Пора Hi-End-ом заняться ;-)

--
Rifkat < Team /Grave\ >
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru

Повторитель RS485 с гальванической развязкой
Hello Stas Shilo!

 RA>> 1. Обычно да. Хотя и 4х проводка встречается.
 SS> это уже не 485, а RS422 :)
 SS> он не управляется, просто на каждое направление дифференциальная пара (Rx,
 SS> Tx)

Боюсь показаться назойливым, но я так-и не увидел у себя в нетмейле ТТХ/etc
subj'евого девайса, который Вы якобы производите/продаёте ... ;)


Повторитель RS485 с гальванической развязкой
                              Пpивет, Aleksandr!

 ■ Дело было 21 Feb 06, Aleksandr Konosevich писал Stas Shilo

AK> Боюсь показаться назойливым, но я так-и не увидел у себя в нетмейле ТТХ/etc
AK> subj'евого девайса, который Вы якобы производите/продаёте ... ;)
хм... странно. Отправлял в воскресенье из дому.

развязка по интерфейсу на HCPL2601 (Viso=2.5kV до 10МБит/с),
по питанию на DC-DC (Viso>=3kV)
скорость зависит от м/сх которую поставишь.

Питание DC 10-30 вольт (реально чуть шире 7-40)

Мы их делаем для собственных нужд.

А так как собственные нужды ограничиваются максимальной скоростью 115200, то на
больших скоростях мы и не тестировали.


                                               Всего наилучшего. Пока.

P.S.: я привёл характеристики ОПРЕДЕЛЯЮЩИХ элементов.
кстати в оригинале я не говорил, что мы их продаём.
но если надо - безнал. Ценник будет где-то между 1,5 - 2 тр
надо уточнить.
хочешь - могу фотку закинуть с габаритами, скажи только куда.

Re: Повторитель RS485 с гальванической развязкой
Hi Vitaly !

 Совсем недавно 17 Feb 06 08:31, Vitaly Nasennik писал к  Stas Shilo:

 SS>> а вообще - мы сами делаем такие :-)
 SS>> и преобразователи 232-485

 VN> О! Может тогда у тебя в конторе можно найти ответ на вот такой вопрос.
 VN> Имеется single-board computer (SBC) Advantech PCA6753 или аналогичный.
 VN> У него имеется 16550-совместимый COM-порт с RS-485 на борту.
Классика. Как мне говорили, проблема с набортным 485-м достаточно популярная
тема на Линуховых форумах (ну, наверно просто под виндой Адвантеки всякие мало
кто гоняет:). Универсальное решение - юзай как обычный порт RS232 и только
сигналы RX-TX, а снаружи вешай приблуду для преобразования в RS485. Мы пошли
именно этим путем, сделали свой адаптер. В нем есть задержка на конфигурируемое
время от включения передатчика до начала передачи, что позволяет строить
честные сети MODBUS-RTU. И развязка гальваническая честная есть, и разрядники
всякие.

 VN> Управление направлением передачи через RTS. Юзаю его под Linux, на
 VN> который навешена RTAI. Hе могу сделать на нем MODBUS по RS-485.
Странно, вообще-то. Скорость какая? Я даже из-бод виндового Билдера через
компонент без проблем на 19200 работал. То есть в компе RS232, а к нему ADM485,
управляемый от портового RTS. Hаверное, у тебя скорости поболее.

 VN> Какие-нибудь идеи есть?
Если найдешь надежное софтовое решение- скажи. Буду знать, что оно есть.

 VN> Второй вопрос. Имеется несколько веток, которые хотелось бы
 VN> развязать, но посадить на один порт SBC. Каким образом повторителям
 VN> объяснить, какие UIDы у них болтаются с той стороны, чтобы
 VN> повторители знали, кому следует менять направление передачи, а кому
 VN> нет? Портов мало, а веток много...
Слова какие-то страшные, через одно непонятные. Тебе что, RS-485й свич нужен,
что ли? Интересный вопрос. Я совершенно уверен, что такой можно сделать, и даже
подозреваю, что такие уже кто-то делает.
Hу и я так понимаю, у тебя много мастеров? Иначе это незачем.


         WBRgrds
                   Ruslan


Re: Повторитель RS485 с гальванической развязкой
Hello Vitaly!

17 Feb 06 12:32, you wrote to Rifkat Abdulin:

 RA>> А нет возможности после загрузки последнего байта на передачу
 RA>> запустить таймер на 1.5 байта, и по его отработке (по прерыванию
 RA>> от него) делать переход на прием?

 VN> Собственно, так и собираюсь сделать, просто мне дико неохота патчить
 VN> стандартный драйвер COM-порта, встроенный в Linux. Дело в том, что на
 VN> втором порту (RS232) висит PPP, а драйвер един на оба...

Если я не совсем идиот, то я где-то слышал, что 485 обычно является одной шиной
- и на прием, и на передачу. В этом случае достаточно принять собственную
посылку стандартным драйвером, после чего стандартным же драйвером выключить
передатчик.

Anatoly


Re: Повторитель RS485 с гальванической развязкой
RA>>> А нет возможности после загрузки последнего байта на передачу
RA>>> запустить таймер на 1.5 байта, и по его отработке (по прерыванию
RA>>> от него) делать переход на прием?

VN>> Собственно, так и собираюсь сделать, просто мне дико неохота
патчить
VN>> стандартный драйвер COM-порта, встроенный в Linux. Дело в том, что
на
VN>> втором порту (RS232) висит PPP, а драйвер един на оба...

AM> Если я не совсем идиот, то я где-то слышал, что 485 обычно является
одной шиной
AM> - и на прием, и на передачу. В этом случае достаточно принять
собственную
AM> посылку стандартным драйвером, после чего стандартным же драйвером
выключить
AM> передатчик.

1. Обычно да. Хотя и 4х проводка встречается.
2. КЗ на линии. Устанешь ждать "свой" байт.
3. Коллизия на линии. Ответ некоего слейва не вовремя. Тоже встречается.

--
Rifkat < Team /Grave\ >
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru

Site Timeline