USB学习设备描述符_第1页
USB学习设备描述符_第2页
USB学习设备描述符_第3页
USB学习设备描述符_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、USB学习(二)-设备描述符USB描述符概述描述符作用就是通过命令操作给主机传递配置信息,从而让主机知道设备具有什么功能、属于哪一类设备、占用多少带宽、使用哪类传输的方式及数量的量大小,只有主机确定了配置信息之后,设备才能真正开始工作。USB有5种标准描述符:USB设备描述符配置描述符-字符描述符接口描述符端点描述符HID特有的描述符:HID类描述符报表(Report)实体描述符(Physical)描述符之间的关系:个设备只有一个设备描述符,而一个设备描述符可以包含多个配置描述符,而一个配置描述符可以包含多个接口描述符,一个接口使用了几个端点,就有几个端点描述符。由此可以看出,USB的描述符之

2、间的关系是一层一层的,最上一层是设备描述符,下面是配置描述符,再下面是接口描述,最后就是端点描述符。在获取描述符时,先获取设备描述符,然后在获取配置描述符,根据配置描述符中的配置集合长度,一次将配置描述符、接口描述符、端点描述符一起一次读回。其中可能还会获取设备序列号,厂商字符串,产品字符串等。设备描述符标准的设备描述符的字节是18个字节,具体定义如下:僞律険,字竹锐瑚0bljungth1谨用述持的字W)JbJDescripiorTyp*I符捱18(没备描连符为oxub2l.rdUSBE用的USR协就Bi本4bDrYicrtlasji1blJcvinSubOiMIblitYicePintocQ

3、l)设签阶柚用的协況胃点最尢包拴aidVradir2r*m10idProdutt2产Eid榕存址节丸小F辛审1A阴24iManufatlirr?!1的字科申的網引1SiPmdiidC1理产品的字符甲的察引16iSerialNufnb-r1产册序弭号字符申的粥引bLength:描述符的长度,假如标准的是18字节,那么就是0 x12;bDescriptorType:设备描述符,则为0 x01;bcdUSB:USB协议层用的具体协议,比方说USB2.0,注意高位在前,低位在后;bDeviceClass:具体如下图所示:ClassUsageDescriptionExampie気orsxceptionC

4、Oh血vizeln&3ecifi&c411tevizeclasssun&zecifiedjterfacedescrip:crsareusedIodetemineneededdrkersC1hInterfaceAudoSpeaker,micraphon&1soundcard,MIDIC2hBothComnuncaJonsadCDCCentroModem,Eihemeladapter,Wi-Fadapter,RS232seaiadapter.UsedtogetherwithclassOAhe/onrJC3h1nterfsce卜umanirterfacedevice(HID)Keybeard,moi

5、se,jostcEC5h1nterfscePhyacallrrierfacaDevioePID)Foresfe&cbackjoystickC6hInterfaceIrnegeJPTP.MPebcain,soonerC7hInterfacePrinterLaserprinter”inkjetprinter*CNCmachine閉h1nterfsceMassstorageiMSCorUMS)USBlashdrive,memcarzrea:er1dgilaudicplaysr.dateIesmers,e*lemcldiveC9h血viceISBhubFullbandwidthhubCAhInterf

6、aceCDC-DataUsed:og&:her-withclass02h但hm筍CBhInterfaceSmaCardUSBsmancarJr&acerCChInterfaceContentsecjri)FngoprirtreaderCEhInterfaceVidsoWebcamCFh1nterfscePerscna1healthcaredevicecasw(PHDC)PlIsemonitor(walchlOhInterface/udo/Viceo(AV)Webcam,F;thCfevizeBillrdAscribesLSBType-Calternaterrod&se叩portedbydevi

7、ce通常的做法是将这个字段写为0 x00,当bDeviceClass=0时,bDevVcesubCiass也应该为0;bDevic:ewocOi:当类定义为0时,这个应该也为o,,当定义为Ff时,表示厂商旦定义协议;EFhBothMiscellaneous)acketSize0端占0的最大包长可以取值为8AdiveSyncdevice21664等;bMaxFEhackeLSizeu:u端占0口,最大包长,可以取I且为8InterfaceAppicetioi-specific,16,64等;IrDABrdge飞st&Measunemen:Chss(USBTMC)j习usbCFUDeviceFir

8、rnUpgrade)31dVendor,idProduct:这个是VID,PID,这个可以让帮助主机寻找该设备对应的驱动;bcdDevice:设备的版本号;iManufacture:厂商字符串的索引值,当值为0时,表示没有厂商字符串,当为其他值时,主机会利用这个索引值来获取相应的字符串;iProduct:类似于iManufacture,用这个值获取到字符串是显示在主机上的设备名称;iSerialNumber:设备序列号的索引值,用来索引设备序列号字符串我们可以通过VID,和PID来区分设备,但是当很多相同的设备添加同时插入主机时,可以通过iSerialNumber来区分这些个设备,当为0的时候

9、,表示没有设备序列号字符串;bNumConfigurations:表示设备有多少种配置,大部分usb设备只有一个配置。-圈圈上的例子codeuintBDeviceDescriptor0 xl2=希!fiif苻为IB字节AbLength字段.址备捕述符的隹喘为述(thd2)字节0 x12,fbDescriptorType字段.i殳袪描述符的城号为0 x010kC1/bcdUSE字戢一这里设宜啓本为USB1.1*即0 x0110由于艮小端结沟*所订低字卩血去*即姑】QML0 xl0DxDl./bDviceCiassTS观幻不隹设备懵述符中建丈设备宠.面在接口描述符中足主迎备光航吐该宁鞍的值为0QxOQ.bDeviceSubClass字馭bDeviceClass亨於为0时谟宁帶也対。QjtDOtbOevicEPEOocol字段.bDeviclass字段为D时*该字段也为0口x00/kWaxPack

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论