Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: RS-485 управление передатчиком.
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
KARLSON
Пытался подключиться к счётчикам Меркурий 206RN (c 485 интерфейсом). И понимаю что не так управляю передатчиком.
Использовал разные микросхемы ADM485, MAX487, SN65HVD3082EP. Получил одну и ту же картину (во вложении).
Сначала RE установил в 0, а DE установил в 1. Когда в голову ничего не приходило разобрал счётчик и увидел, что RE и DE установлены в 0. Установил так, но так вообще обмена не стало. А и В выравнялись на уровне 2.5 В.
Как надо правильно управлять передатчиком? На время передачи DE в 1, а после передачи устанавливать в 0? Можно его включить в режим передатчика и приёмника одновременно?
Длина линии 0.5м. Терминаторы и ставил и убирал и резисторы подтяжки ставил/убирал.
vadimp61
DE и RE внутри чипа приемопередатчика обычно инверсны, поэтому надо управлять обеими ногами сразу соединив их вместе, что и сделано в счетчике.
KARLSON
Т.е. объединить RE и DE и этим управлять? Во время передачи 1, а на время приёма 0?
kolobok0
Цитата(KARLSON @ Dec 23 2013, 14:23) *
Т.е. объединить RE и DE и этим управлять? Во время передачи 1, а на время приёма 0?


либо приёмник включён постоянно - для возможности контроля выхода. но тогда софтверно разгребать, либо запрещать когда штатный режим.
Smen
Цитата(kolobok0 @ Dec 23 2013, 14:28) *
для возможности контроля выхода
Не только.
Есть ещё такая кака, что при включении передачи, выход драйвера дёргается, и приёмник МК воспринимает это, как стартовый бит, со всеми вытекающими.
редактор
А еще бывает, что нет флага окончания передачи (опустошения сдвигового регистра) и тогда отследить окончание своей передачи можно только приняв собственный пакет (или таймаут).
Так же контроль за выходом позволяет вовремя прекратить передачу когда два устройства лезут в линию одновременно.
А с ложным стартовым битом мы боролись, выдавая для синхронизации первым символом 0xFF.
KARLSON
Победил я этот интерфейс. RE всегда в 0. DE управляю. Пробовал выставлять его в 0 в следующем прерывании передатчика (опустошение буфера), оказалось рано. Измерил длительность передачи и начало ответа. И теперь выставляю его в 0 после 10 мс от начала передачи пакета (скорость 9600). А эхо мне не мешает.

P.S. CAN всё таки лучше. Там не надо управлять передатчиком.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.