打印

USB一次传输数据超出端点最大数据

[复制链接]
1519|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
如果主机要发送的数据超过端点的最大数据,需要2次传输,正确的传输方式应该是
1.OUT Data0 ACK; OUT Data1 ACK?还是
2.OUT Data0 Data1 ACK?呢
第一种需要2个OUT事务
第2种只需要1个OUT事务,能不能这样传输?
感谢大家回复!

相关帖子

沙发
hgytnbhg| | 2014-10-18 00:57 | 只看该作者
本帖最后由 hgytnbhg 于 2014-10-25 19:05 编辑

绑定

使用特权

评论回复
板凳
diyusb| | 2014-10-18 13:50 | 只看该作者
是:1.OUT Data0 ACK; OUT Data1 ACK
除实时传输外,其他传输都是一包数据一个应答

使用特权

评论回复
地板
584025981| | 2014-10-18 14:34 | 只看该作者
第二种

使用特权

评论回复
5
qingdao_569|  楼主 | 2014-10-18 21:22 | 只看该作者
到底哪种是正确的呢?

使用特权

评论回复
6
cool_coder| | 2014-10-18 23:03 | 只看该作者
这里有一份带实例的讲解,感觉比官方的规范容易懂:

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
qingdao_569 + 1 赞一个!
7
yubsh| | 2014-10-19 07:38 | 只看该作者
主机只要一条命令就可以取到大块数据,数据拼接的细节是驱动层实现的。1的效率太低,应该是2,固件只要判断端点是否被主机读空了,空了你就发剩余的数据,全部发完发结束标记。68013是这个情况。

使用特权

评论回复
8
insignal| | 2014-10-23 23:32 | 只看该作者
yubsh 发表于 2014-10-19 07:38
主机只要一条命令就可以取到大块数据,数据拼接的细节是驱动层实现的。1的效率太低,应该是2,固件只要判断 ...

usb spec上有详细的图
是1
固件如何做,需要看你选什么样的usb芯片

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

粉丝