Короткий обзор модуля преобразователя интерфейса USB в RS-485.
Удобный, миниатюрный модуль, позволяющий подключать компьютер непосредственно к сети RS-485. На Али Экспресс стоит всего 52 руб.
Интерфейс RS-485 один из самых распространенных стандартов для организации малых сетей. Я описывал его подробно в одном из уроков Ардуино.
В сетях RS-485 используется дифференциальный способ передачи данных. Подключение сети к модулю происходит через клеммную колодку с двумя дифференциальными сигналами A (D+) и B (D-).
Сам модуль подключается к компьютеру через стандартный USB порт.
Модуль преобразователя USB / RS-485 состоит из двух узлов:
- конвертер интерфейсов USB / UART CH340;
- приемопередатчик (драйвер) RS-485 MAX485.
Вот принципиальная схема модуля USB / RS-485.
При организации сетей RS-485 одна из главных проблем – управление передатчиком. У передатчика есть сигнал DE, который разрешает его работу. Всегда в сети должен быть активным только один передатчик. Иначе произойдет замыкание выходных сигналов.
Обычно коммутация сигналов при обмене происходит следующим образом.
- Все ведомые устройства отключают передатчики и прослушивают сеть.
- Ведущее устройство включает свой передатчик и передает запрос данных к конкретному ведомому устройству.
- После окончания передачи запроса ведущее устройство отключает передатчик и ждет ответных данных от ведомого устройства.
- Ведомое устройство включает передатчик, передает данные и отключает передатчик.
Такая коммутация состояний передатчиков требует детального контроля передаваемых данных. Недостаточно загрузить в буфер UART байт. Надо дождаться передачи последнего бита и только после этого отключить свой передатчик.
Разработчики модуля USB / RS-485 решили проблему просто. Передатчик включается только при активном (низком) уровне выходного сигнала UART. Сигнал с выхода TxD инвертируется на транзисторном ключе Q1 и поступает на вход управления передатчиком DE.
При высоком уровне на выходе TxD передатчик отключен. Состояние дифференциальных сигналов сети в этот момент (логическая 1) поддерживается за счет резисторов R3 и R5.
Таким образом, нет необходимости контролировать передачу каждого байта и программно формировать сигнал управления приемопередатчиком.
Вот как выглядит модуль со снятой крышкой.
Резистор-теминатор R7 на плате не установлен.
Модуль эмулирует работу стандартного COM-порта. На компьютер устанавливается драйвер конвертера интерфейсов CH340. При каждом подключении модуля USB / RS-485 к порту компьютера в системе появляется виртуальный COM-порт, через который можно передавать и принимать данные.
Подробно о принципе работы преобразователя интерфейсов CH340 и об установке его драйвера можно посмотреть по этой ссылке. Вся информации верна и для модуля USB / RS-485.
На мой взгляд, модуль сделан удачно. У меня самые хорошие отзывы о работе с ним.