问题基本找到了,是我们查找BUG的方向出了问题,我们将SPI通讯数据通过USB端口输出到PC进行接收显示,并查看数据错误,发现出现误码的地方和64字节或64字节的整倍数有关,这不应该是SPI传输出现的误码,误码应该来自单片机系统的其它地方,和64字节相关。这正好是USB端口一包的定量。于是我们将测试误码的方向转向了USB接口。并且在论坛上看到了一个关于GD32E103的USB传输有硬件BUG的帖子(见图)。发现问题确实出现在这里。由于SPI传输的速率很高且传输的数据量很大,将这些数据通过USB传输给PC的过程中触发了帖子中提到的BUG。
|