免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1306 | 回复: 0
打印 上一主题 下一主题

linux驱动设备枚举及设备配置描述符 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-09 23:41 |只看该作者 |倒序浏览
usb设备描述符:
因为总线识别USB设备必须是经过总线枚举,通过枚举过程主机来识别和管理必要的设备状态变化。
USB总线枚举过程
设备连接
设备上电
主机检测到设备,并发出复位信号:使对应的端口可用
设备默认状态:(即通过00h来对设备进行寻址)
分配设备地址
读取设备描述符:(确认设备属性)****注意,此处用到了设备描述符
配置设备:主机依照读取设备描述符来配置设备,当设备请求的USB资源得到满足,主机就发送命令给USB设备,表示配置完毕
挂起:为了省电,当总线空闲3ms以后,设备驱动程序就会进入挂起状态,当驱动被挂起时,
        USB设备保留了包括其地址和配置信息在内的所有信息
设备描述符给出了USB设备的一般信息,这包括对设备及设备配置起全程作用的信息
设备描述符给出了 设备类码,设备子类码,协议码,厂商标志,产品标志等
struct usb_device_descriptor{}
设备类码典型值如下:
#define USB_CLASS_PER_INTERFACE                0
#define USB_CLASS_AUDIO                        1//声音设备
#define USB_CLASS_comm                        2//调制解调设备,网卡,ISDN连接
#define USB_CLASS_HID                        3//HID 设备,如鼠标键盘
#define USB_CLASS_*******等等,可以查看源代码
配置描述符
配置描述符给出了USB设备的配置信息,配置描述符包括一个bConfigurationValue域,
        在Setconfiguration请求时被用作参数来设置所需配置。此描述符给出此配置下的接口数,
        每个接口可能的独立操作。每个USB设备有一个或多个配置。每一个配置有一个或多个接口
        。每个接口又有0个或多个端点。一个配置下端点不会在接口之间共享,除非同一个节点被同一个
        接口下的不同配置使用。当主机发出请求时,要求获取配置描述符时,所有有关接口,端点的描述符都被返回。
接口描述符包括该接口的接口号,不同配置可选的索引值,此接口使用的端点数量
接口描述符在一个配置中给出一个接口的信息。一个接口可能包含被选设置,以使得端点配置好以后,还可以改变。
        SetInterface()与GetInterface()用于选择与返回选择了的接口设置。
        举例:一个设备配置只支持单个接口,这个借口有两个接口描述符,可以任选其一,
        当配置描述符返回以后,后面会跟着第一个接口描述符(bInterfaceValue=0,bAlternateSetting=0
        ---------bAlternateSetting表示不同设备配置的可选的索引值)及它的相关端点和
        第二个接口描述符(bInterfaceValue=0,bAlternateSetting=1)及它的相关端点
        如果一个接口仅仅使用0端点,那么就区别于其他情况,不再返回端点描述符,
        且此接口表示一个请求接口,同时使用0端点的默认通道
        (此时bNumberEndpoints=0设置为0),接口含有的端点个数不把0端点包含在内。
端点描述符
每个端点都有自己的端点描述符,主机用该描述符来决定每个端口的带宽需求(即当前配置下,
        此端点能够接收或者发送的最大数据包的大小),每个端点配置描述符总是作为配置描述符的一部分来返回
字串描述符(可有可无,若无,其他描述符中有关该项的字串描述符的索引都为0)
设备限定描述符
其他速度配置描述符
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/104384/showart_2066744.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP