USB设备类型代码以及详细说明

版权声明:本文为博主原创文章,未经博主允许不得转载。

目录(?)[+]

说明:由于链接是相对路径,下载和点击会不正常,如果需要下载文中提到的文档,请去官方网站相关地址下载

以下是USB所有支持的设备类型代码.

地址:http://www.usb.org/developers/defined_class

USB Class Codes                    

November 17, 2009

 


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 at http://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 from www.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/windowsmobile/mobileoperators/default.mspx

04h

 

Bluetooth AMP Controller. Get specific information from www.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

 

以下是相关类型的详细说明:

地址:http://www.usb.org/developers/devclass_docs

Approved Class Specification Documents 

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.28MB) 

Battery Charging

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

Cable and Connector

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

Common Class (CCS)

Common Class Base Specification 1.0

Communications Device Class

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


CDC Subclass Specification for Ethernet Emulation Model Devices 1.0

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

Content Security

Device Class Definition for Content Security Devices 1.0 
Content Security Method 1 - Basic Authentication Protocol 1.0 
Content Security Method 2 - USB Digital Transmission Content Protection Implementation 1.0

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

Media Transfer Protocol

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

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

Smart Card Class

Smart Card CCID version 1.1 
Smart Card ICCD version 1.0 
 

Test & Measurement Class

Test & Measurement Class Specifications

Video Class

Video Class 1.1 document set
    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_Transport_1.1
    USB_Video_Example_1.1
    USB_Video_FAQ_1.1

Draft Class Specification Documents

PC Legacy Compatibility Specification 0.9

USB_Video_Compliance_1.09b -- draft for public review

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: USB(通用串行总线)作为现代电脑的重要接口之一,几乎被广泛应用到了各种设备中,如鼠标、键盘、手机、音频、视频、网络等等。那么,如何通过代码来玩转USB? 首先,需要了解USB接口的基本原理,包括类型、传输速率、协议、接口、端口等等。接着,可以使用各种编程语言(C、Python、Java等)来编写USB代码,其中USB传输层的API(应用程序接口)是关键。 例如,在C语言中,可以使用libusb库来实现USB通讯。具体步骤包括:初始化、扫描设备、打开设备、传输数据等。在Python中,则可以借助PyUSB模块来实现。首先,需要安装PyUSB,然后使用相应方法来访问USB设备、读取数据、写入数据等等。 除此之外,还可以利用各种已有的USB开源库,如USB HID(人机接口设备)、USB CDC(通用串行设备类)、USB Mass Storage(大容量存储设备)等等,以及一些相关的工具和软件,如USBview、USBlyzer、Wireshark等,来实现USB通讯的测试与调试。 总之,通过了解USB的基本原理和API,以及运用各种编程语言和工具,我们可以自己动手编写或调试USB代码,开发出更加个性化、高效、可靠的USB设备,为我们的日常工作和生活带来更多的便利和乐趣。 ### 回答2: 要玩 USB 代码,需要先了解 USB 的基本工作原理。USB 是Universal Serial Bus(通用串行总线)的缩写,是一种计算机与外部设备传输数据的标准接口。它的传输速度较快,传输距离较远,具有插拔方便、多设备共享等优点,广泛应用于电脑、手机等领域。 在玩 USB 代码时,需要使用开发板、电脑和 USB 接口线等设备。首先要选定一种编程语言,如 C 语言、Python 等,然后了解相应的 USB 操作函数和命令。可以参考开发板的说明书、相关的开源库或者网络上的资料。在编写代码时,需要引入相应的头文件,并调用相应的函数,通过 USB 接口进行数据的发送和接收。 在实际的应用中,常见的 USB 应用场景包括串口通信、鼠标键盘的输入输出、打印机的控制等。设计完代码后,需要在开发板上进行测试和调试,并进行参数的优化,以获取最好的性能和稳定性。 总而言之,玩 USB 代码需要有一定的编程和电子相关的知识,需要了解 USB 的基本工作原理和相关编程语言的知识,同时需要有开发板和相应的设备和工具。只有不断的练习和实践,才能掌握 USB 代码的技巧和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值