LZ所说的应该是EFT传导,TVS在入口处必备,有的MCU本身虽然能够抵挡EFT,但不能保证此时程序运行状态的正确性,电源滤波也相当重要,入口处不管三七二十一加上100μF+0.1μF退偶组合,算上引脚及焊盘的寄生电感,很容易算出两条谐振曲线之间的反谐振点,该点如果正好是干扰的频率,那么此处滤波无效。PCB的布局布线也有很大影响,其他因素还有一大堆...
软件上么,LZ会发现,一旦EFT造成死机现象,八成都是“真死机”,可以试着写段中断ISR定时翻转LED灯,然后诱发所谓的“电磁干扰”发生,那么此时中断ISR都会进不去,这种情况只有用硬狗补救(某些情况下干扰大到一定程度硬狗都拉不回来的,考虑改板吧),如果情况不是这样,那么就是“假死机”——即意外复位或程序跑飞,程序本身还是在运行的,这种情况下用软狗便足以,有时程序比较庞大,且有大量互不相干的模块在运行,又不方便整体RSSET,那么可以一开始将重要数据结构全部加上校验,软狗中断进入时不选择复位,而是在此ISR中进行校验,如果都正常,程序继续运行下去,异常的地方个别模块重新初始化然后再继续。
|