DIY编程器网

标题: 单片机USB描述符 [打印本页]

作者: liyf    时间: 2012-1-16 17:06
标题: 单片机USB描述符

                   
  设备列举所要执行的工作之一,即是取得这些有关于设各的相关信息,即为USB描述符。那么什么是USB描述符呢?用户可以稍微想像一下,它就好像是USB外围设各的“履历表”或“身份证”一般,钜细靡遗地纪录着与外围设各相关的一切信息。因此,USB描述符掌 握了有关于设各的各种信息与相关的设置。
  为了描述不同的数据,就须以不同类型的USB描述符来加以描述,如图1所示。虽然各个描述符都有不同的信息与数据,但所有的描述符都有一些共同的特性,也即是由如表1所列的格式所组成。其中,所有的Byte o是以字节为单位的描述符长度,而所有的Byte 1 则放置如表2和表3所列的描述符类型值,紧接着的其他字节,则随着不同的描述符而不同。如果该描述符的长度比规范上所定义的还要小,那么主机将会忽略。如果此大小又比规范所定义的还要大,那主机也会忽略所超出的字节,并在其回传的真正描述符长度的尾 端开始寻找下一个描述符。



表2 描述符类型值表一



  各种描述符可以用如图2所示的描述符层来作更深动的叙述。最上层的层是设各描述符。在设各描述符的bNumConfigurations 字段中,设置一个或多个下一层的配置描述符。在配置描述符的bNumlnterface字段中,设置一个或多个下一层的接口描述符。最后 在接口描述符的bNumEndpoints字段中,则设置最后一层的端点描述符。
  因此,从设各描述符中,可以设置含有多少个配置描述符。而配置描述符,则可设置其包含了多少个接口描述符,当然从接口 描述符中,又可以再设置所含端点的数目。因此,在其中可以了解到仅有一个设各描述符而已,其余的描述符再依次设置。当然如图 2所示,每一层至少须设置一个描述符。



图3 一个复合式设备可能回报的所有配置方式



图5 一个复合式设备的影像串流配置方式
传输数据



  图7 一个复合式设备的高品质数据传输的配置方式



  图9 通过HIDView.exe中的View Descriptors项目:冰测试备种描述符
  当进人View Descriptor项目后,首先测试的是该鼠标设各的PID/VID码0x0458/0x0003。然后再依序以层(次目录)的方式,显示该设各的所有描述符。此外,还有一个测试项目Device Framework来测试各种描述符。
  以下,将利用这两个测试项目来显示各种描述符,并加以介绍。
  
            




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2