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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Надежность потока TCP и USB bulk, Возможна ли потеря данных?
maksimp
сообщение Aug 14 2012, 17:43
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023



Цитата(Avensis @ Aug 14 2012, 13:58) *
Предположим, что у Вас в результате ошибки приема исказились первые 2 слова пакета. Безусловно, контрольная сумма не совпала, только вот незадача: Вы больше не знаете сколько еще нужно выгрести мусора из потокового канала, чтобы попасть на границу следующего пакета.

Протокол должен предусматривать маркировку начала пакета. Например, в протоколе SLIP начало пакета отмечается байтом 0xc0, причём сделано так что это значение не может встретиться в самом пакете.
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Aug 15 2012, 06:10
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Цитата(Avensis @ Aug 14 2012, 12:58) *
...Предположим, что у Вас в результате ошибки приема исказились первые 2 слова пакета...Вы больше не знаете сколько еще нужно выгрести мусора из потокового канала, чтобы попасть на границу следующего пакета...

В нашем случае длина пакета, в который была завернута команда, не превышала 64 байт. То есть, одного Bulk (Int) пакета USB в режиме Full Speed USB. А при обмене через USB, контроллер все равно принимает данные пакетами. Это при обмене по TCP/IP уже имеем дело с потоком. То есть, Вы хотите использовать TCP/IP over USB и таким образом использовать одно и то же ПО при обмене и через USB и через Ethernet?

Цитата(Avensis @ Aug 13 2012, 12:40) *
...но мне не очень нравится реализовывать логику по сути канального уровня поверх транспортного...

Просто я привел пример, показывающий, что Вам все равно придется делать это.

Go to the top of the page
 
+Quote Post
ReAl
сообщение Aug 18 2012, 07:50
Сообщение #18


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Konst_777 @ Aug 15 2012, 09:10) *
В нашем случае длина пакета, в который была завернута команда, не превышала 64 байт. То есть, одного Bulk (Int) пакета USB в режиме Full Speed USB.
А что, при переходе от RS232 к USB из протокола обмена командами SLIP-рамку убрали?
Я бы оставил... Свечка-то оно свечка, но бережёного… biggrin.gif


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Aug 18 2012, 17:47
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Цитата(ReAl @ Aug 18 2012, 10:50) *
А что, при переходе от RS232 к USB из протокола обмена командами SLIP-рамку убрали?
Я бы оставил... Свечка-то оно свечка, но бережёного… biggrin.gif

Если бы работали с потоком, то оставили бы SLIP.
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 July 2025 - 05:52
Рейтинг@Mail.ru


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