SPI通信帧同步问题

2019-08-14 04:25发布

STM32F103的SPI工作在从机,DMA模式,N个字节为一帧数据(使能片选后连续传输N个字节)。
如果因为硬件干扰,在通信过程中,丢失了1个位时钟,导致SPI通信丢失了一个字节,此时DMA计数器没有加满,不能产生DMA中断。
当下一帧到来时,这帧的第一个字节就会被DMA填入上一帧的Buffer。

问题:怎么解决帧同步的问题?实现因干扰出错的数据只影响当前帧。
设想:从机的片选IO为输入模式,能否同时设置为外部中断,每次上升沿(主机传输完成后失能片选),复位DMA
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
WHL245387
1楼-- · 2019-08-14 06:40
你好,你的问题解决没?之前也遇到这个问题,当时的处理方法是主机和从机直接加了一个用于同步的信号线,主机开始新的一帧数据时先通过信号线给你个边沿,从机捕获到信号跳变时刷新待传输的数据。不知道楼主有没有想到更好的方法。你那个片选做外部中断可行吗?
以枫之名
2楼-- · 2019-08-14 08:12
@正点原子 原子哥帮忙一起看下
以枫之名
3楼-- · 2019-08-14 12:16
 精彩回答 2  元偷偷看……

一周热门 更多>