微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > USB接口介绍(下)

USB接口介绍(下)

时间:12-12 来源:互联网 点击:

USB 封包格式

USB 的封包格式和早期的internet封包格式非常相似,要了解USB連接原理就一定要先了解封包格式。

USB packet format
OFFSETTYPESIZEVALUE
0HeaderChksum1Checksum of the header by adding the header bytes, excluding the header checksum.
1HeaderSize1Size of the header, including strings if applicable.
2Signature2Signature: 0x1234
4VendorID2USB Vendor ID
6ProductID2USB Product ID
8ProductVersion1Product version
9FirmwareVersion1Firmware version
10UsbAttributes1USB attributes:

Bit 0: If set to 1, the header includes all three strings: language, manufacture, and product strings; if set to 0, the header does not include any strings.
Bit 2: If set to 1, the device can be self powered; if set to 0, it cannot be self powered.
Bit 3: If set to 1, the device can be bus powered; if set to 0, it cannot be bus powered.
Bits 1 and 4 ... 7: Not used.

11MaxPower1Maximum power the device needs in units of 2 mA.
12Attribute1Device attributes:

Bit 0: If set to 1, the CPU speed runs at 24 MHz; if set to 0, the CPU speed runs at 12 MHz.
Bit 3: If set to 1, the devices EEPROM can support 400 MHz; if set to 0, it can not support 400 MHz.
Bits 1, 2 and 4 ... 7: Not used.

13WPageSize1Maximum I2C write page size
14DataType1This value defines if the device is application EEPROM or device EEPROM.

0x01: Application EEPROM
0x02: Device EEPROM
Other values are invalid.

15RpageSize1Maximum I2C read page size. If the value is zero, the whole PayLoadSize is read in one I2C read setup.
16PayLoadSize2Size of the application, if using EEPROM as an application EEPROM; otherwise the value is 0.
0xxxLanguage string4Language string in standard USB string format if applicable.
0xxxManufacture string...Manufacture string in standard USB string format if applicable.
0xxxProduct string...Product string in standard USB string format if applicable.
0xxxApplication Code...Application code if applicable.

设备分类

依附在总线上的设备可以是需要特定的驱动程序的完全定制的设备,也可能属于某个设备类别。这些类别定义了某种设备的行为和接口描述符,这样一个驱动程序可能用于所有此种类别的设备。一般操作系统都为支持这些设备类别,为其提供通用驱动程序。

设备分类由USB设计论坛设备工作组决定,并分配ID。

如果一个设备类型属于整个设备,该设备的描述府bDeviceClass的域保存类别ID;如果它这是设备的一个界面,其ID保存在界面描述府的;bInterfaceClass域。他们都占用一个字节,所以最多有253种设备类别。(0x00和0xFF保留)。当bDeviceClass设为0x00,操作系统会检查每个接口的bInterfaceClass以确定其类别。

每种类别可选支持子类别(SubClass)和协议子定义(Protocol subdefinition)。这样可以用于主设备类型的不断修订。

常用设备类别和ID有:

0x00
保留值
0x01
USB音频设备, 像声卡这样的设备。
0x03
人机接口设备, 键盘鼠标等
0x06
静止图像捕捉设备,用在USB上的Picture Transfer Protocol。
0x07
USB打印设备, 打印机。
0x08
USB大容量存储设备keydrive, 可移动硬盘,MMC卡、SD卡、CF卡读卡器, 数码相机,数字音频播放器等。 这一类设备显示成一个文件系统。
0x09
USB hubs。
0x0A
USB通信设备("CDC") used for调制解调器(包括软件调制解调器),网卡(交叉电缆),ISDN,传真。
0x0E
USB视频设备, 类似摄像头,电视卡的动态图像捕捉设备。
0xE0
无线控制器,如蓝牙dongles。
0xFF
定制设备。

USB接头

接头是由USB协会所指定,接头的设计一方面为了支持众多USB的基本需求,另一方面也避免以往许多类似串行接头所出现的问题。

  • 接头设计的相当耐用。
  • 不可能把USB接口插错。
  • 接头能相对便宜地大量生产。
  • 在USB网络中,接头被强制使用定向拓扑。USB不支持环形网络,因此不兼容的USB设备之间接口也不兼容。不像其他通讯系统(如RJ-45电缆)不能使用转换插头,防止环形USB网络产生。
  • 适度的插拔力。
  • 由于接头的构造,在将USB插头插入USB座时,插头外面的金属保护套会先接触到USB座内对应的金属部份,之后插头内部的四个触点才会接触到USB座。金属保护套会连接到系统的地点,提供路径使静电可以放电,避免因静电

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top