Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Тема закрыта

Большие данные через HID v-usb

Вс июл 01, 2012 17:47:34

Здравствуйте уважаемые коты и кошки!!! Пожалуйста подскажите как организовать отправку/чтение от хоста к микроконтроллеру(МК) данные размером 1-3 Кбайт. Я использую программную реализацию usb hid от http://www.obdev.at/products/vusb. В общем как я понял максимальный report count в дескрипторе не должно превышать 254. Ситуация такая при запросе на чтение со стороны хоста контроллер поочередно достает данные с внешнего eeprom 24с256 и по 8 байт шлет хосту так при достижении 254 амин операция заканчивается. Повторный запрос ну как вы поняли все заново :)) предсказуемо.. Поделитесь пожалуйста вашим опытом или как бы вы это организовали бы?? Может feature report здесь не уместен а нужно использовать input output репорты. Или же объявить глобальный инкремент и данные слать порциями по его значению и при окончании обнулять (но вопрос метод реализующий отправку не получает параметры от компа в этом случае uchar usbFunctionWrite(uchar *data, uchar len))? Я в usb новичок.. :?

Re: Большие данные через HID v-usb

Вс июл 01, 2012 18:57:37

Если ориентироваться на HID, я-бы посылал данные через конечные точки типа input/output. Так будет быстрее. Но и там максимальная величина пакета ограничена значением 64 байт, т.е. длинный файл надо разбивать на куски. Здесь на форуме есть статья про HID
http://radiokot.ru/articles/44/
http://radiokot.ru/articles/45/
Там не для Вашего контроллера, но Вам для общего ознакомления с HID может быть полезна вторая часть.

Re: Большие данные через HID v-usb

Пн июл 02, 2012 10:32:00

Ser60

Спасибо статья интересная но мне бы на avr -ке. Я наверное hid не по назначению использую но у меня есть подозрение что через него хоть и медленно но возможно отправить принять 1-2 Кбайт

Re: Большие данные через HID v-usb

Пн июл 02, 2012 17:23:48

Конечно, возможно сколько угодно передать. Вы спрашивали выше про подход - я написал что спользвал-бы iput/output конечные точки и разбиения файла на части. Готового кода под AVR у меня нет но, я-бы использовал AVR-ку с аппаратным USB драйвером. На вебсайте Атмела есть примеры их использавния и конфигурации. Если все-же хотие V-USB, то на сайте написано, что 254 - это дефолтное значение и может быть увеличено пи надобности. Как - не знаю, я с этим не работал, надо читать доки.

Re: Большие данные через HID v-usb

Сб июл 07, 2012 13:05:08

В софтовой реализации, можно в одной посылке передать или принять не больше 8 байт! Таков стандарт!
Поэтому делите данные на фрагменты по 8 байт и передавайте их.
Может будут полезны эти статьи.
http://www.radioman-portal.ru/pages/1698/index.shtml
http://www.radioman-portal.ru/pages/1928/index.shtml

Re: Большие данные через HID v-usb

Сб июл 07, 2012 19:31:40

Спасибо Ser60 Мурик получилось отправить данные! Да проблема была в не правильном дескрипторе я там по максимуму (64 байт) пытался отправить. Как только изменил репорт сайз на 8 проблемы сразу же отступили. :))) мау
Тема закрыта