现在的位置: 首页 > 综合 > 正文

USB1.1协议学习经验之5—- USB设备请求

2013年12月24日 ⁄ 综合 ⁄ 共 1131字 ⁄ 字号 评论关闭

 所有的USB设备在设备的缺省控制通道(Default Control Pipe)处对主机的请求发出响应。这些请求是通过使用控制传输来达到的,请求及请求的参数通过Setup包发向设备,由主机负责设置Setup包内的每个域的值。每个Setup包有8个字节。见表8-2

   偏移量

   

   大小

  

  描述

 

 

 

 

 

0

bmRequestType

1

位图

请求特征:

D7: 传输方向

0=主机至设备

1=设备至主机

D6..5: 种类

0=标准

1=

2=厂商

3=保留

D4..0: 接受者

0=设备

1=接口

2=端点

3=其他

4..31=保留

 

1

bRequest

1

 

具体请求(参见表8-3)

2

wValue

2

 

字长域,根据不同的请求含义改变.

4

wIndex

2

 

 

索引或偏移

字长域,根据不同的请求含义改变.典型用于传送索引或偏移.

6

wLength

2

 

如有数据传送阶段,此为数据字节数.

                                表8-2 .  Setup 数据包的格式

1   bmRequestType域

    这个域表明此请求的特性。特别地,这个域表明了第二阶段控制传输方向。如果wLength域被设作0的话,表明没有数据传送阶段,那Direction位就会被忽略。

    USB说明定义了一系列所有设备必须支持的标准请求。这些请求被例举在表8-3中。另外,一个设备类可定义更多的请求。设备厂商也可定义设备支持的请求。

    请求可被导引到设备,设备接口,或某一个设备端结点(endpoint)上。这个请求域也指定了接收者。当指定的是接口或端结点(endpoint)时,wIndex域指出那个接口或端节点。

2  bRequest域

    这个域标识特别的请求。bmRequestType域的Type啦可修改此域的含义。本说明仅定义Type 字位为0即标准设备请求时bRequest域值的含义。

3  wValue域

    此域用来传送当前请求的参数,随请求不同而变。

4  wIndex域

wIndex域用来表明是哪一个接口或端结点,图8-2表明wIndex的格式(当标识端结点时)Direction位在设为0时表示出结点,设为1时表示是入结点,Endpoint Number是结点号。图8-3表明wIndex用于标识接口时的格式。

  

 

    D7

 

    D6

 

    D5

 

    D4

 

    D3

 

    D2

 

    D1

 

    D0

 

   方向

 

           保留(0)

 

              端点号

 

    D16

 

    D15

 

    D13

 

    D12

 

    D11

 

    D10

 

    D9

 

    D8

                                       保留(0)

抱歉!评论已关闭.