Преобразование сигналов UART в RS485
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Anemos 01 апреля 2004 г. 16:24

Суть проблемы:
Разрабатывается функцийональный блок, осуществляющий преобразование сигналов RxD и TxD UART микроконтроллера в RS485. Микроконтроллер является внешним по отношению к модулю, причем доступны ТОЛЬКО линии RxD и TxD, которые и приходят на входной разъем разрабатываемого модуля. Выбран драйвер 485-го интерфейса - MAX1483. Проблема в том, что драйвер работает в полудуплексном режиме и требует наличия сигнала управления направлением передачи информации (прием или передача). Простенький микроконтроллер в схему включать более чем нежелательно, да, чувствую, что и без него обойтись вполне возможно.
Специфика функционального блока такова, что его нормальное состояние - прием информаци ("слушает" линию). Следовательно, нужно своевременно детектировать момент начала передачи и переключить драйвер на передачу, избежав при потери полезной информации (т.е. в самом начале СТАРТ-бита первого байта передаваемого пакета).
Сейчас рассматривается вариант решения, построенный по такой схеме:

Tx->Одновибратор->Вход управления направлением передачи драйвера

Одновибратор "запускается" по перепаду "1" - "0", соответствующему началу СТАРТ-бита и вырабатывает импульс нужной полярности (переводящий драйвер в режим передачи) в течение времени, достаточной для посылки пакета максимального объема.
Что скажете? Может есть какие-то другие решения?
К тому же мне очень не нравится привязка к максимальному объему передаваемого пакета - если пакет имеет меньшую длительность, то возникаю необоснованные потери времени.
Что посоветуете?

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru