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

 
 
 
Reply to this topicStart new topic
> USB bulk_out transfer кратный 64 байтам, Как определить окончание передачи, если ее размер кратен размеру EP?
ahulap
сообщение Dec 5 2011, 11:28
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 22-06-06
Из: Kharkiv, UA
Пользователь №: 18 284



Контроллер - LPC1343. Программа посылает команды в устройство используя libusb: usb_bulk_write(handle, EP_OUT, buffer, size, 0);
В устройстве размер команды заренее не известен, оно собирает всю команду и только после этого отдает на обработку. Окончание передачи я определял по короткому пакету (<64 байт).
Но, как оказалось, если размер передачи например равен 64 байтам, то приходит только один пакет 64 байта и все. ZLP нет.
Возможно ли как-то разрешить данную проблему без доработки компьютерной программы? Только вычислением размера команды по ее коду и прочим параметрам, идущим в первом пакете?

Похоже такая же проблема была и с контроллером SAM3U, там прием осуществлялся по DMA и DMA transfer завершался только при приеме короткого пакета. Но там все разрешилось просто переходом на размер эндпоинта в 512 байт (high speed), что было гарантированно больше любой передачи, т.е. все пакеты были короткими. Хочется учесть данную особенность при разработке следующих устройств.

Заранее спасибо.
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Jan 12 2012, 16:47
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Цитата(ahulap @ Dec 5 2011, 13:28) *
Но, как оказалось, если размер передачи например равен 64 байтам, то приходит только один пакет 64 байта и все. ZLP нет.


В стандарте USB версии 2.0 предусмотрена на аппаратном уровне передача пакета с маркером "Это последний пакет.".
Если на аппаратном уровне нельзя прочитать этот флаг, то нужно решать программно.
Использовать протоколы в которых начало и окончание макета имеет уникальную комбинацию байт.
Например SSP протокол: www.utias-sfl.net/docs/ssp2.1e.pdf
Go to the top of the page
 
+Quote Post

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

 


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


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