OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2126|回复: 3

SPI通信帧同步问题

[复制链接]

44

主题

260

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2012-3-8
在线时间
29 小时
发表于 2017-6-27 14:57:13 | 显示全部楼层 |阅读模式
20金钱
STM32F103的SPI工作在从机,DMA模式,N个字节为一帧数据(使能片选后连续传输N个字节)。
如果因为硬件干扰,在通信过程中,丢失了1个位时钟,导致SPI通信丢失了一个字节,此时DMA计数器没有加满,不能产生DMA中断。
当下一帧到来时,这帧的第一个字节就会被DMA填入上一帧的Buffer。

问题:怎么解决帧同步的问题?实现因干扰出错的数据只影响当前帧。
设想:从机的片选IO为输入模式,能否同时设置为外部中断,每次上升沿(主机传输完成后失能片选),复位DMA

最佳答案

查看完整内容[请看2#楼]

你好,你的问题解决没?之前也遇到这个问题,当时的处理方法是主机和从机直接加了一个用于同步的信号线,主机开始新的一帧数据时先通过信号线给你个边沿,从机捕获到信号跳变时刷新待传输的数据。不知道楼主有没有想到更好的方法。你那个片选做外部中断可行吗?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2014-5-20
在线时间
5 小时
发表于 2017-6-27 14:57:14 | 显示全部楼层
你好,你的问题解决没?之前也遇到这个问题,当时的处理方法是主机和从机直接加了一个用于同步的信号线,主机开始新的一帧数据时先通过信号线给你个边沿,从机捕获到信号跳变时刷新待传输的数据。不知道楼主有没有想到更好的方法。你那个片选做外部中断可行吗?
单片机 ucos
回复

使用道具 举报

44

主题

260

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2012-3-8
在线时间
29 小时
 楼主| 发表于 2017-6-27 15:06:33 | 显示全部楼层
@正点原子 原子哥帮忙一起看下
回复

使用道具 举报

44

主题

260

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2012-3-8
在线时间
29 小时
 楼主| 发表于 2017-8-30 10:39:02 | 显示全部楼层
WHL245387 发表于 2017-7-5 16:03
你好,你的问题解决没?之前也遇到这个问题,当时的处理方法是主机和从机直接加了一个用于同步的信号线,主 ...

解决了,和你一样提供了帧同步信号
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-15 04:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表