呵呵。大家好! ;)我想请教一个问题:usb中断传输,调用函数UsbBuildGetInterruptOrBulkTransferRequest后,数据是怎样通过底层软件的轮询,被传输到缓冲区的。是不是上层驱动程序完全不需要关心这个轮询的过程?轮询过程已经被完全封装了?
回复(13) 2004-07-01 16:20 来自版块 - USB驱动开发
表情
metalwingWINDRV又见你了,想问你个问题. 我的板子在20MHZ(DMA读写)频率下很正常,可是我把频率提到40MHZ就不行了,无法接到总线上DMA数据传输到的中断,也无法接到DMA传输完成的中断(DMA一直在传输),我用的是ISP 1581芯片.是否是51的处理频率(12MHZ,一...(2004-07-28 16:09)
mbomawindrv,我觉得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)
windrvUSB是主从通讯模式,由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)
windrvpengenwen 说的不对。 USB是共享总线,如果在USB HUB上有多个设备同时进行大数据量传输。例如设备A在传输4MB的数据,那么设备B在设备A数据传输期间有可能得不到响应。如何保证设备B在其它设备传输数据时也能及时得到响应?设备B可以设立中断传输端口,这样Host...(2004-07-05 03:04)

返回顶部