Спецификация USB.Rev1.0

Вычисление Размеров Буфера в Функциях / Программном Обеспечении


И клиентскому программному обеспечению и функциям необходимо обеспечить достаточную буферную область для отложенных транзакций данных, ожидающих своего пропуска в шину.  Для не-изохронных каналов, эта буферная область должна быть только достаточно большой, чтобы удержать следующий пакет данных. Если больше чем один запрос транзакции задерживается данной конечной точкой, должна обеспечиваться буферизация для каждой транзакции. Методы вычисляющие абсолютно точно минимум буферизации, которая может потребоваться функции из-за специфических взаимодействий, определенных между клиентским программным обеспечением и функцией лежат вне области спецификации USB.

Ожидается, что хост контроллер будет способен поддерживать неограниченное число задержанных транзакций шины, распределяя доступную память системы под буферную и дескрипторную область, и т.д.  Хост контроллерам позволено ограничивать количество кадров, которые они в будущем позволят запросить транзакции.

Для изохронных каналов, Раздел 5.10.4 описывает подробности, воздействий со стороны хоста и требования буферизации к стороне устройства. Вообще то, буфера должны иметь такие возможности, чтобы удержать приблизительно двойное количество данных, перемещаемых за 1 мс.



Содержание раздела