USB MSD. Часть 3. USB класс накопителей данных (перевод)
- переводы |
- USB |
- MSD |
- Mass Storage Device
Описатель конфигурации
Каждое устройство имеет не менее одной конфигурации, определяющей его особенности и возможности. Множественные конфигурации допустимы, но встречаются редко. Описатель конфигурации содержит информацию о токе потребления устройства и количестве поддерживаемых интерфейсов. В таблице 3-2 показаны поля описателя конфигурации. Ниже приводится более подробное описание каждого поля и особенности его использования в накопителях данных.
0 | bLength | Длина описателя в байтах |
1 | bDescriptorType | Тип описателя ("CONFIGURATION") |
2 | wTotalLength | Длина описателя, включая длины всех связанных с ним подчинённых описателей в байтах |
4 | bNumInterfaces | Число интерфейсов |
5 | bConfigurationValue | Идентификатор для запросов "Set Configuration" и "Get Configuration" |
6 | iConfiguration | Индекс строкового описателя конфигурации |
7 | bmAttributes | Флаги режимов питания и удалённого пробуждени |
8 | bMaxPower | Кодированное значение потребляемого устройством тока |
-
bLength
Длина описателя в байтах. Всегда равна 0x09.
-
bDescriptorType
Константа, соответствующая типу описателя. Для конфигурации ("CONFIGURATION") равна 0x02.
-
wTotalLength
Длина описателя в байтах, включающая длины всех связанных подчинённых описателей. Связанные описатели включают описатели интерфейсов и оконечных точек, но не включают строковые описатели.
-
bNumInterfaces
Число интерфейсов в конфигурации. Минимальное значение равно "1". Устройства с несколькими интерфейсами могут выполнять несколько функций, таких как накопитель данных и HID.
-
bConfigurationValue
Уточняет конфигурацию в запросах "Get Configuration" и "Set Configuration". Устанавливается в 0x01 для первой (или единственной) конфигурации.
-
iConfiguration
Индекс строкового описателя конфигурации. Устанавливается в нуль, если описатель отсутствует.
-
bmAttributes
Бит 7 должен быть равен "1".
Бит 6 = 1, если устройство содержит собственный источник питания;
Бит 6 = 0, если устройство питается от шины.
Бит 5 = 1, если устройство поддерживает режим пробуждения, позволяющий приостановленному ("Suspended") устройству сообщить центральному процессору о желании пообщаться. USB-устройства должны переходить в состояние приостановки ("Suspend") в случае отсутствия активности на шине, включая маркеры начала фрейма ("Start-of-Frame"), в течение 3 миллисекунд. Если приостановленное устройство с возможностью удалённого пробуждения нуждается в активности центрального процессора, то оно может сделать запрос на восстановление обмена. Накопители данных, как правило, не поддерживают режим пробуждения.
Биты 4..0 должны быть равны "0". -
bMaxPower
Определяет максимальный ток потребления устройства. Значение данного поля равно делённой пополам величине максимального потребляемого тока в миллиамперах. Если устройство потребляет 200 миллиампер, то значение "bMaxPower" будет равно 100. Максимально допустимый ток потребления равен 500 миллиампер. Если запрошенная величина превышает возможности системы, центральный процессор может прекратить процесс конфигурирования устройства. Некоторые батарейные хосты и все питаемые от шины концентраторы могут отдавать только 100 миллиампер тока через каждый порт. Чтобы позволить устройству работать через такие порты в режиме питания от шины значение "bMaxPower" не должно превышать 0x32.
- блог пользователя teap0t
- 42811 просмотров
Новые записи в блогах
- Устранение дребезга контактов на основе вертикальных счетчиков
- Диагностика Imprecise Bus Faults в микроконтроллерах Cortex-M3/M4/M4F
- Self-powered камера
- Фоновый модулятор: беспроводная связь из ничего (перевод)
- Texas Instruments Analog Applications Journal SLYT612 "Снижение искажений в аналоговых КМОП ключах" (перевод)
- USB MSD. Часть 6. Команды SCSI (перевод)
- USB MSD. Часть 3. USB класс накопителей данных (перевод)
- Texas Instruments Application Report SBAA042 "Кодовые схемы, используемые в аналогово-цифровых преобразователях" (перевод)
- 10 принципов правильного интерфейса
- Релиз SDK на русский микропроцессор КРОЛИК
Последние комментарии
22 недели 4 дня назад
38 недель 14 часов назад
48 недель 1 день назад
49 недель 6 дней назад
1 год 5 недель назад
1 год 30 недель назад
1 год 31 неделя назад
1 год 34 недели назад
1 год 45 недель назад
2 года 25 недель назад