在汽车控制器的设计阶段应尽可能早的考虑EMC骚扰问题,以提升产品的安全性和可靠性。而通过软件的方法来提升EMC性能,是一种非常廉价的提升产品性能的方案。因此,在软件的模拟和数字数据设计时,必须考虑EMC骚扰的影响,比如:
- 单片机不应答
- 程序计数器跑飞
- 执行意外的指令
- 子程序执行异常
- 寄生复位或者寄生中断
- IP配置过期
- I/O配置被意外复位
-
应答错误
-
读取到的输入信号值损坏
-
丢失中断信号
-
数据不完整
-
软件进入预期之外的分支
-
丢失环境背景(如中断现场变量值被改变)
- 自动恢复技术:如果检测到失控状态,故障恢复子程序调度失效安全处理程序,发出失效警告并自动返回正常操作,并且这些操作对用户来说是完全透明的。
- 预防技术:预防EMC骚扰的影响,提升软件的鲁棒性
1 预防技术
1.1 看门狗:看门狗是一种确保MCU从错误中自动恢复的有效工具,其原理非常简单,当看门狗定时器计数溢出时,发出MCU复位信号。看门狗定时器一旦开启,只有定期地刷新看门狗计数器才能防止MCU被复位。
在执行代码的适当位置插入允许看门狗和刷新看门狗计数器的指令是非常有讲究的(参见附图4.2.1:错误的看门狗处理方式,图4.2.2:正确的看门狗处理方法):
- MCU复位后尽可能早的允许看门狗,或者配置其硬件选项;
- 不要在中断服