本帖最后由 wping1234 于 2013-7-23 18:19 编辑
软件抗干扰的余地不大,一般采取以下方法:
1. 电平多判断几次,投票表决;
2. 模拟多采样几次,去大去小取平均值;
3. 输出放到主循环或定时中断中,不断刷新;别放到单次状态判断后面,一次输出后就不刷新了;
4. 尽量降低外部通讯的速率,确保在安全范围内;并且通讯三次,也用3取2的方法;
5. 需要存储的关键数据备份多个,并且加校验位;使用时三取二表决;
6. 再牛一点,按照EN61508的要求,每隔一定时间,自检一下RAM区,ROM区和EEPROM区,并且采用CRC16的算法;如果RAM和EEPROM坏了,赋安全值,如果ROM坏了,上帝哦,希望你也有一个备份。
7. 使用看门狗复位,每次复位后自检RAM、ROM、EEPROM的数据,找到上次的位置重新跑。——这是为了别让用户看出复位了。
8. 不用的程序区,全部加上看门狗复位的指令,配合第7条。
还有么?高手补充一下了。
|