реклама на сайте
подробности

 
 
> ADM485 и ADM2490E в параллель не работают, Проблема с RS485
DmitryDI
сообщение Dec 16 2009, 14:35
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 789



Возникла проблема: на шину RS485 подключины приемники сигналов на микросхемах ADM485 и ADM2490E через 60м после источника сигнала, еще через 40м опять подключены два эти устройства, причем устройство на ADM485 на срабатывает. Пробовали и без согласующих резисторов и с ними. В чем проблема?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Dec 17 2009, 11:10
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(DmitryDI @ Dec 16 2009, 19:35) *
В чем проблема?
Как подключена ADM2490E к линии RS485? Должны быть попарно соединены A с Y и B с Z. У вас так сделано?
Цитата(firstvald @ Dec 17 2009, 14:18) *
RS485 требует, на самом деле, дополнительной растяжки линий со стороны драйвера (Символьные протоколы иногда сдуру работают без этого, чисто байтовые - никогда(ну может только при передаче в одну сторону всегда и при условии что передатчик всегда занимает линию) ). Эти требования описаны в протоколе MODBUS (если заглянете на сайт modbus.org, то документ modbus over serial line, так кажется документ называется).
Не грузите других ложными сведениями! "Растяжка" линий RS485 не является необходимым атрибутом ни интерфейса, ни RTU-ных протоколов. Даже MODBUS. Целостность передачи пакета обеспечивается необходимыми временными паузами до начала передачи и после окончания передачи пакета. Процедура такая
а) исходно трансиверы RS485 всех узлов находятся в режиме приема
б) трансивер RS485 передающего узла включается на передачу
в) выдерживается пауза на время установления переходного процесса в линии RS485
г) идет передача пакета
д) не выключая передатчика RS485, выдерживается пауза, необходимая для детектирования приемниками других узлов конца пакета
е) трансивер RS485 переключается в режим приема
И никаких растяжек при этом не требуется wink.gif
Go to the top of the page
 
+Quote Post
firstvald
сообщение Dec 17 2009, 12:12
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 580
Регистрация: 3-06-08
Пользователь №: 38 041



Цитата(rezident @ Dec 17 2009, 14:10) *
Как подключена ADM2490E к линии RS485? Должны быть попарно соединены A с Y и B с Z. У вас так сделано?
Не грузите других ложными сведениями! "Растяжка" линий RS485 не является необходимым атрибутом ни интерфейса, ни RTU-ных протоколов. Даже MODBUS.


Читать стандарт. Смотреть на мекете. И не вводить в заблуждение других.


Цитата(Harbinger @ Dec 17 2009, 14:24) *
Растяжки требуются (не всегда), чтобы избежать состояния break (ноль на RXD) в паузах (когда все трансиверы стоят на приёме).


Растяжки нужны в общем случае всегда. Иначе, даже на символьном протоколе, в том случае, если перед посылкой не выдаются несколько фиктивных байт, UART приемника может не понять первого байта из-за того, что при занятии линии передатчиком в линии может быть все что угодно. Я уже указал, что без растяжек теоретически можно обойтись, если драйвер все время занимает линию. Но, на практике стандарты modbus и profibus, использующие RS485, требуют растяжки (поляризации). В profibus даже требуется поляризация как на передающем, так и на удаленном конце линии.

Сообщение отредактировал firstvald - Dec 17 2009, 12:19
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 17 2009, 15:38
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(firstvald @ Dec 17 2009, 17:12) *
Читать стандарт. Смотреть на мекете. И не вводить в заблуждение других.
Хотите прослыть самым просвещенным, тогда прочитайте раздел 3.4.6 Line Polarization и дайте цитатку, где написано что растяжка не просто желательна (чтобы не ловить мусор с линии), а именно обязательна для применения. Причем обязательна для каждого узла, а не желательна для всей сети в целом.
Цитата(firstvald @ Dec 17 2009, 17:12) *
Растяжки нужны в общем случае всегда.
В общем случае растяжка лишь слегка облегчает жизнь программисту, но при этом ухудшает балансировку (волновое согласование) линии и устойчивость к синфазным помехам (особенно на длинных дистанциях). А также уменьшает надежность узла приемопередатчика, т.к. требует коммутации (конфигурации) каждого узла в отдельности. Т.е. это "костыль" для программиста, а не обязательное требование стандарта (EIA/TIA-485-A).
Цитата(firstvald @ Dec 17 2009, 17:12) *
Я уже указал, что без растяжек теоретически можно обойтись, если драйвер все время занимает линию.
В своем сообщении #3 я указал алгоритм управления драйвером RS485 при котором растяжка не требуется. Более того, я настаиваю, что любой алгоритм передачи в сети RS485 должен учитывать эти паузы, а софт должен сразу подразумевать настраиваемые таймауты. Мы неоднократно уже сталкивались с тем, что сторонним разработчиком приходилось "допиливать" свой софт, добавляя эти задержки. Особенно в тех случаях, когда софт изначально разрабатывался и тестировался для RS-232, а потом просто в схеме трансивер RS232 заменялся на трансивер RS485 (или ставился в дополнение к первому).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- DmitryDI   ADM485 и ADM2490E в параллель не работают   Dec 16 2009, 14:35
- - firstvald   Цитата(DmitryDI @ Dec 16 2009, 17:35) Воз...   Dec 17 2009, 09:18
|- - DmitryDI   Цитата(rezident @ Dec 17 2009, 14:10) Как...   Dec 17 2009, 11:29
- - Harbinger   Растяжки требуются (не всегда), чтобы избежать сос...   Dec 17 2009, 11:24
- - firstvald   Так потому и приходится допиливать софт, что вы св...   Dec 17 2009, 16:27
- - @Ark   ЦитатаВ общем случае растяжка лишь слегка облегчае...   Dec 17 2009, 17:02
|- - rezident   Цитата(firstvald @ Dec 17 2009, 21:27) Та...   Dec 17 2009, 18:10
|- - Harbinger   Цитата(@Ark @ Dec 17 2009, 19:02) 2) Возм...   Dec 17 2009, 20:06
- - @Ark   Цитата... нужно так проектировать устройство, чтоб...   Dec 17 2009, 18:23
|- - rezident   Цитата(@Ark @ Dec 17 2009, 23:23) Нет, не...   Dec 17 2009, 19:08
- - @Ark   ЦитатаИ я почему-то не очень удивляюсь такому прин...   Dec 17 2009, 19:54
|- - rezident   Цитата(@Ark @ Dec 18 2009, 00:54) В идеал...   Dec 18 2009, 16:19
- - @Ark   Цитата... Чтобы софт "ничего не заметил...   Dec 18 2009, 18:56
|- - rezident   Цитата(@Ark @ Dec 18 2009, 23:56) Конечно...   Dec 18 2009, 19:08
- - @Ark   ЦитатаОтнюдь! Софтовая настройка/адаптация име...   Dec 18 2009, 19:15
|- - rezident   Цитата(@Ark @ Dec 19 2009, 00:15) Так я и...   Dec 18 2009, 19:32
- - @Ark   ЦитатаЯ вашу терминологию видимо не совсем понимаю...   Dec 18 2009, 19:50
- - rezident   Универсальный - подходящий ко всем случаям. Если ч...   Dec 18 2009, 20:04
- - @Ark   ЦитатаИ вообще предлагаю закончить обсуждение. Топ...   Dec 18 2009, 20:25


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 12:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01417 секунд с 7
ELECTRONIX ©2004-2016