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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> протоколы передачи данных через Uart, удобные протоколы последовательных интерфейсов
winniethepooh
сообщение Jul 8 2016, 12:01
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 3-06-15
Пользователь №: 86 995



здравствуйте.
задача связать данные mcu с PC через ком порт
тип передачи -полудуплекс
поделитесь пожалуйста опытом использования протоколов.
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Jul 8 2016, 12:03
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



А что за данные, скорость и т.д? Раз ничего не указано предложу текстовый. Отлично воспринимается человеком и удобен при отладке/сопряжении скриптов на PC с железом.
Go to the top of the page
 
+Quote Post
winniethepooh
сообщение Jul 8 2016, 12:10
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 3-06-15
Пользователь №: 86 995



Цитата(Kabdim @ Jul 8 2016, 12:03) *
А что за данные, скорость и т.д? Раз ничего не указано предложу текстовый. Отлично воспринимается человеком и удобен при отладке/сопряжении скриптов на PC с железом.

скорости стандартные для com порта, данные необходимо передавать частями по 64 -128 бит тип данных не текстовый а данны АЦП
Go to the top of the page
 
+Quote Post
Aleksandr Barano...
сообщение Jul 8 2016, 12:14
Сообщение #4


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

Группа: Участник
Сообщений: 169
Регистрация: 31-08-05
Из: New York
Пользователь №: 8 118



Цитата(winniethepooh @ Jul 8 2016, 08:10) *
скорости стандартные для com порта, данные необходимо передавать частями по 64 -128 бит тип данных не текстовый а данны АЦП

Modbus, например.


--------------------
ASB
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 8 2016, 12:19
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Aleksandr Baranov @ Jul 8 2016, 15:14) *
Modbus, например.

Да-да, отлично подходит для 128 бит данных и конфигурации точка-точка.


ТС, придумайте свой протокол, заверните в SLIP - и будет счастье.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jul 8 2016, 12:22
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Контроль целостности данных сделать по NMEA - подбному принципу:

$GPMDS,1,0,4245454630303239200000000015002B3F4D761B000010000303040042555242*
6C
$GPMDS,1,0,555200ABCDEF*60
$GPMDS,2,0*4F


Сообщение отредактировал Genadi Zawidowski - Jul 8 2016, 12:24
Go to the top of the page
 
+Quote Post
winniethepooh
сообщение Jul 8 2016, 12:24
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 3-06-15
Пользователь №: 86 995



Цитата(aaarrr @ Jul 8 2016, 12:19) *
Да-да, отлично подходит для 128 бит данных и конфигурации точка-точка.


ТС, придумайте свой протокол, заверните в SLIP - и будет счастье.

Придумать свой здорово, но лучше готовый код найти и для PC- ки тоже...
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jul 8 2016, 12:42
Сообщение #8


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(winniethepooh @ Jul 8 2016, 15:01) *
задача связать данные mcu с PC через ком порт


Так все таки , COM порт или Virtual COM port?
Go to the top of the page
 
+Quote Post
mcheb
сообщение Jul 8 2016, 12:53
Сообщение #9


Местный
***

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



Цитата(winniethepooh @ Jul 8 2016, 16:01) *
поделитесь пожалуйста опытом использования протоколов.

Почитайте форум. Это кладезь опыта.
Go to the top of the page
 
+Quote Post
winniethepooh
сообщение Jul 8 2016, 13:06
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 3-06-15
Пользователь №: 86 995



Цитата(AlexandrY @ Jul 8 2016, 12:42) *
Так все таки , COM порт или Virtual COM port?

com портом


Цитата(mcheb @ Jul 8 2016, 12:53) *
Почитайте форум. Это кладезь опыта.

да конечно кладезь. дочитал до 40 страницы, но пока без результата.., ну спасибо! буду искать дальше. и хорошего настроения!
Go to the top of the page
 
+Quote Post
pitt
сообщение Jul 8 2016, 13:17
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(AlexandrY @ Jul 8 2016, 08:42) *
Так все таки , COM порт или Virtual COM port?

А какая разница-то?


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Jul 8 2016, 13:28
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Детали реализации USB задают оптимальный способ использования VCOMа.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jul 8 2016, 14:28
Сообщение #13


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(pitt @ Jul 8 2016, 16:17) *
А какая разница-то?


