стандарт говорит The USB limits the maximum data payload size to 1,023 bytes for each full-speed isochronous endpoint. High-speed endpoints are allowed up to 1024-byte data payloads. A high speed, high bandwidth endpoint specifies whether it requires two or three transactions per microframe.
вот, дальше в стандарте таблички, и получается что для Full Speed, если пихаеш 1023 байта, то максимум 1 транзакция в кадр, который раз в миллисекунду. а вот если пихать по 64 байта, то можно сделать до 20 посылок во фрайм 128 байт - 10 посылок 256 байт - 5 посылок и получить скорость 1280 байт в кадр. вот так и получается 12 МБит обещанные в секунду.
для балка максимальный размер данных 64 байта, максимальное число посылок 19 и скорость 1216. Но как вам правильно сказали выше, хрен вы эти 19 запросов получите. Балк - это режим передачи при котором пакеты не должны теряться, потому если хост не готов их принять, он приостановит передачу, так же как и вы, если кончатся данные. и реальность будет ниже ожидаемых 19 запросов.
|