Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Делимся опытом Наступив на грабли - сообщи другим! Обмен опытом разработки и ремонта электронных устройств.

 
Опции темы
Непрочитано 09.01.2016, 14:58  
123ksn
Вид на жительство
 
Аватар для 123ksn
 
Регистрация: 09.10.2012
Сообщений: 332
Сказал спасибо: 124
Сказали Спасибо 71 раз(а) в 38 сообщении(ях)
123ksn на пути к лучшему
По умолчанию Как сохранить в одном файле "диалог" UART

Представте себе, что есть два устройства, которые общаются по UART (Rx, Tx) как базарные бабы, т.е. "говорят" одновременно. Этот "базар" протоколируется (логируется) логическим анализатором MicroLogic с управляющей программой Logic 1.1.15. На экране хорошо виден "базар". см рис 1

Но, например, мне надо выложить этот диалог на казусе. Выложить один экран не проблема. А если они 10, 20 секунд "общались"? Программа Logic 1.1.15 позволяет сохранить в текстовый файл информацию поканально. Т.е сохранить "диалог" в виде двух "монологов". Смотрите power on Rx MK.csv.txt и power on Tx MK.csv.txt (txt перед открытием файла лучше удалить)

Но тогда сложно понять кто первый начал "провоцировать". Если бы устройства общались по-джентельменски, т.е. по очереди, то можно было сигналы объединить на уровне схемы.
Уверен, что не я первый у кого возникла необходимость протоколирования "базара".
Гугл рассказал о куче логических анализаторов на базе COM и LPT портов с показом осциллограмм. Но нигде я не нашел возможности СОХРАНЯТЬ В ОДНОМ ТЕКСТОВОМ ФАЙЛЕ метки времени и несколько каналов информации.
Вопрос: Какая программа позволяет сохранить в одном текстовом файле ASCII-информацию с Rx, Tx и общую ось времени (метки времени). Или как вы решали подобную проблему?
Миниатюры:
Нажмите на изображение для увеличения
Название: alarm диалог 15F2K48 SIM300.jpg
Просмотров: 328
Размер:	159.8 Кб
ID:	86576  
Вложения:
Тип файла: txt power on Rx MK.csv.txt (6.6 Кб, 25 просмотров)
Тип файла: txt power on Tx MK.csv.txt (4.1 Кб, 23 просмотров)

Последний раз редактировалось 123ksn; 09.01.2016 в 15:06.
123ksn вне форума  
Непрочитано 09.01.2016, 15:44  
raxp
Почётный гражданин KAZUS.RU
 
Регистрация: 28.05.2010
Сообщений: 1,118
Сказал спасибо: 150
Сказали Спасибо 604 раз(а) в 310 сообщении(ях)
raxp на пути к лучшему
По умолчанию Re: Как сохранить в одном файле "диалог" UART

...любой сниффер портов позволяет логгировать весь обмен с временными метками, направлениями и настройками и после экспортировать в текстовый файл, portmon к примеру.

Цитата:
и несколько каналов информации.
о каких каналах речь? RX/TX и есть по сути два физических канала обмена одного порта.
__________________
Белорусский журнал «Радиолюбитель»
Youtube LaboratoryW
UR3QQJ

Последний раз редактировалось raxp; 09.01.2016 в 15:48.
raxp вне форума  
Непрочитано 09.01.2016, 16:42  
123ksn
Вид на жительство
 
Аватар для 123ksn
 
Регистрация: 09.10.2012
Сообщений: 332
Сказал спасибо: 124
Сказали Спасибо 71 раз(а) в 38 сообщении(ях)
123ksn на пути к лучшему
По умолчанию Re: Как сохранить в одном файле "диалог" UART

Сообщение от raxp Посмотреть сообщение
..любой сниффер портов позволяет логгировать весь обмен с временными метками
MicroLogic с управляющей программой Logic 1.1.15 по Вашему не "любой сниффер"?

