Jump to content
    

Надежность потока TCP и USB bulk

Предположим, что у Вас в результате ошибки приема исказились первые 2 слова пакета. Безусловно, контрольная сумма не совпала, только вот незадача: Вы больше не знаете сколько еще нужно выгрести мусора из потокового канала, чтобы попасть на границу следующего пакета.

Протокол должен предусматривать маркировку начала пакета. Например, в протоколе SLIP начало пакета отмечается байтом 0xc0, причём сделано так что это значение не может встретиться в самом пакете.

Share this post


Link to post
Share on other sites

...Предположим, что у Вас в результате ошибки приема исказились первые 2 слова пакета...Вы больше не знаете сколько еще нужно выгрести мусора из потокового канала, чтобы попасть на границу следующего пакета...

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

 

...но мне не очень нравится реализовывать логику по сути канального уровня поверх транспортного...

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

 

 

Share this post


Link to post
Share on other sites

В нашем случае длина пакета, в который была завернута команда, не превышала 64 байт. То есть, одного Bulk (Int) пакета USB в режиме Full Speed USB.
А что, при переходе от RS232 к USB из протокола обмена командами SLIP-рамку убрали?

Я бы оставил... Свечка-то оно свечка, но бережёного… :biggrin:

 

Share this post


Link to post
Share on other sites

А что, при переходе от RS232 к USB из протокола обмена командами SLIP-рамку убрали?

Я бы оставил... Свечка-то оно свечка, но бережёного… :biggrin:

Если бы работали с потоком, то оставили бы SLIP.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...