Перейти к содержанию
    

RS-485 управление передатчиком.

Пытался подключиться к счётчикам Меркурий 206RN (c 485 интерфейсом). И понимаю что не так управляю передатчиком.

Использовал разные микросхемы ADM485, MAX487, SN65HVD3082EP. Получил одну и ту же картину (во вложении).

Сначала RE установил в 0, а DE установил в 1. Когда в голову ничего не приходило разобрал счётчик и увидел, что RE и DE установлены в 0. Установил так, но так вообще обмена не стало. А и В выравнялись на уровне 2.5 В.

Как надо правильно управлять передатчиком? На время передачи DE в 1, а после передачи устанавливать в 0? Можно его включить в режим передатчика и приёмника одновременно?

Длина линии 0.5м. Терминаторы и ставил и убирал и резисторы подтяжки ставил/убирал.

post-16819-1387791315_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

DE и RE внутри чипа приемопередатчика обычно инверсны, поэтому надо управлять обеими ногами сразу соединив их вместе, что и сделано в счетчике.

Изменено пользователем vadimp61

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. объединить RE и DE и этим управлять? Во время передачи 1, а на время приёма 0?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. объединить RE и DE и этим управлять? Во время передачи 1, а на время приёма 0?

 

либо приёмник включён постоянно - для возможности контроля выхода. но тогда софтверно разгребать, либо запрещать когда штатный режим.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

для возможности контроля выхода
Не только.

Есть ещё такая кака, что при включении передачи, выход драйвера дёргается, и приёмник МК воспринимает это, как стартовый бит, со всеми вытекающими.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А еще бывает, что нет флага окончания передачи (опустошения сдвигового регистра) и тогда отследить окончание своей передачи можно только приняв собственный пакет (или таймаут).

Так же контроль за выходом позволяет вовремя прекратить передачу когда два устройства лезут в линию одновременно.

А с ложным стартовым битом мы боролись, выдавая для синхронизации первым символом 0xFF.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Победил я этот интерфейс. RE всегда в 0. DE управляю. Пробовал выставлять его в 0 в следующем прерывании передатчика (опустошение буфера), оказалось рано. Измерил длительность передачи и начало ответа. И теперь выставляю его в 0 после 10 мс от начала передачи пакета (скорость 9600). А эхо мне не мешает.

 

P.S. CAN всё таки лучше. Там не надо управлять передатчиком.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...