ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:19.34KB ,
资源ID:9118656      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9118656.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(设备描述符DeviceDscr.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

设备描述符DeviceDscr.docx

1、设备描述符DeviceDscr【1】设备描述符DeviceDscr重新看了描述符文件,对照了好多参考书,发现以前很多不明白的地方现在清晰了很多,不过有些地方可能从来没有用过的缘故,我也是不甚明了(打上了问号),只能以后用到的时候,有新的发现再慢慢理解了。dscr51里放的是USB描述符表,EZ-USB在重枚举阶段会读取或设置相应的描述符 db DSCR_DEVICE_LEN ; Descriptor length db DSCR_DEVICE ; Decriptor type dw 0002H ; Specification Version (BCD) db 00H ; Device clas

2、s db 00H ; Device sub-class db 00H ; Device sub-sub-class db 64 ; Maximum packet size dw 0B404H ; Vendor ID dw 0410H ; Product ID (Sample Device) dw 0000H ; Product version ID db 1 ; Manufacturer string index db 2 ; Product string index db 0 ; Serial number string index db 1 ; Number of configuratio

3、ns【1】db DSCR_DEVICE_LENbLength段指明整个设备描述符的长度,单位字节。【2】db DSCR_DEVICEbDescriporType段描述符类型值。DSCR_DEVICE04H设备描述符。【3】dw 0002H bcdUSB表明该USB设备所遵循的USB协议版本,用bcd码表示,2字节。例如2.0版本,值为0200H,用bcd码表示,低字节在前,高字节在后,表示为0002H;同理,1.1版本,则表示为1001H。【4】db 00H bDeviceClass段 指明USB设备所属的设备类。0,表示USB各接口相互独立工作,分属不通的设备类,具体信息在接口描述符中说明;

4、1FEH,表明该USB设备属于某个明确的设备类,例如04H代表显示设备FFH,厂商自定义的设备类。【5】db 00H bDeviceSubClass段 指明USB设备所述的设备子类。其值依赖bDeviceClass。 0,此时bDeviceClass必须首先为0 1FEH,详细的设备子类。例如如果bDeviceClass04H,是显示设备,则bDeviceSubClass01H,表示CRT显示器; FFH,厂家自定义【6】db 00H bDevicePortcol段 指明USB所使用的设备类协议。其值依赖bDeviceClass和bDeviceSubClass。0,表示该设备不使用任何设备类协

5、议。1FEH,则该USB必须属于某个明确的设备类和子设备类。如视频类协议(UVC),音频类协议(UAC)等。FFH,厂家自定义。【7】db 64 bMaxPacketSize0段 指明该USB设备端点0控制传输所支持的最大数据包长度,单位字节。【8】dw 0B404H VID【9】dw 0410H PID【10】dw 0000H bcdDevice段 指明USB设备版本号。产品ID【11】db 1iManuFacture段 厂商信息字符串索引值,没有时为0.这里为1,即下面的“Cypress”字符串。【12】db 2iProduct段 产品信息字符串索引值,没有时为0.后面的“EZ-USB”字

6、符串。【13】db 0 iSerial段 USB设备序列号信息字符串索引值,没有时为0.【14】db 1 bNumConfigurations段 指明USB设备所支持的配置数。如果USB设备支持两种传输速率,则该字段指出的是该速率下的配置数,而不是两种速率下的配置数和。EZ-USB FX2(68013)固件研究(8)dscr.a51文件【2】设备限定描述符:DeviceQualDscr2009-12-17 11:44设备限定描述符:DeviceQualDscrDeviceQualDscr: db DSCR_DEVQUAL_LEN ; Descriptor length db DSCR_DEVQ

7、UAL ; Decriptor type dw 0002H ; Specification Version (BCD) db 00H ; Device class db 00H ; Device sub-class db 00H ; Device sub-sub-class db 64 ; Maximum packet size db 1 ; Number of configurations db 0 ; Reserved设备限定描述符,9个字段,共10字节。仅当该USB为高速USB设备,且设备既需支持高速(High Speed)又需支持全速(Full)时,就需要用到设备限定描述符。例如该高速

8、USB设备目前工作于全速模式,则该描述符中包含高速模式的总体信息。在设备请求处理函数SetupCommand(void)中,当收到读设备限定描述符请求时,会首先判断是否为高速USB设备。if (HighSpeedCapable()。【1】db DSCR_DEVQUAL_LEN bLength段 整个设备限定描述符的长度,单位字节,共10个字节。【2】db DSCR_DEVQUAL bDescriptorType段 指出该描述符类型。06H-设备限定描述符。【3】dw 0002H bcdUSB段 USB协议版本号。【4】db 00HbDeviceClass段 该USB设备所属的USB设备类。【5

9、】db 00HbDeviceSubClass段 所属子类。对bDeviceClass的进一步细化分类说明。【6】db 00HbDeviceProtocol段 该设备所使用的设备类协议。【7】db 64bMaxPacketSize0段 端点0控制传输所支持的最大数据包长度,单位字节。【8】db 1bNumConfigurations段 另一速率所支持的配置数。【9】db 0bReserved段 保留,必须为0.EZ-USB FX2(68013)固件研究(9)dscr.a51文件【3】配置描述符2009-12-17 14:40配置描述符:HighSpeedConfigDscr/FullSpeedC

10、onfigDscr db DSCR_CONFIG_LEN ; Descriptor length db DSCR_CONFIG ; Descriptor type db (HighSpeedConfigDscrEnd-HighSpeedConfigDscr) mod 256 ; Total Length (LSB) db (HighSpeedConfigDscrEnd-HighSpeedConfigDscr) / 256 ; Total Length (MSB) db 1 ; Number of interfaces db 1 ; Configuration number db 0 ; Con

11、figuration string db 10000000b ; Attributes (b7 - buspwr, b6 - selfpwr, b5 - rwu) db 100 ; Power requirement (div 2 ma) 配置描述符包含8个字段,共9字节。所有的USB设备至少包含一个配置描述符,例如这里包含两个配置描述符高速HighSpeedConfigDscr和全速FullSpeedConfigDscr。【1】db DSCR_CONFIG_LENbLength段 描述符长度,9字节。【2】db DSCR_CONFIGbDescriptorType段 描述符类型。【3】db

12、(HighSpeedConfigDscrEnd-HighSpeedConfigDscr) mod 256db (HighSpeedConfigDscrEnd-HighSpeedConfigDscr) / 256wTotalLength段 指明配置信息总长度,2字节表示。为配置描述符,接口描述符,端点描述符,设备类定义描述符,供应商自定义描述符长度的和。在这里只有配置、接口和端点描述符。【4】db 1bNumInterface段 指明该配置所支持的接口数(?),最小为1.【5】db 1 bConfigurationValue段 指明该配置的配置值。例如这里值为1,在重枚举时,主机发送Setcon

13、figuration(x),当x1时,就调用该配置。 【6】db 00iConfiguration段 该配置的字符串索引值,没有时为0.【7】db 10000000bbmAttributes段 指明该配置的特性,8位。b0b4,保留,必须为0.b5:远程唤醒选择。1,支持远程唤醒;0,不支持远程唤醒。b6:是否总线电源选择。如果该USB设备外加了电源,1,使用总线电源,0,使用自供的电源。b7:必须为1.在主机设备请求case SC_GET_STATUS,case GS_DEVICE中获得该信息。【8】db 100 bMaxPower段 总线供电时,该USB设备可获得的最大电流。单位2mA,所

14、以最大值为250.如果该电流得不到满足,USB将不能使用这个配置EZ-USB FX2(68013)固件研究(10)dscr.a51文件【4】接口描述符2009-12-18 07:31接口描述符:; Interface Descriptor db DSCR_INTRFC_LEN ; Descriptor length db DSCR_INTRFC ; Descriptor type db 0 ; Zero-based index of this interface db 0 ; Alternate setting db 6 ; Number of end points db 0ffH ; Int

15、erface class db 00H ; Interface sub class db 00H ; Interface sub sub class db 0 ; Interface descriptor string index 接口描述符有9个字段,共9字节。注意,主机不能用SetDescription和GetDescription来设置和读取接口描述符,它只能作为配置描述符的一部分信息返回,在主机发送case SC_GET_DESCRIPTOR,且case GD_CONFIGURATION时一并读取。所以我们看到,在fw.c文件中并没有对接口描述符的判断。2楼 05210324kw 发表

16、于:2010-4-29 18:49:00【1】db DSCR_INTRFC_LEN bLength段 描述符长度。【2】db DSCR_INTRFCbDescriptorType段 描述符类型。【3】db 0 bInterfaceNumber段 指明该接口的接口号。【4】db 0 bAlternateSetting段 指明接口的可替换设置值。【5】db 6 bNumberEndpoints段 指明接口所使用的断点数,不包括端点0.【6】db 0ffHbInterfaceClass段 指明接口所使用的设备类。 0,保留。 1FEH,表明该接口属于某个明确的USB设备类。FFH,厂家自定义的设备类

17、。【7】db 00HbInterfaceSubClass段 该接口所属的USB设备子类。【8】db 00H bInterfaceProtocol段 该接口所使用的设备类协议。【9】db 0 iInterface段 接口字符串描述符的索引值,没有时为0.EZ-USB FX2(68013)固件研究(11)dscr.a51文件【5】端点描述符2009-12-18 16:50; Endpoint Descriptor db DSCR_ENDPNT_LEN ; Descriptor length db DSCR_ENDPNT ; Descriptor type db 02H ; Endpoint num

18、ber, and direction db ET_BULK ; Endpoint type db 00H ; Maximun packet size (LSB) db 02H ; Max packect size (MSB) db 00H ; Polling interval 端点描述符有6个字段,共7字节。和接口描述符一样,也不能由主机通过发送GetDedcription()请求读取,只能作为配置信息case GD_CONFIGURATION的一部分返回给主机。【1】db DSCR_ENDPNT_LEN bLength段 该描述符长度,单位字节。【2】db DSCR_ENDPNTbDescr

19、iptorType段 该描述符类型。【3】db 02H bEndpointAddress段 指明端点的端点号及传输方向。 b0b3:该端点的端点号。如0001端点1,0010端点2; b4b6:保留,必须为0 b7:端点传输方向。1IN传输;0OUT传输 【4】db ET_BULKbmAttributes段 指明端点的一些特性。 b0b1:端点的传输类型。00控制传输,01同步传输,10块传输,11中断传输 b2b3:当该端点为同步端点时,这两位指出同步类型。00非同步,01异步,10自适应,11同步 b4b5:端点用法类型。00数据端点,01显示反馈端点,10隐式反馈端点,11保留 b6b7

20、:保留,必须为0 【5】db 00HwMaxpacketSize段(LSB) 指明端点所支持的最大数据包长度,共16位。 b0b10:端点所支持的最大数据包长度。 b11b12:当该端点为高速中断端点或同步端点时,这两位指出每小帧中最多传输的事务数。00每小帧1次(默认),01每小帧2次(附加一次),10每小帧3次(附加2次),11保留。 b13b15:保留,必须为0 【5】db 02HwMaxpacketSize段(MSB) 高8位。数据包大小为:0000 0010 0000 0000,取010位,还是0200,512字节。 【6】db 00HbInterval段 指明端点数据传输的访问间隔

21、。 低速中断端点:10255ms. 全速中断端点:1255ms 高速中断端点:116,访问间隔为2(bInterval-1)(幂)1us 全速/高速同步端点:116,访问间隔为2(bInterval-1)(幂)1ms 和2(bInterval-1)(幂)1us 高速块/控制out端点:指明其最大NAK握手包发送速率。 0,表示该端点永远不会发出NAK握手包 其他值,表示每个bInterval时间内,该端点最多只能发送一次NAK握手包。 其他类型端点:该字段无效。EZ-USB FX2(68013)固件研究(12)dscr.a51文件【6】字符串描述符2009-12-18 16:51字符串描述符:

22、StringDscr1:StringDscr1: db StringDscr1End-StringDscr1 ; String descriptor length db DSCR_STRING db C,00 db y,00 db p,00 db r,00 db e,00 db s,00 db s,00StringDscr1End: 3个自独,长度是变化的(字节)。偏移量 域 大小 值 描述 0bLength 1 N+2此描述表的字节数 1bDescriptorType 1 常量字串描述表类型 2wLANGID0 2 数字语言标识(LANGID)码0 NwLANGIDx 2 数字语言标识(LANGID)码X【1】db StringDscr1End-StringDscr1bLength段 描述符长度【2】db DSCR_STRING bDescriptorType段 描述符类型。【3】Unicode编码的字符串。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1