版块
论坛
喜欢
话题
应用
搜索
登录
注册
escape的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=15555
usb中断传输的真实含义
呵呵。大家好! ;)我想请教一个问题:usb中断传输,调用函数UsbBuildGetInterruptOrBulkTransferRequest后,数据是怎样通过底层软件的轮询,被传输到缓冲区的。是不是上层驱动程序完全不需要关心这个轮询的过程?轮询过程已经被完全封装了?
回复
(
13
)
2004-07-01 16:20
来自版块 -
USB驱动开发
◆
◆
表情
告诉我的粉丝
提 交
metalwing
:
WINDRV又见你了,想问你个问题. 我的板子在20MHZ(DMA读写)频率下很正常,可是我把频率提到40MHZ就不行了,无法接到总线上DMA数据传输到的中断,也无法接到DMA传输完成的中断(DMA一直在传输),我用的是ISP 1581芯片.是否是51的处理频率(12MHZ,一...
(2004-07-28 16:09)
回复
mboma
:
windrv,我觉得pengenwen说的"在中断传输中,驱动一般需要维持一个永不完成的URB,以便驱动不断地从固件查询数据,然后通过事件方式通知应用程序"没有什么不对的啊,通常在usb驱动中处理中断传输都可以用这种实现方式的啊。我觉得他说的东西跟你说的不是一...
(2004-07-28 13:52)
回复
FutureNow
:
有启发,谢谢各位!
(2004-07-13 11:28)
回复
windrv
:
只要设备能回应NAK, 读数的URB等多长时间都没有问题,通讯不会断掉。在我们的应用中,读数的URB经常会等好几个小时。 不过,你说的设备在设备管理器里消失是另外一个问题。即使EP被STALL,USB 的设备对象还是在Windows系统里的,不会消失。
(2004-07-13 10:07)
回复
lejianz
:
谢谢windrv大侠的精彩答复,按大侠所说,如果EZUSB设备的一个IN令牌包传输过程中,SIE能自动发也NAK,而不是STALL,那么我可以在很长一段时间里不响应此IN中断,因为有NAK说明设备在忙。这也印证我在ICE仿真时,当在中断里下断点时,设备管理器里的设备不会消失。但我...
(2004-07-12 08:50)
回复
windrv
:
USB是主从通讯模式,由Host controller控制何时与哪个设备的哪个端口通讯。当它需要从某个EP读入数据时,它会发一个IN令牌给此端口。端口收到令牌后,必须在某一时间间隔内把数据发给Host Controller然后返回一个"OK"令牌;如果端口在此...
(2004-07-10 12:59)
回复
escape
:
对于控制传输,通常没有数据阶段传输的要在50ms内完成,如果有数据阶段则第一个数据包要在500ms内发送给主机,之后的一次增加500ms 对于批量传输,如果驱动程序没有超时控制,则什么时候响应都行 如果有则要在超时控制的时间范围内完成 对于中断传输,和批量传输基本一样 ...
(2004-07-06 08:52)
回复
jinghuiren
:
对于控制传输,通常没有数据阶段传输的要在50ms内完成,如果有数据阶段则第一个数据包要在500ms内发送给主机,之后的一次增加500ms 对于批量传输,如果驱动程序没有超时控制,则什么时候响应都行 如果有则要在超时控制的时间范围内完成 对于中断传输,和批量传输基本一样 对...
(2004-07-06 08:18)
回复
lejianz
:
请教windrv一个问题,在固件编程时,USB通信一般通过外部中断来实现,如果我在做某些工作时,不能及时响应此中断,那么不响应这个中断的时间有多长?我知道总线如果在3ms里没响应,将会挂起,这段时间是否跟中断传输有关?
(2004-07-05 14:28)
回复
windrv
:
pengenwen 说的不对。 USB是共享总线,如果在USB HUB上有多个设备同时进行大数据量传输。例如设备A在传输4MB的数据,那么设备B在设备A数据传输期间有可能得不到响应。如何保证设备B在其它设备传输数据时也能及时得到响应?设备B可以设立中断传输端口,这样Host...
(2004-07-05 03:04)
回复
1
2
下一页 »
escape
加关注
写私信
0
关注
0
粉丝
1020
帖子
返回顶部