реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Непонятная работа RS-485
Dootch
сообщение May 19 2016, 07:59
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 76
Регистрация: 12-02-10
Из: Хабаровск
Пользователь №: 55 441



Добрый день.
Для работы нами используется плата CP-114IS-DB9M.
Анализ осциллограмм передачи данных по двухпроводному интерфейсу RS-485 выявил странное поведение устройства.
Перед работой плата в соответствии с руководством пользователя была настроена следующим образом:
- перемычки JP5/6 установлены в положение "Слева" (Интерфейс порта RS-422/485);
- переключатели SW1 для всех четырех портов установлены в положение ON (Интерфейс порта - RS-485);
- переключатели SW2 для всех четырех портов установлены в положение ON (Автоматический контроль направления передачи данных для RS-485);
- переключатели терминального резистора JP1/2/3/4 для всех портов установлены в положение ON.

На персональном компьютере установлены последние драйвера на плату с сайта http://www.moxa.com/.
Также с сайта загружена и установлена программа PComm Lite Ver 1.6.
С помощью утилиты PComm Terminal Emulator осуществлялась посылка байта по шине RS-485. Ниже приведена осциллограмма. Осциллограмма показывает изменение напряжения между линиями A и B.
Как видно из рисунков перед началом передачи шина находится в Z состоянии, далее поступает стартовый бит. После стартового бита поступает 8 бит данных и стоповый бит. Переход в состояние логического нуля происходит корректно и шина находится в этом состоянии в течении времени определяемого скоростью передачи (в данном случае 57600 бод). Переход в состояние логической единицы осуществляется корректно, но не выдерживается нужное время. Шина переключается в единицу на постоянное короткое время (соответствующее скорости передачи 921600 бод) после чего переходит в Z состояние до того, как нужно будет переключиться в логический ноль. Вторая единица следующая за единицей не проявляется и соответствует Z состоянию.
Из за такой работы интерфейса становится невозможным корректный прием данных нашими устройствами на длинных линиях. На коротких отрезках все работает нормально, с точки зрения обмена.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 19 2016, 12:07
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Так ведут себя устройства с автоматическим переключением направления. Этот активный импульс в начале единицы нужен для перезарядки емкости линии. Все остальное время уровень единицы должен удерживаться резисторами растяжки линии (подтяжка линии A к +5 В и линии B к земле). Возможно на вашей шине этих резисторов нет и поэтому вы наблюдаете такую картину. Попробуйте добавить резисторы, все должно заработать.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01339 секунд с 7
ELECTRONIX ©2004-2016