Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
0 endpoint - control (это всегда)
1 endpoint - interrupt out (из компа в девайс короткие пакеты быстро)
2 endpoint - interrupt in (из девайса в комп короткие пакеты)
3 endpoint - bulk out (из компа в девайс большие пакеты)
4 endpoint - bulk in (из девайса в комп большие пакеты)
Класс вообще любой, если он не HID. Выбери любой нестандартный. Всё равно USB система будет идентифицировать девайс по VendorID & ProductID, соответветственно, их же и укажешь в драйвере, а какие у девайса эндпойнты система считает из конфигурации девайса в процессе энумерации. Так что сильно тут не напрягайся, не старайся вписаться в какой-нибудь из имеющихся классов - это нафиг никому не нужно.
Учитывая, что все обмены инициируются хостом, а частота этих обменов - не чаще 1 раза в миллисекунду, то полезная скорость перекачки набирается исключительно за счёт длины пакета.
Железо хоста, как правило, через DMA (точнее, bus mastering) напрямую пихает принятые пакеты в память, дергая прерывание драйверу, когда пакет уже в память принят. Так что на этот счёт тоже можешь не напрягаться - всё уже должным образом буферизовано в обе стороны.
Составить ответ | Вернуться на конференцию
Ответы