Сообщение от raxp Посмотреть сообщение
portmon к примеру
Можно подробней?

Сообщение от raxp Посмотреть сообщение
о каких каналах речь? RX/TX и есть по сути два физических канала обмена одного порта
Я что не по-русски говорю? Прочитайте 1-й абзац еще раз.
123ksn вне форума  
Непрочитано 09.01.2016, 17:21  
raxp
Почётный гражданин KAZUS.RU
 
Регистрация: 28.05.2010
Сообщений: 1,118
Сказал спасибо: 150
Сказали Спасибо 604 раз(а) в 310 сообщении(ях)
raxp на пути к лучшему
По умолчанию Re: Как сохранить в одном файле "диалог" UART

Цитата:
MicroLogic с управляющей программой Logic 1.1.15 по Вашему не "любой сниффер"?
это прежде всего терминал, а не сниффер, и очень куцый, судя по выложенными вами логам.

Цитата:
Можно подробней?
сайт мелкософта знаком?
https://msdn.microsoft.com/en-us/library/bb896644.aspx

Цитата:
Кстати, если принятые данные посылать в таком же виде в текстовый файл, то получится бесформенная каша. Ведь часто байты собраны в группы, в пакеты, в которых может быть синхропоследовательность, адрес получателя, команда, и данные. Поэтому намного нагляднее, если в текстовом файле подобные пакеты будут сформированы в отдельные строки текста.
пример сниффа с монохроматора, каждый запрос-ответ-настройки отдельной строкой (с учетом склеивания или разбивки пакетов драйвером), в HEX отображении:
0 0.00000000 SerialPort Term IRP_MJ_CREATE Nmserial0 Options: Open
0 0.00065707 SUCCESS
1 0.00000000 SerialPort Term IOCTL_SERIAL_GET_PROPERTIES Nmserial0
1 0.00000168 SUCCESS
2 0.00000000 SerialPort Term IOCTL_SERIAL_GET_MODEMSTATUS Nmserial0
2 0.00000223 SUCCESS
3 0.00000000 SerialPort Term IOCTL_SERIAL_GET_BAUD_RATE Nmserial0
3 0.00000112 SUCCESS
4 0.00000000 SerialPort Term IOCTL_SERIAL_GET_LINE_CONTROL Nmserial0
4 0.00000084 SUCCESS
5 0.00000000 SerialPort Term IOCTL_SERIAL_GET_CHARS Nmserial0
5 0.00000112 SUCCESS
6 0.00000000 SerialPort Term IOCTL_SERIAL_GET_HANDFLOW Nmserial0
6 0.00000084 SUCCESS
7 0.00000000 SerialPort Term IOCTL_SERIAL_GET_BAUD_RATE Nmserial0
7 0.00000112 SUCCESS
8 0.00000000 SerialPort Term IOCTL_SERIAL_GET_LINE_CONTROL Nmserial0
8 0.00000084 SUCCESS
9 0.00000000 SerialPort Term IOCTL_SERIAL_GET_CHARS Nmserial0
9 0.00000084 SUCCESS
10 0.00000000 SerialPort Term IOCTL_SERIAL_GET_HANDFLOW Nmserial0
10 0.00000084 SUCCESS
11 0.00000000 SerialPort Term IOCTL_SERIAL_SET_BAUD_RATE Nmserial0 Rate: 19200
11 0.00000615 SUCCESS
12 0.00000000 SerialPort Term IOCTL_SERIAL_CLR_RTS Nmserial0
12 0.00000307 SUCCESS
13 0.00000000 SerialPort Term IOCTL_SERIAL_CLR_DTR Nmserial0
13 0.00000279 SUCCESS
14 0.00000000 SerialPort Term IOCTL_SERIAL_SET_LINE_CONTROL Nmserial0 StopBits: 1 Parity: NONE WordLength: 8
14 0.00000196 SUCCESS
15 0.00000000 SerialPort Term IOCTL_SERIAL_SET_CHAR Nmserial0 EOF:1a ERR:0 BRK:0 EVT:1a XON:11 XOFF:13
15 0.00000084 SUCCESS
16 0.00000000 SerialPort Term IOCTL_SERIAL_SET_HANDFLOW Nmserial0 Shake:0 Replace:0 XonLimit:1024 XoffLimit:1024
16 0.00000223 SUCCESS
17 0.00000000 SerialPort Term IOCTL_SERIAL_GET_BAUD_RATE Nmserial0
17 0.00000084 SUCCESS
18 0.00000000 SerialPort Term IOCTL_SERIAL_GET_LINE_CONTROL Nmserial0
18 0.00000084 SUCCESS
19 0.00000000 SerialPort Term IOCTL_SERIAL_GET_CHARS Nmserial0
19 0.00000084 SUCCESS
20 0.00000000 SerialPort Term IOCTL_SERIAL_GET_HANDFLOW Nmserial0
20 0.00000084 SUCCESS
21 0.00000000 SerialPort Term IOCTL_SERIAL_SET_BAUD_RATE Nmserial0 Rate: 19200
21 0.00000559 SUCCESS
22 0.00000000 SerialPort Term IOCTL_SERIAL_CLR_RTS Nmserial0
22 0.00000307 SUCCESS
23 0.00000000 SerialPort Term IOCTL_SERIAL_CLR_DTR Nmserial0
23 0.00000307 SUCCESS
24 0.00000000 SerialPort Term IOCTL_SERIAL_SET_LINE_CONTROL Nmserial0 StopBits: 1 Parity: NONE WordLength: 8
24 0.00000196 SUCCESS
25 0.00000000 SerialPort Term IOCTL_SERIAL_SET_CHAR Nmserial0 EOF:1a ERR:0 BRK:0 EVT:1a XON:11 XOFF:13
25 0.00000084 SUCCESS
26 0.00000000 SerialPort Term IOCTL_SERIAL_SET_HANDFLOW Nmserial0 Shake:0 Replace:0 XonLimit:1024 XoffLimit:1024
26 0.00000196 SUCCESS
27 0.00000000 SerialPort Term IOCTL_SERIAL_CLR_DTR Nmserial0
27 0.00000307 SUCCESS
28 0.00000000 SerialPort Term IOCTL_SERIAL_SET_TIMEOUTS Nmserial0 RI:-1 RM:-1 RC:100 WM:0 WC:100
28 0.00000112 SUCCESS
29 0.00000000 SerialPort Term IOCTL_SERIAL_SET_WAIT_MASK Nmserial0 Mask: RXCHAR RXFLAG CTS DSR RLSD BRK ERR RING
29 0.00000168 SUCCESS
30 0.00000000 SerialPort Term IOCTL_SERIAL_SET_QUEUE_SIZE Nmserial0 InSize: 4096 OutSize: 2048
30 0.00000140 SUCCESS
31 0.00000000 SerialPort Term IOCTL_SERIAL_WAIT_ON_MASK Nmserial0
32 0.00000000 SerialPort Term IOCTL_SERIAL_GET_MODEMSTATUS Nmserial0
32 0.00000279 SUCCESS
33 0.00000000 SerialPort Term IOCTL_SERIAL_GET_MODEMSTATUS Nmserial0
33 0.00000223 SUCCESS
34 0.00000000 SerialPort Term IOCTL_SERIAL_GET_MODEMSTATUS Nmserial0
34 0.00000223 SUCCESS
35 0.00000000 SerialPort Term IOCTL_SERIAL_PURGE Nmserial0 Purge: RXABORT RXCLEAR
35 0.00000363 SUCCESS
36 0.00000000 SerialPort Term IOCTL_SERIAL_PURGE Nmserial0 Purge: TXABORT TXCLEAR
36 0.00000112 SUCCESS
37 0.00000000 SerialPort Term IRP_MJ_WRITE Nmserial0 Length 5: 4C 8D 13 03 0D
...
44 0.00000000 SerialPort Term IRP_MJ_READ Nmserial0 Length 8
44 0.00000196 SUCCESS Length 8: 4C 8D 13 03 3A 30 34 20
41 0.00392452 SUCCESS
45 0.00000000 SerialPort Term IOCTL_SERIAL_GET_COMMSTATUS Nmserial0
45 0.00000168 SUCCESS
46 0.00000000 SerialPort Term IOCTL_SERIAL_WAIT_ON_MASK Nmserial0