Задержки при 2х стороннем обмене, фрагментация в усб драйвере и еще мелкие нюансы, которых нет в реальном уарте...

По теме - в таких простейших случаях использую hex-передачу, т.е. код 0 передаю как 00 (в ASCII коде) 255 - как FF.
прием аналогичен, все символы, кроме диапазона 0-F - ошибка. Конец строки - 0x0A или 0D.

Сообщение отредактировал mantech - Jul 8 2016, 14:32
Go to the top of the page
 
+Quote Post
amiller
сообщение Jul 8 2016, 14:58
Сообщение #14


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

Группа: Участник
Сообщений: 176
Регистрация: 20-02-14
Из: Томск
Пользователь №: 80 612



Цитата(mantech @ Jul 8 2016, 18:28) *
Задержки при 2х стороннем обмене, фрагментация в усб драйвере и еще мелкие нюансы, которых нет в реальном уарте...

По теме - в таких простейших случаях использую hex-передачу, т.е. код 0 передаю как 00 (в ASCII коде) 255 - как FF.
прием аналогичен, все символы, кроме диапазона 0-F - ошибка. Конец строки - 0x0A или 0D.

Вы пишите о мелких нюансах реализации виртуального COM-порта, а с другой стороны считаете возможным передавать данные простейшим потоком, который и протоколом то назвать язык не поворачивается.
Считаю обязательным и по крайней мере очень желательным:
1. Забыть о передаче данных без защиты хотя бы двухбайтной CRC.
2. Не заморачиваться с отдельными реализациями протоколов для Fullduplex и Halfduplex. Всегда есть большая вероятность, что понадобится использовать RS485 или другой полудуплексный интерфейс.
3. Если нет опыта в реализации, то лучше сразу смотрите в сторону стандартного протокола, например Modbus RTU. Избежите детских проблем при разработке своего протокола и не понадобится клиентам/партнерам/коллегам объяснять преимущества своего уникального протокола.
4. Ну а если всё же решите пройти по пути создания своего протокола, рекомендую прочитать про SLIP (как уже советовали), а также поиметь хотя бы малейшее представление о уровнях взаимодействия открытых систем, классификации, которая лежит в основе любых обменов данными.
Go to the top of the page
 
+Quote Post
winniethepooh
сообщение Jul 8 2016, 15:35
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 3-06-15
Пользователь №: 86 995



Цитата(amiller @ Jul 8 2016, 14:58) *
Вы пишите о мелких нюансах реализации виртуального COM-порта, а с другой стороны считаете возможным передавать данные простейшим потоком, который и протоколом то назвать язык не поворачивается.
Считаю обязательным и по крайней мере очень желательным:
1. Забыть о передаче данных без защиты хотя бы двухбайтной CRC.
2. Не заморачиваться с отдельными реализациями протоколов для Fullduplex и Halfduplex. Всегда есть большая вероятность, что понадобится использовать RS485 или другой полудуплексный интерфейс.
3. Если нет опыта в реализации, то лучше сразу смотрите в сторону стандартного протокола, например Modbus RTU. Избежите детских проблем при разработке своего протокола и не понадобится клиентам/партнерам/коллегам объяснять преимущества своего уникального протокола.
4. Ну а если всё же решите пройти по пути создания своего протокола, рекомендую прочитать про SLIP (как уже советовали), а также поиметь хотя бы малейшее представление о уровнях взаимодействия открытых систем, классификации, которая лежит в основе любых обменов данными.

спасибо

Цитата(mantech @ Jul 8 2016, 14:28) *
Задержки при 2х стороннем обмене, фрагментация в усб драйвере и еще мелкие нюансы, которых нет в реальном уарте...

По теме - в таких простейших случаях использую hex-передачу, т.е. код 0 передаю как 00 (в ASCII коде) 255 - как FF.
прием аналогичен, все символы, кроме диапазона 0-F - ошибка. Конец строки - 0x0A или 0D.

в случае "hex-передачи" есть ли разница с программным flow control X-ON / X-OFF ?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th June 2025 - 08:31
Рейтинг@Mail.ru


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