好几个月了,在公司里一直在搞设备端的usb,现在对usb理解相对来说比较深刻了,写得程序的枚举,接受,发送 功能也基本实现了,但离最终目标还有很长一段。但现在又有新的困惑,还请大家指教。我用的芯片是net2272。实际上芯片都差不多,大家完全可以忽略它的影响。第一个问题,数据发送...
全文
回复(10) 2007-09-30 15:27 来自版块 - USB驱动开发
表情
imjacob引用第0楼imjacob于2007-09-30 15:27发表的 对于usb传输的新困惑 : 第二个问题是,控制端点的,假设大小是64B,我第一次发送的设备描述符18B,这样算不算短包? 因为之前我只知道接受才有短包。还有虽然刚刚只传了18B,但看那个端点还有多少字节剩余的寄存器...(2007-10-24 18:14)
imjacob现在我基本了解了,in token应该是轮询的发 事实上,设备端先发数据到 in端点上,然后使之有效,然后收到in token后,把数据发送出去 ,之后产生一个发送完成信号。 实际上和uart的发送查不错。 甚至可能所有的通信方式都这样??(2007-10-19 22:59)
imjacob谢谢了(2007-10-06 13:37)
leonmcu问题1:Polling方式。 问题2:短包。从机回复短包,或空包(0B数据)表示完成一次传输,所以这样的包肯定是一次传输中从机最后所发送的包。(2007-10-05 08:05)
imjacob我明白你的意思。 对于bulk方式的过程,我是这么理解的: 首先主机发送一个in token,然后设备受到,产生中断,把数据放到芯片缓冲区,然后主机就接受到了数据。主机发送ack。然后重复这一过程。事实上,我的理解是这样的过程是除了isochronous方式之外,其他三种都是这样...(2007-10-03 11:05)
bance我没有看到过确切的说明。 在传入数据的时候,数据无非是放在芯片缓冲区或主机内存中。 方式1:不关主机的程序需不需要只要有数据都先从下边收上来放到内存中再说,要的时候直接丢给程序。 方式2:数据先压在芯片中,当主机确切的说明需要数据的时候,再放上去。 方式1中需要轮询。 如果...(2007-10-01 23:17)
imjacob好像我也看到过中断方式下是,但我想知道的是bulk方式,不过还是感谢。(2007-10-01 23:01)
bance第一个问题:记得在看68013的手册时见到过,当采用中断传输方式的时候系统为了保证实时性,周期性的发送IN TOKEN,从而实现主机对设备的轮询。其它方式下的不是很清楚。 第二个问题:短包的没研究过。(2007-10-01 22:43)
imjacob好的,谢谢 短包就是那个数据比最大包小的包。通常最后一个包是短包啊(2007-09-30 21:59)
vip0126第一个问题,是。不受。我记得host 是不停的发in token的,一旦device有了数据,就会发送到host端 第二个问题,不懂。应该是短包吧。(2007-09-30 16:39)

返回顶部