Цитата(ValeraVi @ Oct 14 2009, 15:27)

Но по хардварному анализатору видно, что виндовский драйвер перед каждой транзакцией делает задержки в 1 мс, т.е. булк пакет посылается (принимается) только в каждом 2-м микрофрейме, т.е. перед каждой транзакцией я в логе анализатора вижу 2 SOF.
USB хост обслуживается драйвером Windows.
Стандартно для FS секунда разбивается на 1000 фреймов.
Драйвер windows подстраивается под такое деление.
Раз в 1 миллисекунду, драйвер хоста (точнее планировщик задач для хоста) делит полосу пропускания USB между устройствами.
Таким образом в 1 фрейм планируется одна передача для устройства.
После передачи, планировщик получает задание на прием 30 байт и в следующий фрейм ставит задачу хосту получить 30 байт.
Таким образом, меньше чем в 2 фрейма ping-pong не получится.
Так что, по моему никакой проблемы в драйвере и устройстве нет.