Цитата:
Два канала в компьютер просто так не подашь, для этого надо два отдельных порта. А кто-нибудь видел сниффер, способный работать с двумя портами одновременно?
Portmon пресловутый может отслеживать несколько портов одновременно, хоть COM, хоть LPT. Но суть у топик-стартера не в этом. Лично я не усложняю то, что и так элементарно.

На пальцах поясняю:
1- если устройство с ПК общается (с ПО верхнего уровня), просто сниффер вклиниваем.
2- если устройство с устройством и шина не точка-точка, например RS-485, то садим параллельно на шину конвертор RS-485/RS-232/USB (кому что нравится) и любым терминалом (хоть системным гипертерминалом) подглядываем и сохраняем-пишем сразу в файл обмен.
3- если устройство с устройством точка-точка, то делаем прозрачную заглушку Port-to-Port (и неважно что это будет физически для ПК, то ли два железных RS-232, то ли USB через конверторы USB/COM и виртуальные COM-порты). Заглушка эта реализуется свободным и бесплатным ПО - виртуальным нуль-модемным кабелем com0com и на казусе неоднократно о нем упоминал. Этот нуль-модемный кабель соединяет два порта от двух устройств прозрачно. Далее по классике - или сниффером или с помощью возможностей того же com0com - hub4com, делаем ответвление от соединения точка-точка. Итого, устройство общается с устройством прозрачно, а мы подглядываем за действом или даже пересылаем по сети.

