USB设备类型代码说明 USB Class Codes

6740阅读 0评论2016-12-12 wlbdd
分类:嵌入式

原文地址:http://www.usb.org/developers/defined_class;        http://www.usb.org/developers/docs/devclass_docs/

USB Class Codes     

           

June 15, 2016



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

10h

Interface

Audio/Video Devices

11h

Device

Billboard Device Class

12h

Interface

USB Type-C Bridge Class

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 10h (Audio/Video Devices)

The USB Audio/Video (AV) Device Class Definition describes the methods used to communicate with devices or functions embedded in composite devices that are used to manipulate audio, video, voice, and all image- and sound-related functionality. 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

10h

01h

 

02h

 

03h 

 

00h

Audio/Video Device – AVControl Interface

00h

Audio/Video Device – AVData Video Streaming Interface

00h

Audio/Video Device – AVData Audio Streaming Interface

 


Base Class 11h (Billboard Device)

This base class is defined for devices that conform to the Billboard 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 Device Descriptors.

 

Base Class

SubClass

Protocol

Meaning

11h

00h

00h

Billboard Device




Base Class 12h (USB Type-C Bridge Device)

This base class is defined for devices that conform to the USB Type-C Bridge 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

12h

00h

00h

USB Type-C Bridge Device




 

Base Class DCh (Diagnostic Device)

This base class is defined for devices that diagnostic devices. This class code can be used in Device or Interface Descriptors. 
Trace is a form of debugging where processor or system activity is made externally visible in real-time or stored and later retrieved for viewing by an applications developer, applications program, or, external equipment specializing observing system activity. 
Design for Debug or Test (Dfx). This refers to a logic block that provides debug or test support (E.g. via Test Access Port (TAP)). 
DvC:  Debug Capability on the USB device (Device Capability) 

 

Base Class

SubClass

Protocol

Meaning

DCh

01h

01h

USB2 Compliance Device.  Definition for this device can be found at 

02h

00h

Debug Target vendor defined. Please see for more info.

01h

GNU Remote Debug Command Set. Please see for more info.

03h

00h

Undefined

01h

Vendor defined Trace protocol on DbC.

04h

00h

Undefined

01h

Vendor defined Dfx protocol on DbC.

05h

00h

Vendor defined Trace protocol over General Purpose (GP) endpoint on DvC.

01h

GNU Protocol protocol over General Purpose (GP) endpoint on DvC.

06h

00h

Undefined

01h

Vendor defined Dfx protocol on DvC.

07h

00h

Undefined

01h

Vendor defined Trace protocol on DvC.

08h

00h

Undefined

 

 

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 from.

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:

04h

 

Bluetooth AMP Controller. Get specific information from.

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 . 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.

04h

01h

RNDIS over Ethernet.

Connecting a host to the Internet via Ethernet mobile device. The device appears to the host as an Ethernet gateway device.

This class code may only be used in Interface Descriptors.

02h

RNDIS over WiFi.

Connecting a host to the Internet via WiFi enabled mobile device.  The device represents itself to the host as an 802.11 compliant network device.

This class code may only be used in Interface Descriptors.

03h

RNDIS over WiMAX

Connecting a host to the Internet via WiMAX enabled mobile device.  The device is represented to the host as an 802.16 network device.

This class code may only be used in Interface Descriptors.

04h

RNDIS over WWAN

Connecting a host to the Internet via a device using mobile broadband, i.e. WWAN (GSM/CDMA).

This class code may only be used in Interface Descriptors.

05h

RNDIS for Raw IPv4

Connecting a host to the Internet using raw IPv4 via non-Ethernet mobile device.  Devices that provide raw IPv4, not in an Ethernet packet, may use this form to in lieu of other stock types.

This class code may only be used in Interface Descriptors.

06h

RNDIS for Raw IPv6

Connecting a host to the Internet using raw IPv6 via non-Ethernet mobile device.  Devices that provide raw IPv6, not in an Ethernet packet, may use this form to in lieu of other stock types.

This class code may only be used in Interface Descriptors.

07h

RNDIS for GPRS

Connecting a host to the Internet over GPRS mobile device using the device’s cellular radio

05h

00h

USB3 Vision Control Interface

Machine Vision Device conforming to the USB3 Vision specification. This standard covers cameras and other related devices that are typically used in machine vision, industrial, and embedded applications.

Reference: 

This class code may only be used in Interface Descriptors.

01h

USB3 Vision Event Interface

02h

USB3 Vision Streaming Interface

06h

01h

STEP. Stream Transport Efficient Protocol for content protection.

02h

STEP RAW. Stream Transport Efficient Protocol for Raw content protection.

07h

01h

Command Interface in IAD

