Чем больше, тем лучше Как правило, чем больше вы отправляете, тем быстрее переводы USB будет (масса). Думаю, мы попали в сладость на 2 Мбайт куска. Единственное ограничение - это размер буфера, который может обрабатывать ваш хост-контроллер.
Немного почему времен протокола шины в 1 мс (полная скорость) 1/8 мс (высокая скорость) куски. Во время которого может быть отправлено 0-15 пакетов (64B/512B full/high speed).
Требуется время для настройки передачи USB в контроллере и для его завершения.
Пример передачи 10byte полной скорости: ms0 - установка OHCI для передачи 10bytes MS1 - 10bytes передаются (это может произойти на самом деле на следующем интервале 1мс) ms2 - прерывание для уведомления о завершении. - 3ms отправить 10bytes
Пример передачи 640byte: ms0 - установка OHCI MS1 - передача 640bytes MS3 - прерывание - 3 мс для отправки 640bytes.
Думаю, вы получите картину.
Размер буфера IO устройства не изменяет вышеуказанное утверждение, так как большие передачи хоста/устройства исключают служебные данные настройки/обработки.
Пример очень медленного устройства и передачи 256byte ms0 - установка OHCI ms1 - отправить 64, получить НАКС .. ms2 - отправить 64, получить НАКС .. MS3 - отправить 64, получить ОПП .. MS4 - послать 64, получить НАКС .. MS5 - прерывание
Надеются, что это помогает
Отличный ответ @Boris, касающийся «Единственное ограничение - это размер буфера, который может обрабатывать ваш хост-контроллер». Знаете ли вы, что в любом случае, чтобы определить этот размер? –
@DaviddCeFreitas, который зависит от аппаратного обеспечения контроллера. Это обычно указывается в документации контроллера и имеет специфику оборудования. – Boris