阅读:1560回复:4
D12的 ISO工作方式讨论
我用D12的ISO方式工作时,发现一个怪现象。我是用DMA模式工作的,每个frame(1ms)内只能传送64或128个字节,64/128是D12的fifo 大小,它与firmware定义的MaxPacketSize无关。从示波器上看,发送128个字节只占用80us,也就是剩下的92%带宽浪费了。开始我怀疑是Philps的driver 的问题,可是根据microsoft 2000DDK的ISOUSB改变的driver同样有这个现象。不知道这是不是D12本身的bug?
|
|
沙发#
发布于:2002-08-19 20:59
这不是D12本身的bug。他是USB同步传输的协议所决定的。为提高传输速度最好用批传输,同时D12运行在同步模式。
|
|
板凳#
发布于:2002-08-20 13:15
批传输是bulk,还是用2个IRP轮流操作?如果是前者,如何可能实现。后者的方法我试过,也不行。
|
|
地板#
发布于:2002-08-20 15:23
不知道你用示波器怎么抓USB包,数据可是经过编码,bit stuff等处理的,而且没有数据时总线上也有数据,你怎么知道你的128bytes占80us?
|
|
地下室#
发布于:2002-08-20 16:44
我是用示波器看DMAREQ引脚,我的DMA控制器响应DMAACK,和USBWR信号,每ms只出现128个DMAREQ,集中在80us内,剩下的92%时间DMAREQ为低。
|
|