Пример http://raxp2.blogspot.com/2015/04/blog-post_35.html
__________________
Белорусский журнал «Радиолюбитель»
Youtube LaboratoryW
UR3QQJ
raxp вне форума  
Сказали "Спасибо" raxp
123ksn (09.01.2016)
Непрочитано 09.01.2016, 18:36  
123ksn
Вид на жительство
 
Аватар для 123ksn
 
Регистрация: 09.10.2012
Сообщений: 332
Сказал спасибо: 124
Сказали Спасибо 71 раз(а) в 38 сообщении(ях)
123ksn на пути к лучшему
По умолчанию Re: Как сохранить в одном файле "диалог" UART

Сообщение от raxp Посмотреть сообщение
это прежде всего терминал, а не сниффер, и очень куцый, судя по выложенными вами логам.
На вкус и цвет товарищей нет. Вполне возможно, что при Ваших возможностях он куцый терминал. Для меня - классный прибор. Остальные пусть решают сами https://www.saleae.com/

Сообщение от raxp Посмотреть сообщение
сайт мелкософта знаком?
Воспринимаю Ваш ответ как культурную посылку меня..... в сад. Не надо так делать. Я всего лишь Вас попросил конкретики. Ваша ссылка конкретики не добавила.

Сообщение от raxp Посмотреть сообщение
пример сниффа с монохроматора, каждый запрос-ответ-настройки отдельной строкой (с учетом склеивания или разбивки пакетов драйвером), в HEX отображении:
0 0.00000000 SerialPort Term IRP_MJ_CREATE Nmserial0 Options: Open
0 0.00065707 SUCCESS
1 0.00000000 SerialPort Term IOCTL_SERIAL_GET_PROPERTIES Nmserial0
1 0.00000168 SUCCESS
2 0.00000000 SerialPort Term IOCTL_SERIAL_GET_MODEMSTATUS Nmserial0
2 0.00000223 SUCCESS
3 0.00000000 SerialPort Term IOCTL_SERIAL_GET_BAUD_RATE Nmserial0
В вашем примере не видно, где информация с Rx, а где с Tx.

