[STM32F1] STM32F103VET6受干扰复位

[复制链接]
2769|10
 楼主| yzzly 发表于 2015-11-5 16:24 | 显示全部楼层 |阅读模式
本帖最后由 yzzly 于 2015-11-5 16:27 编辑

系统硬件什么也没变,已经投入大批量生产,从来没有发生过操作(按键后输出220V控制信号)时出现跑飞重启的事件;最近把软件做了些完善(软件结构没有改变),主要是完善了通信协议代码和增加了人机界面的内容,同样一种操作(不涉及人机界面和通信)几乎每次都重启,在输出端口加电容器后就不在发生重启现象,显然是CPU受到了干扰导致程序跑飞,为什么程序被修改后CPU会如此的敏感呢?会是程序的问题吗?头疼!!

修改前:Program Size: Code=149194       RO-data=9318          RW-data=1116          ZI-data=25780  
修改后:Program Size: Code=160390       RO-data=11306        RW-data=1196          ZI-data=25244  
icecut 发表于 2015-11-5 16:40 | 显示全部楼层
别只看电源.还有地和信号干扰
 楼主| yzzly 发表于 2015-11-5 16:56 | 显示全部楼层
输出瞬间干扰是客观存在的,为什么对老程序几乎不受影响,而修改后的程序影响这么大?
gx_huang 发表于 2015-11-5 17:00 | 显示全部楼层
那只能先检查软件是否会导致重启了,如果几乎每次都会发生重启,还是比较好检查的。
即使软件找到原因了,硬件也得改进一下。
 楼主| yzzly 发表于 2015-11-5 17:04 | 显示全部楼层
无论程序有没有导致重启的问题,这现象也提示我要在控制输出端加抗干扰措施,也许设备的可靠性就是在这发现问题解决问题的过程中不断提高的!
shauew 发表于 2015-11-5 19:27 | 显示全部楼层
是不是有外部信号进入地线了
做一下地线隔离吧 模拟地和数字地
 楼主| yzzly 发表于 2015-11-6 09:26 | 显示全部楼层
应该是JTAG接口受到了干扰导致系统重启,因为连上仿真器后根本无法跟踪,一旦操作KEIL就退出跟踪状态。
 楼主| yzzly 发表于 2015-11-6 10:08 | 显示全部楼层
用什么指令可以关闭SWJ接口?
 楼主| yzzly 发表于 2015-11-6 10:24 | 显示全部楼层
本帖最后由 yzzly 于 2015-11-6 10:30 编辑

AFIO->MAPR=0x04000000;了怎么还能下载?
未命名.bmp
HARRY007 发表于 2015-11-6 14:31 | 显示全部楼层
我见你说控制220V信号,是不是控制的感性负载啊?
zchong 发表于 2015-11-6 19:15 | 显示全部楼层
复位线是不是比较长?建议复位线上加电容,靠近cpu放置。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

428

主题

1192

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部