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

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
AstoriaOffline
Родился
Сообщения: 3
Зарегистрирован: Вс июл 01, 2012 17:00:49

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

Сообщение AstoriaOffline »

Здравствуйте уважаемые коты и кошки!!! Пожалуйста подскажите как организовать отправку/чтение от хоста к микроконтроллеру(МК) данные размером 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 новичок.. :?
Реклама
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

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

Сообщение Ser60 »

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

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

Сообщение AstoriaOffline »

Ser60

Спасибо статья интересная но мне бы на avr -ке. Я наверное hid не по назначению использую но у меня есть подозрение что через него хоть и медленно но возможно отправить принять 1-2 Кбайт
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

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

Сообщение Ser60 »

Конечно, возможно сколько угодно передать. Вы спрашивали выше про подход - я написал что спользвал-бы iput/output конечные точки и разбиения файла на части. Готового кода под AVR у меня нет но, я-бы использовал AVR-ку с аппаратным USB драйвером. На вебсайте Атмела есть примеры их использавния и конфигурации. Если все-же хотие V-USB, то на сайте написано, что 254 - это дефолтное значение и может быть увеличено пи надобности. Как - не знаю, я с этим не работал, надо читать доки.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

В софтовой реализации, можно в одной посылке передать или принять не больше 8 байт! Таков стандарт!
Поэтому делите данные на фрагменты по 8 байт и передавайте их.
Может будут полезны эти статьи.
http://www.radioman-portal.ru/pages/1698/index.shtml
http://www.radioman-portal.ru/pages/1928/index.shtml
Реклама
Аватара пользователя
AstoriaOffline
Родился
Сообщения: 3
Зарегистрирован: Вс июл 01, 2012 17:00:49

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

Сообщение AstoriaOffline »

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

Вернуться в «Микроконтроллеры и ПЛИС»