zkking
驱动牛犊
驱动牛犊
  • 注册日期2003-11-14
  • 最后登录2008-10-14
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望5点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1472回复:3

请教一下关于USB的传送

楼主#
更多 发布于:2007-07-17 19:51
usb基本上是被动的过程,也基本上是基于中断的,接受中断我可以理解,对于pipe的out过程,PC发给DEVICE后,device就可以得到某个pipe或者端点的接受中断,但是小弟对发送中断不太好理解?是数据刚来就发生了中断还是数据发送完了再来中断?另外,我用busbound调试usb,并没有一个上微机来发in令牌给device要求其发送数据,那么busbound如何获得device送出的数据?我的理解是:仅仅把数据放到device的发送fifo中然后使能端点,如果没有pc发送in令牌,这个数据是发不出去的。那么这个in令牌谁来发出?busbound会发出么?还是由操作系统定时发出?谢谢
onizuka2070
驱动牛犊
驱动牛犊
  • 注册日期2006-10-18
  • 最后登录2007-08-07
  • 粉丝0
  • 关注0
  • 积分430分
  • 威望44点
  • 贡献值0点
  • 好评度43点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-07-18 07:12
一样困扰着我,等待高手回答
yilou
驱动小牛
驱动小牛
  • 注册日期2004-02-17
  • 最后登录2008-03-20
  • 粉丝0
  • 关注0
  • 积分320分
  • 威望32点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-19 22:57
这个啊
我能回答一些,现在一般带USB接口的芯片,都可以称之为智能的USB SIE, 他能够完成一些USB协议之间通讯,握手等功能,这部分是不需要耗掉MCU的资源的,只有收到有用的数据,或者有要发的数据才需要MCU参入.
关于BUSHHOLD,具体的工作原理我说不上来,但是他只能抓到有用的传输数据,对与一些包的头啊,未啊,校验啊,令牌,是不能看到,如果要看到数据线上传输的完整的数据,需要借助与硬件,有一种设备CATC,有兴趣去了解哈.
希望能帮到你,希望能得到你的帮助!
lejianz
驱动中牛
驱动中牛
  • 注册日期2003-03-05
  • 最后登录2023-11-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望145点
  • 贡献值0点
  • 好评度116点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2007-07-20 13:41
我来回答吧:
1、对于中断传输IN,你的理解是对的,PC端会以一定的间隔发送读请求,对于中断的OUT的,当你把数据送至USB SIE的FIFO中去,并置发送使能。SIE会把数据送到USB BUS上去的。然后发送中断表示传输完成。

2、对于BULK的传输,当然也需要PC上的驱动发出请求,不然数据是送不上去的。当你插上USB设备的时,你能看到一些GET_DESCRIPTOR的请求,这些也需要驱动的支持。可能你看到的是假象,或者是你的驱动中发出的IN请求而不是在你的应用程序中。这样说,你明白了吧。
一起交流,共同提高!
游客

返回顶部