rezident (14.11.2012 17:57 - 18:02, просмотров: 260) ответил sin на Вы где нибудь видели в природе репитеры RS485? Вопрос без всякого подвоха и претензий, просто не понятен алгоритм определения направления передачи в данном девайсе, универсальный и работающий при любом протоколе (не только для MODBUS RTU). Я
Конечно. Я сам там такой разрабатывал 6+ лет назад. Мы производим их мелкой серией. Устройство выполняет функции конвертера RS232<->2*RS485 и репитера RS485<->RS485. Алгоритм такой. Исходно все трансиверы RS485 на приеме, RS232 естественно тоже. По перепаду входного сигнала на любом входе этот вход становится ведущим. Сигнал с него транслируется на два других. Причем трансивер RS485 переключается на передачу сразу же, но сигнал с него выдается в линию с задержкой. Каждый перепад входного сигнала на ведущем входе перезапускает таймер, управляющий выходными трансиверами. В исходное состояние устройство переходит после паузы в сигнале на ведущем входе. Паузы и задержки зависят от baudrate и типа протокола. Для обычного протокола паузы и задержки выбраны 1,5*11 битовых интервалов. Для RTU-ных протоколов 3,5*11 битовых интервалов. Таким образом задержка переключения в зависимости от кода последнего переданного байта может достигать до 1,5*(11+8) и до 3,5*(11+8) битовых интервалов соответственно. Пауза/задержка не менее 3,5 символов для RTU-ных протоколах позволяет сохранить целостность пакета, исключив переключения трансивера конвертера во время его трансляции. А также корректно позволяет перезапустить прием пакета, если было ложное детектирование его начала во время переходного процесса при переключении трансивера RS485.