USB

Скорость обмена данными

Скорость последовательной передачи (1,5, 12 и 480 Мбит/с для LS, FS и HS соответственно) является только отправной точкой для определения реальной производительности обмена с конкретным устройством и всеми устройствами на шине в целом. Пропускная способность шины в целом определяется еще и соотношением накладных расходов и передаваемых полезных данных. Ниже рассматриваются источники накладных расходов, доля накладных расходов в общем трафике и загрузка шины транзакциями разных типов с разным размером блока данных. Для оценки возможной скорости обмена данными с конкретным устройством, подключенным к USB, отметим ряд моментов:

  • c обычной конечной точкой периодических передач (изохронные и прерывания) в каждом n-м микрокадре производится лишь одна транзакция (n определяется параметром bInterval дескриптора конечной точки);
  • с широкополосной конечной точкой в микрокадре может производиться до трех транзакций. Широкополосные точки представлены размером поля данных 1024–3072 байт, и загрузка шины, которую они дают, относится ко всем (от 1 до 3) их транзакциям в микрокадре. Пропускная способность Vmax точки с периодической передачей определяется делением размера поля данных пакета максимальной длины Dmax на длительность периода обслуживания T: Vmax = Dmax/T. Период обслуживания T определяется следующим образом:
    ----- для изохронных конечных точек T = Tk×2bInterval–1, где Tk — период посылки маркеров SOF (1 мс для полной скорости и 125 мкс для высокой); bInterval лежит в диапазоне 1–16. Таким образом, для FS период обслуживания может быть в пределах 1–32768 мс, для HS — 0,125–4096 мс;
    ----- для FS/LS конечных точек прерываний T = 1×bInterval (мс), bInterval лежит в диапазоне 1–255 (период обслуживания может быть в пределах 1–255 мс);
    ----- для HS-конечных точек прерываний T = 0,125×2bInterval–1 (мс); bInterval лежит в диапазоне 1–16, период обслуживания может быть в пределах 0,125– 4096 мс.
  • при передаче массивов число транзакций с конечной точкой в одном микрокадре не определено, но его максимум не превосходит указанного в таблицах. Драйвер USB может использовать и простую политику обслуживания очередей, при которой для каждой точки в микрокадре будет выполняться не более одной транзакции. В каждом микрокадре при самом плотном изохронном потоке есть место для 1–2 транзакций передач массивов, но когда на такие передачи претендует множество устройств, средняя скорость передачи для каждого из них, очевидно, будет невысокой.


Sitelinkx by eXtro-media.de
Яндекс.Метрика