最近公司一设备在调试时发现如下现象(以前的设备未出现过):
方式:显示屏与主控板均采用stm32f103xx设计,正常主控板周期性返回数据,显示屏与主控板在通信时采用问答式可靠通信(通讯参数57600,1.5米左右,串口未加硬件特殊处理,采用进口MAX3232);
现象:由于设备上存在多个功率电机,基本都在1.5kw,3-4个。当正常打开所有电机后,按“停止”一键停机时,显示屏STM32串口部分不能收到数据,通讯中断,发生通讯报警。
调试:单独对这个设备进行了调试,STM32程序本身此时并未死机,而是串口未收到数据一直处于重发状态,此时在线调试,发现串口已不能进入接收中断,但实际情况是主控板的stm32应该还是在正常发数据。因为在上述情况下,keil调试环境中,按RST后,显示屏的stm32的串口又能再次收到数据。
进展:目前我估计的问题是,由于电机的同时关闭(单独关闭电机串口死机现象很少,但也有),产生了电磁干扰,导致STM32串口出现错误。 基于此,我更换了屏蔽线,效果不佳。整机做接地处理,效果不佳。目前我猜测是由于STM32芯片串口在受到干扰后出现了硬件故障,软件查看SR寄存器,也没有什么异常。
欢迎大家给出参考意见供调试。
PS:以前的几十台设备没有出现过类似现象,这是第一次。 |