硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3639|回复: 0
收起左侧

USB设备类型代码---所有支持的都在这里,很重要

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106974
QQ
发表于 2015-10-7 09:40:07 | 显示全部楼层 |阅读模式
USB支持的设备类型没有写到USB2.0的规格书上面,在官网的这个位置才有详细的讲述。
http://www.usb.org/developers/defined_class
====================================================
USB defines class code information that is used to identify a device’s functionality and to nominally load a device driver based on that functionality. The information is contained in three bytes with the names Base Class, SubClass, and Protocol. (Note that ‘Base Class’ is used in this description to identify the first byte of the Class Code triple. That terminology is not used in the USB Specification). There are two places on a device where class code information can be placed.One place is in the Device Descriptor, and the other is in Interface Descriptors. Some defined class codes are allowed to be used only in a Device Descriptor, others can be used in both Device and Interface Descriptors, and some can only be used in Interface Descriptors. The table below shows the currently defined set of  Base Class values, what the generic usage is, and where that Base Class can be used (either Device or Interface Descriptors or both).


Base Class
Descriptor Usage

Description
00h
Device

Use class information in the Interface Descriptors
01h
Interface

Audio
02h
Both

Communications and CDC Control
03h
Interface

HID (Human Interface Device)
05h
Interface

Physical
06h
Interface

Image
07h
Interface

Printer
08h
Interface

Mass Storage
09h
Device

Hub
0Ah
Interface

CDC-Data
0Bh
Interface

Smart Card
0Dh
Interface

Content Security
0Eh
Interface

Video
0Fh
Interface

Personal Healthcare
DCh
Both

Diagnostic Device
E0h
Interface

Wireless Controller
EFh
Both

Miscellaneous
FEh
Interface

Application Specific
FFh
Both

Vendor Specific





Base Class 00h (Device)


This base class is defined to be used in Device Descriptors to indicate that class information should be determined from the Interface Descriptors in the device. There is one class code definition in this base class.  All other values are reserved.

This value is also used in Interface Descriptors to indicate a null class code triple.


Base Class
SubClass
Protocol

Meaning
00h
00h
00h

Use class code info from Interface Descriptors





Base Class 01h (Audio)


This base class is defined for Audio capable devices that conform to the Audio Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. These class codes may only be used in Interface Descriptors.


Base Class
SubClass
Protocol

Meaning
01h
xxh
xxh

Audio device




Base Class 02h (Communications and CDC Control)


This base class is defined for devices that conform to the Communications Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved.  Note that the Communication Device Class spec requires some class code values (triples) to be used in Device Descriptors and some to be used in Interface Descriptors.

Base Class
SubClass
Protocol

Meaning
02h
xxh
xxh

Communication device class



Base Class 03h (HID – Human Interface Device)


This base class is defined for devices that conform to the HID Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values.   Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class
SubClass
Protocol

Meaning
03h
xxh
xxh

HID device class



Base Class 05h (Physical)


This base class is defined for devices that conform to the Physical Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values.  Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class
SubClass
Protocol

Meaning
05h
xxh
xxh

Physical device class




Base Class 06h (Still Imaging)


This base class is defined for devices that conform to the Imaging Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values.   Values outside of that defined spec are reserved.
Base Class
SubClass
Protocol

Meaning
06h
01h
01h

Still Imaging device




Base Class 07h (Printer)


This base class is defined for devices that conform to the Printer Device Class Specification found on the USB-IF website.  That specification defines the usable set of SubClass and Protocol values.  Values outside of that defined spec are reserved.  These class codes can only be used in Interface Descriptors.
Base Class
SubClass
Protocol

Meaning
07h
xxh
xxh

Printer device




Base Class 08h (Mass Storage)


This base class is defined for devices that conform to the Mass Storage Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class
SubClass
Protocol

Meaning
08h
xxh
xxh

Mass Storage device




Base Class 09h (Hub)


This base class is defined for devices that are USB hubs and conform to the definition in the USB specification.  That specification defines the complete triples as shown below.  All other values are reserved.  These class codes can only be used in Device Descriptors.
Base Class
SubClass
Protocol

Meaning
09h
00h
00h

Full speed Hub
01h

Hi-speed hub with single TT
02h

Hi-speed hub with multiple TTs




Base Class 0Ah (CDC-Data)


This base class is defined for devices that conform to the Communications Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values.Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class
SubClass
Protocol