Сообщение от raxp Посмотреть сообщение
Portmon пресловутый может отслеживать несколько портов одновременно, хоть COM, хоть LPT
Не знал. Спасибо за информацию!

Сообщение от raxp Посмотреть сообщение
Но суть у топик-стартера не в этом.
Это точно.


Сообщение от raxp Посмотреть сообщение
На пальцах поясняю:
1- если устройство с ПК общается (с ПО верхнего уровня), просто сниффер вклиниваем.
2- если устройство с устройством и шина не точка-точка, например RS-485, то садим параллельно на шину конвертор RS-485/RS-232/USB (кому что нравится) и любым терминалом (хоть системным гипертерминалом) подглядываем и сохраняем-пишем сразу в файл обмен.
3- если устройство с устройством точка-точка, то делаем прозрачную заглушку Port-to-Port
А вот здесь Вы подменили контекст. Кто говорил, что можно влезать в схему? Нет, можно только становиться на дорожки щупами , но резать ничего нельзя!

Сообщение от raxp Посмотреть сообщение
Пример http://raxp2.blogspot.com/2015/04/blog-post_35.html
Спасибо за интересную статью.
123ksn вне форума  
Непрочитано 09.01.2016, 19:48  
raxp
Почётный гражданин KAZUS.RU
 
Регистрация: 28.05.2010
Сообщений: 1,118
Сказал спасибо: 150
Сказали Спасибо 604 раз(а) в 310 сообщении(ях)
raxp на пути к лучшему
По умолчанию Re: Как сохранить в одном файле "диалог" UART

Цитата:
в сад. Не надо так делать. Я всего лишь Вас попросил конкретики. Ваша ссылка конкретики не добавила.
прискорбно, что прямая ссылка на его описание с возможностью скачивания на официальном сайте не добавила ясности . Продукт Руссиновича известен всем разработчикам под Windows, мне так казалось.

Цитата:
Для меня - классный прибор. Остальные пусть решают сами
не надо мешать котлеты с мухами.

Цитата:
В вашем примере не видно, где информация с Rx, а где с Tx.
очень даже видно, если смотреть не по диагонали:
37 0.00000000 SerialPort Term IRP_MJ_WRITE Nmserial0 Length 5: 4C 8D 13 03 0D - запись 5 байт
...
44 0.00000000 SerialPort Term IRP_MJ_READ Nmserial0 Length 8 - чтение из буфера 8 байт
44 0.00000196 SUCCESS Length 8: 4C 8D 13 03 3A 30 34 20
Цитата:
А вот здесь Вы подменили контекст. Кто говорил, что можно влезать в схему? Нет, можно только становиться на дорожки щупами , но резать ничего нельзя!
контекст, говорите, подменили. А может кто-то свои мысли телепатически в свой пост запамятовал вложить? Цитирую: "есть два устройства, которые общаются по UART (Rx, Tx) как базарные бабы, т.е. "говорят" одновременно." Где тут речь, что устройства не отдельные, а на одной плате с дорожками, которые нельзя резать? Нет этого. Раз есть два устройства, значит можно и вклиниться, если иное не оговорено. При желании барина конечно

Цитата:
Спасибо за интересную статью.
всегда пожалуйста, только это лишь заметка с переводом официальной документации и практическим примером применения.
__________________
Белорусский журнал «Радиолюбитель»
Youtube LaboratoryW
UR3QQJ
raxp вне форума  
Непрочитано 09.01.2016, 20:14  
raxp
Почётный гражданин KAZUS.RU
 
