公司的芯片中的USB IP 和 PHY 验证中遇到的问题, 特此记录.
1. device回了数据, 但是host没有回ACK, 重新要数据, 倒是device一直回NAK.
这边有两个问题, host controller没有回ACK, 应该是PHY那边收到数据后, 不知道什么原因认为出错了, 导致controller又重新要数据.
controller这个行为是纯硬件的行为, spec中明确写到有这种情况的发生. 但是device却不知道什么原因状态乱了还是怎么样, 直接NAK了.
这个问题, 后来修改了phy的squelch threshold设定, 有明显改善.
如下图:
也有传输了512字节数据, 但是PHY认为有错误的情况:
也有短包传输, 认为数据有问题的情况.
2. device回了ACK, 但是controller却没有收到. 图貌似找不到了.