Форум Микро-Чип

Форум Микро-Чип (http://www.microchip.su/index.php)
-   Cетевые протоколы и технологии (http://www.microchip.su/forumdisplay.php?f=20)
-   -   Обмен по RS-485 (http://www.microchip.su/showthread.php?t=704)

an-sver 18.05.2007 11:13

Обмен по RS-485
 
Поступила задача реализовать протокол обмена между мастером и датчиками по RS-485. Дело для меня новое. В сети и на форумах все рекомендуют использовать "временые ворота" для приема и передачи. Но это как-то сложновато в процессе отладки (отлаживать хочется через терминалку ПК).
Я хочу попробовать вести обмен сообщениями фиксированной длинны в ASII -кодах.
старт-символ/адрес датчика/команда/данные/стоп-символ.

Единственные временные ворота - по получению ответа от датчика (чтоб не зависало на неработающем датчике). Соответственно по старту все ждут адрес, и далее счетчик отсчитывает порядковый номер байта и сравнивает его с ожидаемыми (если что-то особое (из-за помехи например - сброс счетчика).
По сбросу счетчик на всех датчиках обнуляется и все опять ждут старта. Работает все это через встроенный USART через прерывания. (чтобы можно было выполнять еще кое что).

Кто-нибудь так делал? Вроде в теории все должно работать....
Может у кого есть опыт подобного решения.
Какие могут быть "фичи" в таком упрощенном протоколе.:cool:

Greg 18.05.2007 12:22

Re: Обмен по RS-485
 
Цитата:

Сообщение от an-sver (Сообщение 5280)
Поступила задача реализовать протокол обмена между мастером и датчиками по RS-485. Дело для меня новое. В сети и на форумах все рекомендуют использовать "временые ворота" для приема и передачи. Но это как-то сложновато в процессе отладки (отлаживать хочется через терминалку ПК).
Я хочу попробовать вести обмен сообщениями фиксированной длинны в ASII -кодах.
старт-символ/адрес датчика/команда/данные/стоп-символ.

посмотри как это делается в коробочках типа этих
http://www.ipc2u.com/catalog/Q/Q7/

дубовый такой текстовый протокол (стандарт де-факто)
http://f.ipc2u.com/files/add/doc/642/7000dio.pdf

фиксированный длины не надо, а отлаживаться будешь через терминалку

timday 18.05.2007 13:28

Re: Обмен по RS-485
 
RS485 - интерфейс. А насчет протокола, то более подходящего чем Modbus придумать не могу...

an-sver 18.05.2007 16:42

Re: Обмен по RS-485
 
Спасибо Greg. Действительно просто, нужно только контроль (CRC) добавить.
А то MODBUS слишком сложен для моей простой задачи..
Да и отлаживать сложновато будет.

Greg 18.05.2007 16:53

Re: Обмен по RS-485
 
Цитата:

Сообщение от an-sver (Сообщение 5303)
Спасибо Greg. Действительно просто, нужно только контроль (CRC) добавить.

СRC там есть (предусмотрен)

Это расширенная версия адвантековского протокола
http://www.advantech.com/products/Su...I55L&BU=EA&PD=

главное - простота отладки.


Часовой пояс GMT +3, время: 02:52.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot