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

 
 
> Анализ протокола обмена
Andyg
сообщение Sep 14 2009, 20:01
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 14-09-09
Пользователь №: 52 362



Анализирую протокол обмена между двуя устройствами (ГУ и CD ченджер). Устройства общаются по RS232 : 2 линии RX TX, 8 битов данных, нет четности, 1 стоп бит, скорость сначала 4800 , затем переключаются на 9600.
Подключил линии к 2 Com портам компьютера и снял дамп байтов. В принципе даже некоторые цепочки байтов- команды начал понимать.
Прицип общения ГУ посылает байт ченджер повторяет байт и я предполагаю наоборот ченджер посылает байт и ГУ повторяет.

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

Пробовал програмно фиксировать время отправки байта и ответа на него. Программу написал на Delphi, время указывается с точностью до сотен миллисекунд. Получается что время оправки и ответа совпадают. Как точность времени фиксации увеличить?

Что можно использовать? Логический анализатор? Осцилограф? ??

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
BigRed
сообщение Sep 15 2009, 02:09
Сообщение #2


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

Группа: Свой
Сообщений: 82
Регистрация: 16-12-05
Из: Екатеринбург
Пользователь №: 12 302



Есть много программ для прослушивания различных портов. Фиксируют время с большой точностью. Поищите в сети, например, portmon98.
Go to the top of the page
 
+Quote Post
Andyg
сообщение Sep 15 2009, 07:00
Сообщение #3





Группа: Новичок
Сообщений: 2
Регистрация: 14-09-09
Пользователь №: 52 362



Спасибо,

Но в том то и беда что все программы выводят лог приблизительно одинакового формата

моя прога

COM1 RX COM2 RX
ГУ CDC
sec.msec Byte

22.546 80 22.531 80
22.546 AD 22.531 AD
22.578 4F
22.578 80 22.578 80
22.625 48 22.578 48
22.625 01 22.625 01
22.656 4F
22.656 0F 22.656 0F
22.703 48 22.656 48
22.703 01 22.656 01
22.718 4F 22.703 4F
22.718 80 22.703 80
22.765 48 22.718 48
22.765 02 22.718 02
22.812 4F

Com port Toolkit

000001 10:47:45.421 80 Ђ 000001 10:47:45.421 80 Ђ
000002 10:47:45.421 AD ­ 000002 10:47:45.421 AD ­
000003 10:47:45.421 4F O
000004 10:47:45.453 80 Ђ 000003 10:47:45.453 80 Ђ
000005 10:47:45.453 48 H 000004 10:47:45.453 48 H
000006 10:47:45.453 01 . 000005 10:47:45.453 01 .
000007 10:47:45.453 4F O
000008 10:47:45.515 0F . 000006 10:47:45.515 0F .
000009 10:47:45.515 48 H 000007 10:47:45.515 48 H
000010 10:47:45.515 01 . 000008 10:47:45.515 01 .
000011 10:47:45.515 4F O 000009 10:47:45.515 4F O
000012 10:47:45.531 80 Ђ 000010 10:47:45.531 80 Ђ
000013 10:47:45.531 48 H 000011 10:47:45.531 48 H
000014 10:47:45.531 02 . 000012 10:47:45.531 02 .
000015 10:47:45.531 4F O

Advanced Serial Port Monitor
COM1 ГУ
<20090915102139.859 RX>
#80#AD#4F
<20090915102139.906 RX>
#80#48#01#4F
<20090915102139.953 RX>
#0F#48#01#4F
<20090915102139.984 RX>
#80#48#02#4F

COM2 CDC
<20090915102139.859 RX>
#80#AD
<20090915102139.906 RX>
#80#48#01
<20090915102139.953 RX>
#0F#48#01#4F
<20090915102139.984 RX>
#80#48#02

Portmon почему то не заработал. Может не смог настроить.

Как узнать направление передачи того или иного байта никак в голову не возьму.
Go to the top of the page
 
+Quote Post
dimitryl
сообщение Sep 15 2009, 09:05
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 13-11-05
Пользователь №: 10 786



можно попробовать HHD Software Serial Monitor Pro - позволяет воткнуться между двумя устройствами и проанализировать кто что передает.
хм... если используется 2 ком порта чтоб снимать протокол - все просто:
rx - прием, tx - передача
если ком1 подключен на линию rx CD-ченджера - это прием от управляещего устройства, тогда ком2 - ответы ченджера

Сообщение отредактировал dimitryl - Sep 15 2009, 09:15
Go to the top of the page
 
+Quote Post

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

 


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


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