USB模块详细阅读文档

发布时间 : 星期一 文章USB模块详细阅读文档更新完毕开始阅读

. 中间层在总线接口和端点数据缓冲区之间传递数据,端点既可以用来接收数据也可以用来发送数据.

. 最高层是功能层,用于实现各种USB设备,例如USB鼠标,U盘.

所有的USB设备除了接收和发送数据之外,必须能够处理USB Host Cnotroller发送到USB设备的标准USB Dcvice Requests.所有的USB设备请求都发送到缺省端点0,这些请求通过控制传输传递,请求和数据参数通过SETUP包发送,每种控制传输SETUP包为8个字节长,USB设备请求主要包括如下内容:

1. 数据传输的方向:USB host controller to UDC,UDC to USB host controller 2. 数据传输的类别:standard,class,vendor 3. 数据接收方:device,interface,endpoint,other 4. 数据传输的字节数 5. 索引和偏移量

6. 标准请求类型

USB设备请求的格式如表5-1所示:

表5-1USB Device Request格式

标准USB Device Request是在USB Host枚举USB Device时所发送的控制信息,其用于配置USB设备的地址,特性,接口,设置,并查询USB Device的描述符信息,通过枚举阶段之后,系统就会得到连接在USB接口的设备信息,并且USB Host和USB Device之间就可以正常通信。每种请求的功能如下所示:

1.CLEAR_FEATURE和SET_FEATURE请求:设置/清除USB设备特性。

2. GET_CONFIGURATION和SET_CONFIGURATION请求:设置或查询USB设备的配置信息,数据阶段(Data stage)传送的是配置信息。

3. GET_INTERFACE和SET_INTERFACE请求:设置或查询USB设备的接口设置信息 ,其接口号为索引(wIndex),数据阶段(Data Stage)传送的是设置(Altermate Setting)信息。

4.GET_STATUS请求:查询USB设备的状态信息,标准USB设备支持2种状态信息: 远端唤醒(Remote Wakeup)状态和自供电(Self Powered)状态。

5.SET_ADDRESS请求:设置USB设备的地址:在系统枚举USB设备之前,设备的缺省地址为0,通过缺省控制管道(地址0+端点0),系统设置新的地址。 6.SYNCHFRAME请求:同步帧号,用于同步端点同步帧使用。

7.GET_DESCRIPTOR和SET_DESCRIPTOR请求:查询或设置USB设备的描述符, USB Device支持5种描述符:设备描述符(Type=1),配置描述符(Type=2),字符串描述符(Type=3),接口描述符(Type=4),端点描述符(Type=5)。描述符包括了USB设备的各种信息,在系统枚举USB设备时,通过查询描述符,可以知道连接的USB设备的种类及配置信息。

5.4 USB从控制器模拟原理

USB从控制器模拟器设计主要包括2个方面:USB从控制器(UDC)逻辑的模拟和UDC寄存器读写操作的模拟。UDC逻辑的模拟是按照USB client Controller的功能模块,用软件模拟USB Device Controler接收或发送USB数据包的流程,并模拟UDC的中断上报过程。UDC寄存器读写操作的模拟是通过函数模拟UDC寄存器读写操作行为。图3一14描述了UHC模拟器的结构:

联系合同范文客服:xxxxx#qq.com(#替换为@)