Cypress技术论坛
直播中

蒲泛粟

7年用户 915经验值
私信 关注

CY7C68013与FPGA通信返回数据顺序不正确是怎么回事?


如图,CY7C68013 在与 FPGA 通信测试时偶尔会出现接收的数据顺序与发送数据顺序不一致的情况,BB BB 为协议头是首先发送的二个字节,从FPGA时序仿真也能看出是首写发送到 FD 总线上的,但是实际读取时 BB BB 出现在第 18 位,这个会是什么原画导致的?补充说明一下,这个情况是偶尔出现的,出现后需要断电复位后又会恢复正常,但是还是会有概率随机性出现。
USB固件:Cypress Suite USB 3.4.7FirmwareBulkloop
                                                                                                                                                                                                                                                                                                                                                                                      

回帖(1)

早知

2024-2-27 15:45:52
这个问题可能由几个原因引起:

1. 信号不稳定:在通信过程中,如果信号存在波动、干扰或时钟不稳定等问题,可能会导致数据顺序错误。这可能是由于布线问题、电源噪声、接地问题等引起的。

2. 延迟不一致:由于信号传输中存在不同的延迟路径,可能会导致数据在接收端的顺序不正确。这可能与信号的传播时间、电路中的缓冲器或其他因素有关。

3. 缓冲区错误:如果FPGA的接收端有缓冲区,可能会导致数据顺序错误。这可能是由于数据写入、读取或处理的顺序不正确,或者由于缓冲区溢出或未清空引起的。

为了解决这个问题,你可以尝试以下几种方法:

1. 优化信号完整性:检查和优化电路布线、接地和电源供应,以确保稳定的信号传输。

2. 修改时序:根据FPGA和CY7C68013之间的传输延迟,调整时序以确保正确的数据顺序。

3. 调整缓冲区:检查FPGA接收端的缓冲区设置,确保数据写入和读取的顺序正确,并确保缓冲区不会溢出。

4. 使用数据校验:在数据传输中使用校验码或校验和来验证接收到的数据的完整性,以确保数据的正确顺序。

5. 检查硬件和软件设置:确保USB固件和FPGA的配置正确,并且没有其他设置或选项可能导致数据顺序错误。

如果问题仍然存在,可能需要进一步调试和分析,例如通过逻辑分析仪或示波器来检查信号质量和时序,以找出问题所在。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分