2015-11-03 4 views
3

Пример кода, который Atmel дает для USB-устройств, имеет интерфейс с двумя альтернативными настройками. Первый не имеет конечных точек, второй имеет 6 конечных точек. Есть ли причина для этого - почему бы просто не иметь одну альтернативную настройку со всеми конечными точками?Зачем мне нужен альтернативный интерфейс USB без конечных точек?

Я нашел неопределенное сообщение где-то в Интернете, предполагая, что это может быть связано с энергосбережением. Кто-нибудь есть идеи?

+0

Вы отправили свой вопрос в службу технической поддержки Atmel? –

ответ

3

Ах, похоже, что это связано с тем, что интерфейс с изохронными конечными точками резервирует пропускную способность на шине USB. Но если вы используете альтернативный вариант без изохронных конечных точек, вы избегаете этой проблемы.

Источники:

http://www.makelinux.net/ldd3/chp-13-sect-1

Начальное состояние интерфейса находится в первой установке, пронумерованы 0. Альтернативные настройки могут быть использованы для управления отдельными конечными точками по-разному, например, резервировать разные количество полосы пропускания USB для устройства. Каждое устройство с изохронной конечной точкой использует альтернативные настройки для одного и того же интерфейса.

https://msdn.microsoft.com/en-us/library/windows/hardware/jj124028(v=vs.85).aspx

Этот тест проверяет, что, когда любое устройство имеет интерфейс, который потребляет изохронную пропускную способность, что устройство поддерживает несколько другие параметры для этого интерфейса, а установка 0 (ноль) чередуются не потребляет изохронны пропускная способность.

+1

И этот: https://msdn.microsoft.com/en-us/library/windows/hardware/hh968309(v=vs.85).aspx Прочитайте главу, которая начинается с «Например ...:» – Elmue