利用usb能否设计出一个全双工协议?

[复制链接]
 楼主| twicave 发表于 2011-3-7 16:37 | 显示全部楼层 |阅读模式
工作中我要为usb链路设计一个通讯协议。
之前的设计是一个完全双向的。
后来发现这样做好像不能实现,
因为usb是一个主从式结构,从机需要发送数据包的时候,需要主机发出ep_in token.

你们的设计中做过全双工的通讯协议吗?
可以介绍一下。
dqyubsh 发表于 2011-3-7 18:11 | 显示全部楼层
USB2.0就是主从的,主机发起命令,设备才能响应。据说USB3.0设备可以申请中断主机。

通常的作法就是主机发命令,等待设备传来数据,从而完成一个回合的通讯。主机不取数,设备就空转。
 楼主| twicave 发表于 2011-3-9 11:24 | 显示全部楼层
有没有谁试过,在usb从模式,进入ep_in模式后,仍可以响应ep_out包,并把发送缓冲区的内容清空?

如果这样是可行的,那么双向协议也应该是可行的。
dqyubsh 发表于 2011-3-9 14:12 | 显示全部楼层
你说的大概有点象异步通讯,主机随意发下去命令,设备相继执行并返回结果。主从之间没有一问一答的必然对应关系。主机收到的,不一定是刚刚发下去的命令返回的。如果能实现这个,就已经是大大地隔离了软件和硬件的关系。粗看了USB3.0,它是全双工的异步通讯。
 楼主| twicave 发表于 2011-3-11 16:58 | 显示全部楼层
昨天看了一个usb转串口的实现。对于双向通讯的情形。实际上是使用了两个通道。通道0和中断传输。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

44

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部