|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我现在正在验证一个USB2.0控制器的IP,支持高速高带宽。验证方法为PHY板+FPGA板,FPGA里放置我的IP。
现在枚举过程都能正常完成。但在同步传输的时候,发现PHY发出的SOF不是周期性的125us。
而是间歇性的。测试发现:在大约250ms内,有36ms的时间,SOF是每隔125us就有一个,但大部分时间,
是没有SOF的。我的主机就只接了我的这一个USB设备,而且主机驱动程序是在不停地请求数据的。根据
我对USB协议的理解,在同步传输的时候,SOF应该是125us周期性的(当然会有小的偏差),但绝对不会
出现间歇性的。那么问题会出现在哪呢? 我个人分析如下:
1、对协议理解错误?向大家求证下,是不是我理解错了?
2、PHY丢SOF包?如果这样,枚举为什么又能很好地完成,枚举过程也是有SOF的。
3、主机请求数据后,数据有错误,然后停止请求,导致没有SOF?但协议规定,同步传输时,主机不会
对数据的对错进行判断与重新请求,而是连续不断地请求新的数据。
那么问题究竟出在哪呢?请大家给个答案吧。 |
|