集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1753|回复: 3

标准的USB设备请求命令

[复制链接]
fpga_feixiang 发表于 2020-6-16 20:56:15 | 显示全部楼层 |阅读模式
标准的USB设备请求命令是用在控制传输中的“初始设置步骤”里的数据包阶段(即DATA0,由八个字节构成)。命令共有11个,大小都是8个字节,具有相同的结构,由5个字段构成(字段是标准请求命令的数据部分),结构如下(括号中的数字表示字节数,首字母bm,b,w分别表示位图、字节,双字节):

                    bmRequestType(1) + bRequest(1) + wvalue(2) + wIndex(2) + wLength(2)

        各字段的意义如下:

        1、bmRequestType:D7D6D5D4D3D2D1D0

        D7=0主机到设备

            =1设备到主机;

        D6D5=00标准请求命令

            =01 类请求命令

            =10用户定义的命令   

            =11保留值

        D4D3D2D1D0=00000 接收者为设备

            =00001 接收者为设备

            =00010 接收者为端点

            =00011 接收者为其他接收者

            =其他  其他值保留

        2、bRequest:请求命令代码,在标准的USB命令中,每一个命令都定义了编号,编号的值就为字段的值,编号与命令名称如下(要注意这里的命令代码要与其他字段结合使用,可以说命令代码是标准请求命令代码的核心,正是因为这些命令代码而决定了11个USB标准请求命令):

        0  GET_STATUS:用来返回特定接收者的状态;

        1  CLEAR_FEATURE:用来清除或禁止接收者的某些特性;

        2) 3  SET_FEATURE:用来启用或激活命令接收者的某些特性;

        5  SET_ADDRESS:用来给设备分配地址;

        6  GET_DEscriptOR:用于主机获取设备的特定描述符;

        7  SET_DEscriptOR:修改设备中有关的描述符,或者增加新的描述符;

        8  GET_CONFIGURATION:用于主机获取设备当前设备的配置值(注同上面的不同);

        9  SET_CONFIGURATION:用于主机指示设备采用的要求的配置;

        10  GET_INTERFACE:用于获取当前某个接口描述符编号;

        11  SET_INTERFACE:用于主机要求设备用某个描述符来描述接口;



        12 SYNCH_FRAME:用于设备设置和报告一个端点的同步帧;

       控制传输是USB的重心,而这11个命令是控制传输的重心,所以这11个命令是重中之重。
zxopenhl 发表于 2020-6-17 16:55:06 | 显示全部楼层
标准的USB设备请求命令
大鹏 发表于 2021-3-5 16:17:42 | 显示全部楼层
标准的USB设备请求命令
大鹏 发表于 2021-3-9 09:44:23 | 显示全部楼层
标准的USB设备请求命令
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-4-17 02:59 , Processed in 0.062717 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表