ЗАО «ЗЭО»

Техническая поддержка пользователей => Тион-Про28, Орион28 => Тема начата: Сергей 16 RUS от 19 Декабря, 2012, 18:39:27

Название: RS485
Отправлено: Сергей 16 RUS от 19 Декабря, 2012, 18:39:27
Добрый день!
Тион28, тестовый обрах WinCE с Вашего сайта.
Пытаемся наладить приемо-передачу с 485 интерфейсом. Шлем данные по UART (COM3) непосредственно на SP485 (DA8), данные приходят, но микросхема не отправляет данные. В зависимости от состояния управляющих сигналов на входе данной микросхемы (SHDN и RE)  либо нет реакции, либо SHDN проседает до 0 при попытке записи данных. (см. скриншот)
(http://www.tehsmart.ru/1.BMP)

Просьба помочь разобраться с комбинацией управляющих сигналов.
Название: Re: RS485
Отправлено: Danila от 19 Декабря, 2012, 20:44:02
Добрый день.

HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM3\Mode=2 ?

Желтый сигнал - на ножке 3 микросхемы DA8?  Вообще, он должен быть инвертирован, логическая 1 - разрешение передачи. И менять уровень должен до начала передачи.

Образ WinCE записан последний?
Название: Re: RS485
Отправлено: Сергей 16 RUS от 20 Декабря, 2012, 08:25:05
Собственно вот где собака зарыта.
HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM3\Mode =  0. Информации об этом разделе реестра не нашел в документации. По умолчанию в образе стоял 0. В этом режиме как раз таки при начале передачи данных 3 ножка микросхемы DA8 становилась в 0 (что и показанно на скриншоте). Собственно выставив ключ реестра передача заработала.
Название: Re: RS485
Отправлено: Danila от 21 Декабря, 2012, 12:19:52
Информация о настройке портов есть тут: интерфейсы (http://www.zao-zeo.ru/dokuwiki/doku.php/tion-pro28#интерфейсы)
Название: Re: RS485
Отправлено: Сергей 16 RUS от 25 Декабря, 2012, 14:44:00
Управляет ли ТИОН направлением приемо-передачи сам, или необходимо PORT1_485_OFF (GPIO 77) дергать вручную перед записью данных?

Данная ножка постоянно находится в 1 состоянии, после отправки данных по UART, становится в 0 примерно на 40 мс, затем возвращается в исходное состояние.
Название: Re: RS485
Отправлено: Danila от 25 Декабря, 2012, 15:14:42
Управление автоматическое. В режиме Mode=2 сигнал PORT1_485_OFF переходит в состояние 1 на время передачи, затем опускается в 0.
Название: Re: RS485
Отправлено: Сергей 16 RUS от 25 Декабря, 2012, 19:55:05
1 проблему так и могу решить.
Старший бит в байте ответа при считывании из буффера чтения последовательного порта всегда в 1. Доступно объясняя: отправь ты 1 или 129 (отправка идет с МК) считается всегда 129, хотя осцилограмма данных посылок разная и соответствует отправленным данным, проблема именно в чтении. Данной проблемы не было работая напрямую (uart без 485), подключив же 485 с обоих сторон проявилась. Проблема не зависит от настроек порта, скорости чтения и т. п.
Название: Re: RS485
Отправлено: Danila от 25 Декабря, 2012, 20:35:49
Правильно ли я понял: при приеме данных по RS-485 Тионом (в реестре Mode=2), старший бит принятого байта всегда равен 1? На осциллограмме при этом все правильно?
Название: Re: RS485
Отправлено: Сергей 16 RUS от 26 Декабря, 2012, 08:13:56
Да вы все правильно поняли.
В реестре mode=2. На осциллограме снятой с ножки RO микросхемы sp485 установленной на ТИОНЕ данные идут верные. Старший бит именно при чтении с буфера порта.
Название: Re: RS485
Отправлено: Danila от 26 Декабря, 2012, 14:23:00
Проверил прием по RS-485. Данные пришли без ошибок.
Попробуйте увеличить время между посылками.