Регистрация: 28.05.2010
Сообщений: 1,118
Сказал спасибо: 150
Сказали Спасибо 604 раз(а) в 310 сообщении(ях)
raxp на пути к лучшему
По умолчанию Re: Как сохранить в одном файле "диалог" UART

Цитата:
в сад. Не надо так делать.
кстати, о саде хотел отдельно добавить. Все когда-то чего то не знали и с чего-то начинали и в этом нет ничего зазорного, обижаться не это не стоит. На то и форум )
__________________
Белорусский журнал «Радиолюбитель»
Youtube LaboratoryW
UR3QQJ
raxp вне форума  
Непрочитано 09.01.2016, 20:56  
123ksn
Вид на жительство
 
Аватар для 123ksn
 
Регистрация: 09.10.2012
Сообщений: 332
Сказал спасибо: 124
Сказали Спасибо 71 раз(а) в 38 сообщении(ях)
123ksn на пути к лучшему
По умолчанию Re: Как сохранить в одном файле "диалог" UART

Поскольку в диалоге появилось здоровое зерно опустим "в сад", "мух и котлеты".
А вот с контекстом разберемся. Я сообщаю:
Сообщение от raxp Посмотреть сообщение
есть два устройства
Я не говорю где и как они размещены. Это Вы делаете ДОПУЩЕНИЕ, что это физически разные устройства. Этим Вы исказили контекст. Если Вам что-то непонятно или желаете уточнить, задайте вопрос, а не подгоняйте вопрос под известный Вам ответ. Не гоже так поступать инженеру.
Сообщение от raxp Посмотреть сообщение
очень даже видно, если смотреть не по диагонали:
Всё-таки я ожидал от Вас большей конструктивности. Ладно, давайте разберем несколько первых строк
Сообщение от raxp Посмотреть сообщение
0 0.00000000 SerialPort Term IRP_MJ_CREATE Nmserial0 Options: Open
0 0.00065707 SUCCESS
1 0.00000000 SerialPort Term IOCTL_SERIAL_GET_PROPERTIES Nmserial0
1 0.00000168 SUCCESS
2 0.00000000 SerialPort Term IOCTL_SERIAL_GET_MODEMSTATUS Nmserial0
2 0.00000223 SUCCESS
3 0.00000000 SerialPort Term IOCTL_SERIAL_GET_BAUD_RATE Nmserial0
3 0.00000112 SUCCESS
1) Где здесь шкала времени?
2) Где пример одновременности поступления по Rx и TX?
Возможно, PortMonitor реализует все мои хотелки. Но Ваш пример АБСОЛЮТНО непоказателен. Пожалуйста, прочтите внимательно еще раз 1-й пост и без своих допущений попробуйте дать ответ на мой вопрос. Вполне допускаю, что могут потребоваться уточнения с моей стороны. Я готов отвечать на вопросы.
123ksn вне форума  
Непрочитано 09.01.2016, 21:01  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,982
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Как сохранить в одном файле "диалог" UART

Сообщение от raxp Посмотреть сообщение
Где тут речь, что устройства не отдельные
Сообщение от 123ksn Посмотреть сообщение
общаются как базарные бабы
замечу - китайские
jump вне форума  
Непрочитано 09.01.2016, 21:02  
123ksn
Вид на жительство
 
Аватар для 123ksn
 
Регистрация: 09.10.2012
Сообщений: 332
Сказал спасибо: 124
Сказали Спасибо 71 раз(а) в 38 сообщении(ях)
123ksn на пути к лучшему
По умолчанию Re: Как сохранить в одном файле "диалог" UART

В догонку. Вы, raxp, дали ссылку на хорошую статью, но метод описанный в статье не подходит под мой случай. Мой случай более сложный.

Последний раз редактировалось 123ksn; 09.01.2016 в 21:05.
123ksn вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с UART masterpc Микроконтроллеры, АЦП, память и т.д 10 13.02.2007 17:49


Часовой пояс GMT +4, время: 18:14.


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