CH563 DMA SPI 发送数据错误位

在使用CH563EVT参考例程\EXAM\SPI\SPI0_DMA的例子进行测试时,通过逻辑分析仪发现发送的数据会有规律的出现异常位,很短暂的脉冲,虽然不影响数据传输,但是这个情况很不正常。代码我没有修改,直接使用的官方例子。逻辑分析仪的截图如图,上面的箭头所指就是异常脉冲的位置,差不多2个字节就会出现,是程序问题还是硬件芯片问题?各位有没有遇到过?怎么解决?

image.png

您好,您这个逻辑分析仪采样率是不是设置的比较高呢,一般情况下,当逻辑分析仪采样率过高的时候,CS信号是较容易出现这个问题的。但是不会影响数据的传输。您可以使用示波器同步看,正常是没有那个逻辑分析仪的小脉冲。


好的,我们再用示波器看一下,我们也把逻辑分析仪采样率降低试一下。这个脉冲是在MOSI管脚出现的,不是CS管教,上面的图里面0通道采样的是MOSI管脚,1通道采样的是SCK管脚,2通道采样的CS管脚。这个小的脉冲应该在SPI通信里面没有影响数据正确,只是我们是准备使用SPI DMA的方式去驱动WS2812类型的幻彩灯,模拟出归零码的协议,这个小的脉冲就会使通信出错,所以我们才想找一下是哪里的原因导致的


您好,你这个尖峰是因为563在发送完数据之后,MOSI脚重新保持高电平从而导致出现了这么一个小尖峰。您如果是驱动WS2812的话,那您可以把那个高电平利用上,WS2812的0和1都是会有一段时间的高电平+低电平组成的。您只需正常同步那个尖峰,然后最后可能也就是高电平保持的时间稍微长了一点。


好的,太感谢了,我们在初始设置程序里面做了很多修改测试确实没有效果,您这个处理方式我们参考一下,应该可以解决,谢谢了。


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