阅读:1043回复:0
SL811HS底层驱动的带宽是怎么计算的啊?
CYPRESS公司提供的SL811HS底层驱动的带宽是怎么计算的啊?代码如下:
speed = hp->RHportStatus->portStatus; if (speed & PORT_LOW_SPEED_DEV_ATTACH_STAT) { ii = 8*8*len + 1024; } else { if (slow) { ii = 8*8*len + 2048; } else ii = 8*len + 256; } ii += 2*10 * len; jj = SL811Read(hci, SL11H_SOFTMRREG); kk = (jj & 0xFF) * 64 - ii; if (kk < 0) { DBGVERBOSE ("hc_add_trans: no bandwidth for schedule, ii = 0x%x," "jj = 0x%x, len =0x%x, active_trans = 0x%xn", ii, jj, len, hci->active_trans); return (-1); } 请哪位高手解释一下?我在用SL811做机定盒USB接口时可能由于这里的原因导致在些文件时只能写到100多K时就没有任何中断。 我在一本书上看到一种算法: BW=EP+INT(BPF/(OH+EP))/125 EP:端点的包的大小 BPF:每帧的字节数,1500 OH:杂项开销 这个杂项开销也不好确定,不知如何写代码? |
|