tulipjuan
驱动牛犊
驱动牛犊
  • 注册日期2004-08-20
  • 最后登录2004-09-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1045回复:0

SL811HS底层驱动的带宽是怎么计算的啊?

楼主#
更多 发布于:2004-09-29 21:42
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:杂项开销
这个杂项开销也不好确定,不知如何写代码?
游客

返回顶部