社区导航

 

搜索
查看: 1158|回复: 1

[原创] USB协议学习相关

[复制链接]

194

TA的帖子

3

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-3-3 18:43 | 显示全部楼层 |阅读模式



此内容由EEWORLD论坛网友REMY原创,如需转载或用于商业用途需征得作者同意并注明出处
1.什么时候返回0长度数据包
2.Set_Configure 与Get_Cinfigure
3.事务的格式有哪几种,如何切换?四种传输模式由端点决定?
CONTROL/BULI/INTERRUPT/ISOCHRONOUS TRANS,由控制端点进行枚举设备,枚举过程中主机获取设备端点描述符,根据端点描述符的bmAttributes位来确定设备枚举结束后使用何种方式传输数据。(非控制事务的传输切换没看到,主观感觉并没有多大用处)
4.未产生应答信号的原因?
接收设备没有能力接收数据或发送设备没有能力发送数据
5.字符串描述符索引值?
字符串描述符索引值不能重复。字符串索引值为非零时表设备具有该字符串描述符。USB主机通过索引号读取字符串描述符,索引号为0时表语言ID。
6.HID报告描述符设置原则?
参考HID CLASS,HID USAGE TABLE,做出相应报表需要注意的是报告描述符长度在HID类描述符里设置,长度一定要统一,不然设备枚举将会出错,具体规则解释下面链接给出了比较全面的介绍,但是还存在疑问:1.如何开集合,2.根据描述符的定义如何组合需要返回的数据(虽然在HID类说明手册58页给出示例,但是还有点摸不着头脑,我自己用CH559做了个测试但是用BUSHOUND抓包出现乱码,准确的说不是乱码,只是数据是什么我不能解析)?
7.设备类、子类协议该如何定义?
分层看,在设备描述符里可以定义通信设备类(可在接口描述符里定义)集线器类个人健康设备类…而在配置描述符中可以配置该设备支持那些接口,并由此可接着定义下面的接口描述符,由接口描述符提出该接口用的是何种协议:HID/MASS STORAGE/??
8.主机如何通过描述符的哪些条目来加载驱动,如何确认已经枚举过的设备而不重新查找INF文件?
9.这个是自己踩坑踩出来的:设备枚举时在非标准请求,0端点返回STALL总线会给设备频繁复位。查了手册发现下段文字能给予解释。(USB2.0协议手册650页)
STALL indicates thata function is unable to transmitor receive data, or that a control pipe request is not supported




此帖出自单片机论坛

回复

使用道具 举报

194

TA的帖子

3

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-3-3 18:46 | 显示全部楼层
因为刚接触两个多星期,能力有限,有解释不恰当的还有问题没回答欢迎补充,行文有点糟糕,在onenote上写的,直接复制粘贴过来没想到会成这样。将就看吧,过阶段有空了再做整理

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/8 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-5-25 05:43 , Processed in 0.108349 second(s), 20 queries , Gzip On, MemCache On.

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