音频应用

 找回密码
 快速注册

QQ登录

只需一步,快速开始

阅读: 18289|回复: 2

[技术] USB设备的插入检测机制

  [复制链接]

24

积分

1

听众

5

音贝

音频应用

Rank: 1

积分
24
QQ
发表于 2010-1-24 | |阅读模式
音频应用公众号资讯免费发布推广
1.USB的插入检测机制:USB端口的D+和D-均用一个15k的电阻接地,当无设备接入时,均处于低电平;在设备端在D+(表示高速设备或者全速设备)或者D-(表示低速设备)接了一个1.5k的上拉电阻到+3.3v,一旦将设备接入,USB端口的D+或者D-其中一个被拉高为3v,系统识别到外部设备接入。
注意:高速设备首先会被识别为全速设备,然后再通过集线器和设备二者的确认最后切换到高速模式下。
在高速模式下,采用的是电流传输模式,这个时候上拉电阻需要从D+上断开。
2.当设备没有枚举成功时(可以通过一个10K的电阻将USB的电源端和D+或者D-连接起来,电脑会发现一个无法识别的设备,这个设备的PID和VID都是0,根据每个特性可以简单的判定设备的枚举是否成功。
3.一个具体的USB实现什么功能,USB主机并不知道。USB主机通过读取USB的设备描述符来获取设备的类型、厂商的ID和产品的ID(通常依靠它们来加载对应的驱动程序)、端点情况、版本号等众多信息。
4.USB1.1协议定义的标准描述符有设备描述符(Device Descriptor)、配置描述符(Configuration Descriptor)、接口描述符(Interface Descriptor)、端点描述符(Endpoint Descriptor)和字符串描述符(String Descriptor)。
USB2.0相比于USB1.1新增加的两个描述符:限定符描述符(Qualifier Descriptor)和其他速度配置描述符(Other Speed Configuration Descriptor)。
5.一个USB设备只有一个设备描述符。
设备描述符里面决定了该设备有多少种配置,每种配置都有一个配置描述符;
而在每个配置描述符中又定义了该配置有多少个接口,每个接口都有一个接口描述符;
在接口描述符里面又定义了该接口有多少个端点,每个端点都有一个端点描述符,端点描述符定了端点的大小、类型等。
如果有类特殊描述符,它跟在相应的接口描述符之后。
注意:USB主机获取描述符时,从上到下逐层获取。对于字符串描述符,USB主机是单独获取的,主机通过发送获取字符串中描述符的请求以及描述符的索引号、语言ID来获取对应的字符串描述符。
6.设备描述符:设备所使用的USB协议版本号、设备类型、端点0的最大包大小、厂商ID(VID)和产品ID(PID)、设备版本号、厂商字符串索引、产品字符串索引、设备序列号索引、可能的配置数等。
配置描述符:记录配置所包含的接口数、配置的编号、供电方式、是否支持远程唤醒、电流需求量等。
接口描述符:记录接口的编号、接口的端点数、接口所使用的类、子类、协议等。
端点描述符:端点号及方向、端点的传输类型、最大包长度、查询时间间隔等。
字符串描述符:提供一些方便人们阅读的信息,它不是必需的。
7.与USB设备进行通信时需要的地址:设备的地址和端点的地址。配置和接口是为了更加方便的管理端点抽象出来的概念。一个设备可以有多个配置,但是一个时刻只能有一个配置有效;每个配置下又可以有多个接口,一个接口下面可以有多个端点。
8.具有多个接口,并由接口来实现功能的设备叫做USB复合设备。例如一个USB音频设备,它具有一个音频控制接口,另外还有一个到多个音频流或者MIDI流接口。在主机端会把USB复合设备的每个接口当做一个功能设备来看待,常见的USB鼠标,U盘等通常是单一的设备,即一个设备下只有一个配置描述符、一个接口描述符。
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

919

积分

4

听众

67

音贝

音频应用新手发布

Rank: 3

积分
919
发表于 2010-4-4 |
谢谢楼主发布,好文章,收藏了啊  
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

1万

积分

4

听众

1561

音贝

音频应用注册会员

Rank: 4Rank: 4

积分
16341
发表于 2010-4-10 |
向各位学习了
欢迎厂家入驻,推文!免费!微信:yinpinyingyong
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

音频应用搜索

小黑屋|手机版|音频应用官网微博|音频招标|音频应用 (鄂ICP备16002437号)

Powered by Audio app

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