The DVB Common Interface (DVB-CI) specification describes a system whereby a removable CI Conditional Access Module (CICAM), given the appropriate usage rights, unscrambles protected pay-TV content and routes it over the same interface back to a TV receiver for display. An interface association for a DVB-CI function will contain a DVB-CI Command Interface for command, control, and status information, it may contain a DVB-CI Media Interface for audiovisual data streams, and it may also contain a CDC EEM interface to provide bridged networking to the CICAM.

Reference:

01h

Command Interface in Interface Descriptor

02h

Media Interface in Interface Descriptor






 



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 .

02h

00h

IRDA Bridge device.  Device class definition provided on .

03h

00h

USB Test and Measurement Device. Definition provided in the USB Test and Measurement Class spec found on.

01h

USB Test and Measurement Device conforming to the USBTMC USB488 Subclass Specification found on

 

 

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

 








USB-IF Device Class Documents

The USB Device Working Group ("DWG") enables and promotes increased interoperability and reliability between USB products through documents that augment, enhance and extend USB specifications. USB-IF members may participate in the development efforts of a Working Group only after having executed the IP Agreement corresponding to the specification under development by that Group. If you are interested in working on a Device Class document, you will find the various IP Agreements and can submit your request to join in the members-only section of this . The current set of Defined 1.0 Class Codes is available.

These specifications recommend design targets for classes of devices. For HID related information, please go to the HID Web page.

Approved Class Specification Documents 

Approved Class Specifications are those that have officially reached Version 1.0 status and are usable to design products. Each document describes one or more classes, identified by a Class Code. Devices and interfaces that implement a class must use this Class Code (for example, in the bInterfaceClassfield). Each Approved Class Specification defines the appropriate values for SubClass and Protocol for the class(es) it defines.

If you have questions regarding any of these documents please contact the DWG chair (dwg-wg-chair@usb.org) and your questions will be channeled to the appropriate group.

Audio Class

Audio Device Class Spec for Basic Audio Devices and Adopters Agreement (.zip format, size 1.33MB)
Audio Device Document 1.0
Audio Data Formats 1.0
Audio Terminal Types 1.0
USB MIDI Devices 1.0
Audio Devices Rev. 2.0 Spec and Adopters Agreement (.zip format, size 1.28 MB) 
USB Audio Devices Rev. 3.0 Spec and Adopters Agreement (.zip format, size 6.03 MB)

Audio/Video Device Class

Audio/Video Device Class v1.0 Spec and Adopters Agreement (.zip format, size 11.5 MB)
AVSchema Documentation
AVSchema Files:   and 

AVDD Creator User Manual (.pdf format, 472 KB)
AVDD Creator Installer(.zip format, 126 MB)
USB Device Class Definition for Audio/Video Devices Basic Device Profile (BDP) (.pdf format, 1.20 MB)

Battery Charging

Battery Charging v1.2 Spec and Adopters Agreement(.zip format, size 1.30 MB)
Battery Charging v1.1 Spec and Adopters Agreement (.zip format, size 292 KB)

USB Battery Charging 1.2 Compliance Plan (Revision 1.0)

Billboard Device Class

Billboard Device Class Spec Revision 1.21 and Adopters Agreement (.zip format, size 708KB)

Cable and Connector

USB 3.0 Connectors and Cable Assemblies Document Rev. 1.02
Cable and Connector Class 2.0 
Series 'A' Plug form factor Guideline 1.0
USB Connector for Mezzanine Applications Guidelines Rev. 1.0
Micro-USB Cables and Connectors v1.01 Spec and Adopters Agreement
USB Thin Card v1.0 and Adopters Agreement

Common Class (CCS)

Common Class Base Specification 1.0

Communications Device Class

Class definitions for Communication Devices 1.2 (.zip file format, size 3.42 MB)
the components of CDC 1.1 have been reorganized as five separate documents and associated errata:
- ATM120.pdf -- CDC Subclass for Asynchronous Transfer Mode Devices
- CDC120-20101103-track.pdf - CDC Subclass for Communications Devices
    - CDC120-Errata1.pdf ECM120.pdf - CDC Subclass for Ethernet Control Model Devices
- ISDN120.pdf -- CDC Subclass for ISDN Devices
- PSTN120.pdf -- CDC Subclass for PSTN devices
- WMC110-20101103-track.pdf - CDC Subclass for Wireless Mobile Communication Devices 1.1
- WMC110-Errata1.pdf and CDC v1.2 WMC v1.1 Errata 1 Adopters Agreement

Errata updates for CDC v1.2 and WMC v1.1 as of DEC-2012 (.zip file format, size 2.5 MB)
- CDC Subclass for Communications Devices
    2012-08-02-CDC120_errata.pdf 
    2012-08-02-CDCErrata-1.pdf
- CDC Subclass for Wireless Mobile Communications Devices 1.1
    2012-07-31-WMC110_errata.pdf 
    2012-07-31-WMCErrata-1.pdf 
- CDC v1.2 WMC v1.1 Errata 1 Adopters Agreement

CDC Subclass Specification for Ethernet Emulation Model Devices 1.0

Network Control Model Devices Specification v1.0 and errata and Adopters Agreement (.zip format, size 948 KB)

Mobile Broadband Interface Model v1.0 Errata -1 and Adopters Agreement (.zip format, size 3.62MB)

MBIM Compliance Testing v1.0 (pdf 1.23MB)

Content Security

Device Class Definition for Content Security Devices 2.0
Content Security Method 1 - Basic Authentication Protocol 1.0
Content Security Method 2 - USB Digital Transmission Content Protection Implementation 1.0
Content Security Method 5 - High-bandwidth Digital Content Protection 2.1 (HDCP 2.1) Implementation

Debug Device Class

USB 3.1 Device Class Specification for Debug Devices (included in the USB 3.1 zip file)

Device Firmware Upgrade Group

Device Firmware Upgrade 1.1 (new version 31-Aug-2004)

HID Class

HID Information

Imaging Class

Still Image Capture Device Definition 1.0 and Errata as of 16-Mar-2007 (.zip format, size 200 KB)

IrDA

IrDA Bridge Device Definition 1.0

Mass Storage

Mass Storage Class Specification Overview 1.4
Mass Storage Bulk Only 1.0
Mass Storage Control/Bulk/Interrupt (CBI) Specification 1.1
Mass Storage UFI Command Specification 1.0
Mass Storage Bootability Specification 1.0 
Lockable Mass Storage Specification 1.0 and Adopters Agreement (.zip format, size 288 KB)
  - Lockable Mass Storage IP Disclosure
USB Attached SCSI Protocol (UASP) v1.0 and Adopters Agreement (.zip format, size 204 KB)
USB Mass Storage Class Specification for UASP Bootability v1.0 and Adopters Agreement (.zip format, size 503 KB)

Media Agnostic USB

Media Agnostic USB v1.0a Spec and Adopters Agreement (.zip format, size 2.20MB)


Media Transfer Protocol

Media Transfer Protocol v.1.1 Spec and MTP v.1.1 Adopters Agreement (.zip format, size 1.98MB)

Monitor

Monitor Device Document 1.0

OpenUSBDI

OpenUSBDI Specification 1.0

Personal Healthcare

Personal Healthcare Rev. 1.0, Errata for USB Personal Health Care Device Class and Personal Healthcare Adopters Agreement (.zip format, size 386 KB)

Physical Interface Devices

Device Class Definition for PID 1.0

Power

Power Device Class Document 1.0

Printer Class

Printer Device Class Document 1.1
IPP Protocol 1.0 and Adopters Agreement (.zip, 1.32 MB)

Smart Card Class

Smart Card CCID version 1.1 
Smart Card ICCD version 1.0 
 

Test & Measurement Class

Test & Measurement Class Specifications

USB Type-C(TM) Bridge Class

USB Type-C(TM) Bridge Specification and Adopters Agreement (.zip, 1.24 MB)

Video Class


Video Class 1.5 document set (.zip format, size 6.58MB)
   UVC 1.5 Class specification.pdf
   USB_Video_Example 1.5.pdf
   USB_Video_FAQ_1.5.pdf
   USB_Video_Payload_DV_15.pdf
   USB_Video_Payload_Frame_Based_1.5.pdf
   USB_Video_Payload_H264_1.5.pdf
   USB_Video_Payload_MPEG-2_TS_1.5.pdf
   USB_Video_Payload_Uncompressed_1.5.pdf
   USB_Video_Payload_VP8_1.5.pdf
   USB_Video_Payload_Stream_Based_1.5.pdf
   USB_Video_Transport_1.5.pdf
   USB_Video_Payload_MJPEG_1.5.pdf
   USB_Video_Temporal_Encoder_Examples_1.5.pdf

Video Class 1.1 document set (.zip format, size 6.78 MB)
    USB_Video_Class_1.1
    USB_Video_Identifiers_1.1
    USB_Video_Payload_DV_1.1
    USB_Video_Payload_Frame_Based_1.1
    USB_Video_Payload_MJPEG_1.1
    USB_Video_Payload_MPEG-2_TS_1.1
    USB_Video_Payload_Uncompressed_1.1
    USB_Video_Payload_Stream_Based_1.1
    USB_Video_Payload_H 264_1.0
    USB_Video_Transport_1.1
    USB_Video_Example_1.1
    USB_Video_FAQ_1.1
    USB_Video_Payload_H264_09Aug2011_errata.pdf
上一篇:最全面的linux信号量解析
下一篇:堪称一绝的“IO口扫键”法