CH569 HSPI主从机互传 crc error求助

您好,我在使用贵司的开发板时遇到了如下问题:

在两块开发板上分别下载了HSPI_BurstMode_UpDown_Switch 和 HSPI_DoubleDMAMode两个例程,其中上板是主机程序,下板是从机程序

image.png上板

上板

image.png下板(线是断开的,未接任何东西)

将上下板插在一起后,通过串口抓取输出,总是会出现crc error

image.png

HSPI_DoubleDMAMode例程的从机串口输出信号

image.pngHSPI_BurstMode_UpDown_Switch例程的主机串口信号

请问该如何解决这个crc error问题,恳请解答,万分感谢


不同的例程,不应当混用,每个例程都有HOST和SLAVE,应当对应。

CRC可能出现在刚上电,应当在主从端加上合适的延时,确保双方均准备好。

检查线路连接状态,确保硬件是没有问题的。

实际应用中存在CRC错误,需要通过纠错代码去尝试恢复。


您好,没有混用,我分别测试了两种不同例程的主从机程序,两边的情况是一样的,都出现了CRC error

线路连接如下图

image.png

这里把PA13飞线拉了出来,没有使用PA5

不过程序确实在上电后没有时延在进行HSPI传输,我尝试一下通过这个方法来解决问题


我在HSPI_BurstMode_UpDown_Switch例程中,尝试了以下两种加时延方法:

image.png

image.png

此时,串口打印出的信息如下:

image.pngimage.png

分别是在刚初始化完成后和进入crc检验之前,此时从机没有再报crc,主机总会出现crc,请问我这样加时延正确吗,应该怎样修改呢?



slave初始化之前不加延时,host初始化之前加上延时,确保主机第一次发起传输时,从机处于准备好。

主机产生crc错误,如果在当前并没有发起传输,crc可以忽略,通常是由于刚上电双端同步引起。

如果在连续的传输过程中产生crc,逻辑上可以重传,或者应用允许误码。


我的情况跟你一样,但是看程序功能好像你没有解决问题,可以交流一下


可以描述下硬件情况、代码运行情况、错误产生的时间点,有条件可以HSPI并口抓取波形进行分析。


只有登录才能回复,可以选择微信账号登录