Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Переключение каналов RS485
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам
J-t
Необходимость реализовать задачу:
Есть 32 сети RS485, к которым подключено по 128 адресуемых устройств. Есть компьютер, который необходимо подключать последовательно к каждой сети и проводить опрос устройств.
Есть идея сделать 33-ю сеть, состоящую из двух устройств: компьютер и микроконтроллер, компьютер формирует и передает команду на адрес контроллера о переключении к следующей сети, микроконтроллер подключает сеть 33 к одной из сети 1-32 и отправляет ответ компьютеру о выполнении, после компьютер опрашивает устройства этой сети и дает команду на подключение к следующей и так далее.
Вопрос в том, чем коммутировать сети и как правильно ее построить.
Прошу помочь.
KRS
для мультиплексора поставить 32 драйвера 485 и все RO подсоеденить к RX, а DI к TX. Выбор нужного драйвера производится с помощью DE ~RE т.е нужно или 64 ноги или мультиплексоры (вернее демультиплексоры).

а вот к PC контроллер лучше дуплексом подключить RS232 или RS422 ( взять контроллер с 2 UART один для сетей 485, второй для свзяи с PC)
или вообще другим интерфейсом ethernet, usb....
J-t
Цитата(KRS @ May 14 2008, 10:50) *
для мультиплексора поставить 32 драйвера 485 и все RO подсоеденить к RX, а DI к TX. Выбор нужного драйвера производится с помощью DE ~RE т.е нужно или 64 ноги или мультиплексоры (вернее демультиплексоры).

а вот к PC контроллер лучше дуплексом подключить RS232 или RS422 ( взять контроллер с 2 UART один для сетей 485, второй для свзяи с PC)
или вообще другим интерфейсом ethernet, usb....



А DE и RE это управление мультиплексором, правильно понимаю?

И еше одно: Драйвер 485 производит "преобразование" TTL/485 и наоборот, то есть что бы применить драйверы нужно с ПК преобразовать в TTL затем обратно. Не очень удобно.

Первоначально задача: опрашивать 4100 устройств, передающие данные по 485. но так как адресное слово-8 бит, а сеть 485 до 128 (в среднем) устройств, то было предложено разбить на 32 подсети и коммутировать. Может еще какой вариант есть?
KRS
Цитата(J-t @ May 14 2008, 13:33) *
А DE и RE это управление мультиплексором, правильно понимаю?

нет это управление драйвером 485 DE - drive output enable, ~RE - Receiver Output Enable
т.е. надо 32 ноги для выбора какой из драйверов осуществляет передачу ( одна из них должна быть 1)
и 32 ноги для выбора RO какго драйвера подключено к RX (все кроме одной должны быть в 1). Т.к часто 64 свобожных ноги найти проблематично можно использовать демультиплексор или декодер.
Например для выбора 3 ногами 1 из 8 ми DE можно использовать 74HC238, а для ~RE нужна 7HC138 (инверсная) к тому же у 74HC есть enable поэтому их можно группировать....

Цитата(J-t @ May 14 2008, 13:33) *
Первоначально задача: опрашивать 4100 устройств, передающие данные по 485. но так как адресное слово-8 бит, а сеть 485 до 128 (в среднем) устройств, то было предложено разбить на 32 подсети и коммутировать. Может еще какой вариант есть?

Есть еще физические ограничения - на длину линии и количество устройств.
Стандартно у RS485 на одной линии не должно быть больше 32 устройств!!! Но есть современные драйверы которые теоретически позволяют и большею

К тому же у вса получается одна логическая сеть - т.е. комп полудуплексом поочереди опрашивает 4100 устройств - поситчайте за какое время он их все опросит...

Тут как минимум надо ставить на каждую подсеть свой контроллер и что бы эти контроллеры общались с компом одновременно по быстрому интерфейсу.
J-t
Вы могли бы набросать блок схему такого устройства. Или схему приципиальную, если не затруднит.
Мне не приходилось работать с usb, а другим способом не представляю как сконектить 32 микроконтроллера и комп. Ethernet не рентабельно.



Если вернуться к схема с драйверами и мультиплексорами, какие подводные камни могут быть и на сколько она стабильна в работе.
И еще как развязать команды к микроконтроллеру и команды опроса устройств если в компе только один сом порт?
rezident
J-t, а вы просчитывали производительность такой системы, которую вы хотите замутить? Последовательный опрос 4 тысяч устройств даже на скорости 11500 выльется по самым грубым подсчетам в периодичность порядка 1 минуты. Вас устроит такой период опроса? Не лучше ли взять уже готовые платы PCI с 2-4 портами RS485 и опрос вести параллельно, без такого монстроидального коммутатора подсетей? Для увеличения количества абонентов подключенных к одному порту RS485 компьютера, подсетки можно укрупнить с помощью репитеров RS485<->RS485, не превышая при этом допустимого количества приемопередатчиков RS485, подключенных к каждой ветке подсети.
KRS
Цитата(J-t @ May 14 2008, 15:54) *
Мне не приходилось работать с usb, а другим способом не представляю как сконектить 32 микроконтроллера и комп. Ethernet не рентабельно.

Мы для таких вещей используем CAN.
В данном случае обработку протокола 485 можно свалить на контроллер и посылать данные в PC по изменению или по запросу...

Цитата(J-t @ May 14 2008, 15:54) *
Если вернуться к схема с драйверами и мультиплексорами, какие подводные камни могут быть и на сколько она стабильна в работе.

Да она стабильна (я подключал 4 485 драйвера на один UART таким образом). вопрос в пропусконой способности например у вас 4 тысчи устройств, самый прим. случай адрес + 1 байт запрос + (время переключения направления ~ 1байт) + 1 байт ответ + переключение на след ~ 1 байт = 4 байта * 4000 = 16000 байт для самого примитивного опроса.

Цитата(J-t @ May 14 2008, 15:54) *
И еще как развязать команды к микроконтроллеру и команды опроса устройств если в компе только один сом порт?

обычно данные объеденяются в пакеты, в заголовке которого указывается куда посылать данные.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.