打印
[STM32F1]

STM32串口干扰

[复制链接]
2739|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bestmjl|  楼主 | 2016-1-8 09:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近公司一设备在调试时发现如下现象(以前的设备未出现过):
方式:显示屏与主控板均采用stm32f103xx设计,正常主控板周期性返回数据,显示屏与主控板在通信时采用问答式可靠通信(通讯参数57600,1.5米左右,串口未加硬件特殊处理,采用进口MAX3232);
现象:由于设备上存在多个功率电机,基本都在1.5kw,3-4个。当正常打开所有电机后,按“停止”一键停机时,显示屏STM32串口部分不能收到数据,通讯中断,发生通讯报警。
调试:单独对这个设备进行了调试,STM32程序本身此时并未死机,而是串口未收到数据一直处于重发状态,此时在线调试,发现串口已不能进入接收中断,但实际情况是主控板的stm32应该还是在正常发数据。因为在上述情况下,keil调试环境中,按RST后,显示屏的stm32的串口又能再次收到数据。
进展:目前我估计的问题是,由于电机的同时关闭(单独关闭电机串口死机现象很少,但也有),产生了电磁干扰,导致STM32串口出现错误。 基于此,我更换了屏蔽线,效果不佳。整机做接地处理,效果不佳。目前我猜测是由于STM32芯片串口在受到干扰后出现了硬件故障,软件查看SR寄存器,也没有什么异常。
      欢迎大家给出参考意见供调试。
PS:以前的几十台设备没有出现过类似现象,这是第一次。
沙发
bestmjl|  楼主 | 2016-1-8 11:05 | 只看该作者
求版主指点,STM32串口自身有没有什么保护机制,现在干扰后就不能再进入中断。 另外,我尝试过再多次收不到数据时,重新使能串口,试图恢复串口,无果

使用特权

评论回复
板凳
wyde518| | 2016-1-8 11:32 | 只看该作者
说说我以前看到的情况:主板附近有变频器带电机,只要电机启停,串口通讯就失败,后来优化串口通讯,就好了。这个项目是我同事做的,,具体怎么优化不知道,但硬件没有更改只优化程序就好了。

使用特权

评论回复
地板
yklstudent| | 2016-1-8 13:05 | 只看该作者
楼上去问问你同事怎么做的,回头来分享下啊

使用特权

评论回复
5
mmuuss586| | 2016-1-8 13:46 | 只看该作者
串口加超时处理看看;

电机的干扰问题要想办法解决,比如电源部分加滤波器等;
还有线的处理;

使用特权

评论回复
6
Ryze| | 2016-1-8 16:20 | 只看该作者
是不是要加上下拉电阻处理

使用特权

评论回复
7
天罡星lmy| | 2016-1-8 18:44 | 只看该作者
请在关闭电机时,用示波器观察下电源波形,有干扰的话加电源滤波电路,另外也捕捉下串口通讯的信号波形,或许比你猜测更有效

使用特权

评论回复
8
小兆home| | 2016-1-8 22:43 | 只看该作者
7楼说的对啊,示波器是时候用起来了,有时候观察一下故障波形,说不好就一切明了了

使用特权

评论回复
9
xmshao| | 2016-1-9 11:42 | 只看该作者
应该是电机停止时产生的强磁干扰;

好好检查下你的线圈泄放回路和地线的布局,让感受电流尽快到地,尽量不让感受电流往芯片里灌。

使用特权

评论回复
10
迪卡| | 2016-1-9 20:05 | 只看该作者
电机内部是线圈,是会产生强磁干扰的

使用特权

评论回复
11
icecut| | 2016-1-10 11:45 | 只看该作者
你看看你的代码.是不是进入了未处理中断里面了.有些中断不处理就会完蛋.
另外 cubemx 的代码有这类中断.调试的时候很容易遇到串口不工作.

使用特权

评论回复
12
Thor9| | 2016-1-10 17:08 | 只看该作者
电机的强磁干扰要处理,线用屏蔽线

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