在单片机应用系统中,软件/硬件的可靠性设计,对整个系统的稳定运行至关重要,特别是在工业控制等复杂恶劣环境下,单片机很容易面临诸多干扰及挑战,所以从软件层面出发,工程师应该如何做?
1、指令冗余
在双字节指令和三字节指令后插入两个NOP指令,防止抛费程序错误执行后续指令。
对关键指令如RET、RETI、LCALL、LJMP、JC等,其后插入两条NOP指令,确保程序执行正确。
2、设计软件陷阱
在未使用的EPROM空间填入NOP指令和跳转指令LIMP 0000H,形成软件陷阱。
在程序数据表结尾及中间设置软件陷阱,确保程序跑飞到数据区能及时转入正轨。
在每两个子程序中间及中断服务程序中设置软件陷阱,捕获错误中断。
3、软件“看门狗”技术
使用定时器中断服务程序定时检查主程序运行情况,通过检测程序循环时间判断是否陷入“死循环”。
在RAM区选择一个字节作为软件看门狗寄存器,主程序和定时器中断服务程序分别对其进行加减操作,检查其变化。
采用环形中断监视系统,提高抗干扰性能。
4、检查RAM区标志数据
在RAM区选择几个固定单元,初始化时设置固定数据。
程序运行过程中适时检查这些单元内容,发现变化则强制单片机复位。
5、刷新输出端口
在RAM区选择几个固定单元,初始化时设置固定数据。
程序运行过程中适时检查这些单元内容,发现变化则强制单片机复位。
6、进行多次输入采样
输入信号进行重复采样,采用加权平均的方法避免干扰影响。
确保输入信号的准确性和可靠性。
本文凡亿企业培训原创文章,转载请注明来源!
暂无评论