Есть ли предел размера блока передачи данных USB2.0?

С одним чтением () или запись () за один раз, мы можем увеличить объемный размер данных по интерфейсу USB? Например, я хочу передать блок 1 024 (1K) данных байтов и если устройство имеет ограничения только 64 байтов, есть ли какой-либо способ, которым я могу увеличить размер пакета для чтения () и запись () системный вызов по USB?

Есть ли какое-либо ограничение на размер передачи данных по USB в хосте-> среда устройства?

5
задан 08.02.2010, 13:18

3 ответа

Нет, я полагаю, что это зависит от размера кластера диска. Можно определить это посредством форматирования.

0
ответ дан 07.12.2019, 17:21

Я не инженер протокола USB, но этот документ от Intel EHCI USB Specification, кажется, предполагает, что самый большой размер пакета USB, который допустим, составляет 1 024 байта и самый большой блок данных, который может быть передан, сразу 24 576 байтов, как на странице 35:

Указатели на семь страниц обеспечиваются для поддержки выражения 8 изохронных передач. Эти семь указателей позволяют 3 (транзакции) * 1024 (максимальный размер пакета) * 8 (записи транзакции) (24 576 байтов) быть перемещенными с этой структурой данных

4
ответ дан 07.12.2019, 17:21

В Шине USB размеры пакета уровня ограничиваются Спецификациями USB — ограничения для USB 2.0:

  • для объемных передач — 512 байтов для высокоскоростных конечных точек, 8, 16, 32, или 64 байта для конечных точек полной скорости (и низкоскоростные объемные конечные точки не позволяются вообще);
  • для передач прерывания — до 1 024 байтов для высокой скорости, до 64 байтов для полной скорости, до 8 байтов для низкой скорости;
  • для изохронных передач — до 1 024 байтов для высокой скорости, до 1 023 байтов для полной скорости (и низкая скорость не позволяется снова).

Однако ограничения для чтения () и запись () могут отличаться из-за буферизации, сделанной драйверами ядра; например, при использовании usbfs с текущими версиями Linux, до 16 384 байтов могут быть переданы с одним системным вызовом.

4
ответ дан 07.12.2019, 17:21

Теги

Похожие вопросы