USB Class Codes usb设备类型代码

Defined 1.0 Class Codes
USB Class Codes                     March 2, 2006

 


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

 

 

posted @ 2015-02-04 14:39  甲午大桃花  阅读(691)  评论(0编辑  收藏  举报