Meaning
0Ah
xxh
xxh

CDC data device




Base Class 0Bh (Smart Card)


This base class is defined for devices that conform to the Smart Card Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values.Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class
SubClass
Protocol

Meaning
0Bh
xxh
xxh

Smart Card device




Base Class 0Dh (Content Security)


This base class is defined for devices that conform to the Content Security Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class
SubClass
Protocol

Meaning
0Dh
00h
00h

Content Security device




Base Class 0Eh (Video)


This base class is defined for devices that conform to the Video Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class
SubClass
Protocol

Meaning
0Eh
xxh
xxh

Video device




Base Class 0Fh (Personal Healthcare)


This base class is defined for devices that conform to the Personal Healthcare Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. These class codes should only be used in Interface Descriptors.
Base Class
SubClass
Protocol

Meaning
0Fh
xxh
xxh

Personal Healthcare device




Base Class DCh (Diagnostic Device)


This base class is defined for devices that diagnostic devices. There is currently only one value defined. All other values are reserved. This class code can be used in Device or Interface Descriptors.
Base Class
SubClass
Protocol

Meaning
DCh
01h
01h

USB2 Compliance Device.  Definition for this device can be found athttp://www.intel.com/technology/usb/spec.htm




Base Class E0h (Wireless Controller)


This base class is defined for devices that are Wireless controllers. Values not shown in the table below are reserved. These class codes are to be used in Interface Descriptors, with the exception of the Bluetooth class code which can also be used in a Device Descriptor.




Base Class



SubClass



Protocol



Meaning

E0h

01h

01h

Bluetooth Programming Interface.  Get specific information fromwww.bluetooth.com.

02h

UWB Radio Control Interface.  Definition for this is found in the Wireless USB Specification in Chapter 8.

03h

Remote NDIS.  Information can be found at:http://www.microsoft.com/windows ... rators/default.mspx

04h

Bluetooth AMP Controller. Get specific information fromwww.bluetooth.com.

2h

01h

Host Wire Adapter Control/Data interface.  Definition can be found in the Wireless USB Specification in Chapter 8.

02h

Device Wire Adapter Control/Data interface.  Definition can be found in the Wireless USB Specification in Chapter 8.

03h

Device Wire Adapter Isochronous interface.  Definition can be found in the Wireless USB Specification in Chapter 8.




Base Class EFh (Miscellaneous)


This base class is defined for miscellaneous device definitions. Values not shown in the table below are reserved.  The use of these class codes (Device or Interface descriptor) are specifically annotated in each entry below.

Base Class
SubClass
Protocol

Meaning
EFh
01h
01h

Active Sync device.  This class code can be used in either Device or Interface Descriptors.  Contact Microsoft for more information on this class.
02h

Palm Sync.  This class code can be used in either Device or Interface Descriptors.
02h
01h

Interface Association Descriptor.  The usage of this class code triple is defined in the Interface Association Descriptor ECN that is provided on www.usb.org.  This class code may only be used in Device Descriptors.
02h

Wire Adapter Multifunction Peripheral programming interface. Definition can be found in the Wireless USB Specification in Chapter 8.  This class code may only be used in Device Descriptors
03h
01h

Cable Based Association Framework.  This is defined in the Association Model addendum to the Wireless USB specification.  This class code may only be used in Interface Descriptors.





Base Class FEh (Application Specific)


This base class is defined for devices that conform to several class specifications found on the USB-IF website.  That specification defines the usable set of SubClass and Protocol values.  Values outside of that defined spec are reserved.  These class codes can only be used in Interface Descriptors.

Base Class
SubClass
Protocol

Meaning
FEh
01h
01h

Device Firmware Upgrade.  Device class definition provided on www.usb.org.
02h
00h

IRDA Bridge device.  Device class definition provided on www.usb.org.
03h
00h

USB Test and Measurement Device.  Definition provided in the USB Test and Measurement Class spec found on www.usb.org.
01h

USB Test and Measurement Device conforming to the USBTMC USB488 Subclass Specification found on www.usb.org.




Base Class FFh (Vendor Specific)


This base class is defined for vendors to use as they please.  These class codes can be used in both Device and Interface Descriptors.

Base Class
SubClass
Protocol

Meaning
FFh
xxh
xxh

Vendor specific

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-12 12:26 , Processed in 0.194321 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表