论单片机应用系统的可靠性设计
2018-12-06杜仲平潘阳阳
杜仲平 潘阳阳
1.山东科力光电技术有限公司 山东济南 250000 2.济宁科力光电产业有限责任公司 山东济宁 272000
当前在我国各个领域,运用单片机的范围越来越广泛,例如金融、农业自动化、工业控制等等,如何保证单片机应用系统的可靠性,成为研究领域的重要课题。单片机分为硬件系统软件系统等。进行可靠时设计要考虑多种因素。
1 单片机硬件系统可靠性
(1)在系统进行硬件设计加工时,选用质量好的插件进行工艺结构设计,将合格的元器件进行严格的筛选测试,对于技术参数余量和元器件等进行分析研究,得到相关的印制组装的质量参数。
(2)单片机需要增加容忍故障的能力,如果系统百分之百没有故障,则在部件发生故障的时候,系统依然要正常的工作。系统中增加适当的冗余单元,要保证某个部件发生故障时有冗余部件接替,出错前的状态进行工作,可以在子系统或者是元件及系统中进行,用于设计容易设计,可以使用两套设备相互备用的方式进行。
(3)对于硬件抗干扰措施,采用单面机系统不稳定设计理念,对于电磁耦合和导线传输等电磁干扰信号,容易发生故障的部位,进行系统监控和电路检测。自动报警系统是当前较为常用的系统工作状态,采用电源故障监视,电子狗定时器等,都可以对系统发生的故障和错误进行监测。例如看门狗电路中,芯片就包含了看门狗定时器,通过软件对于系统的监控时间进行预制,输出看门狗定时器预制时间,经过微分电路输出,正脉冲复位CPU、上电复位、人工复位等都属于cpu复位信号[1]。
2 单片机软件系统设计
通过综合RESET端将CPU的振荡器在时间常数的规定范围内进行工作,短时间内开门口电路可以实现循环周期的运行。开门口的定时时间可以在软件的合适地方,加上较大循环周期的时间设定,无法捕捉回程序时,可以防止系统跑飞,系统不会复位,而且在正常工作下可以迫使系统自动复位,应该在适当的地方注意进行指令的设置,保证程序能够正常运行[2]。
(1)软件可靠性设计。使用单片机进行软件设计的时候,要保证整个系统能够达到软硬件紧密结合,软件的可靠性设计在提高硬件可靠性的前提下,从长期使用测试等方面来解决可靠性的问题。
工业控制的场景下,系统可靠性是单片机系统抗干扰能力等。这些重要指标包含了单片机的指令系统,复杂指令集结结构,单片机软件抗干扰设计,包括了工业控制,抗干扰措施等等,将程序拉入到正常轨道,可以防止跑飞程序发生,还可以规避软件陷阱等[3]。
(2)指令用于是在双字节等关键地方取得操作数和操作码。根据指令过程中的相应的环节,从跑飞程序到双字节指令,使用窄操作指令NOP避免后面的指令错误执行,为程序纳入正轨做好准备。
在指令插入后,可以实行质量的跑,非纳入到正轨之后,确保这些重要指令的执行。需要注意的是,CPU不再将操作数当作操作码错误执行,而需要纠正程序的错误执行方向,将程序的错误执行方向扭转过来,还需要实行跑飞程序的指令,插入致命令。
(3)设计软件陷阱,要考虑到程序存储器中的填入指令,在执行一段空操作后,转入未使用的空间,均匀地插入只跳转指令和空操作指令。在空操作指令中设置一定的结构,这个结构可以防止软件陷阱发生。
在程序执行阶段,错误操作后,如果遇到一个软件限定,那么软件部分发生陷阱的错误是无法执行的。数据表较大的情况下,软件陷阱中会出现执行错误操作,修正之后才能转入正轨。除了程序存储器的空白区域,还有在数据表的中间设置软件陷阱,保证程序跑飞到数据区,及时转入程序存储器之后,在两个子程序中间设置软件陷阱,及时捕获错误中断,在对应的中断服务器程序中设置软件陷阱,使用中断干扰开放的形式,将干扰的情况和存储器的容量进行确定。如果太多占用大量的程序存储器,则不可能出现跑飞拦截。
(4)软件看门狗技术是一种通过不断检测程序循环运行,来达到对错误操作进行纠正的程序。在实际应用中,如果发现程序循环时间超过最大循环运行时间,则可以定时检查主程序的运行情况。在选择一个字节的时候,定时器的中断服务程序,可以一次性将存储器中的循环进行检查,系统如果陷入死循环,则看门狗寄存器可能会发生改变。此时如果是在工业运行中就要采用环形中断揭示系统,破坏中断方式,关闭中断用定时器,通过上述操作,看门狗实现了定时启动。
采用这种环形结构,可以使看门狗具有很好的抗干扰性能。定时器不能进行中段的时候,可以采用窗口通讯的测控系统,全盘合理考虑软件看门狗技术,采取技巧性的处理方式,运用好定时器资源,就能完成定时功能,以及软件看门狗功能。在检查RAM区发现了严重干扰的时候,可以在程序执行过程中,对于不能可靠运行下去的单片机系统进行检查,如果发现有改变数据的情况,则可以立即执行相关语句。强制单片机中的数据发生变化进行复位[4]。
3 结语
单片机系统运行可靠性,可以采用多种可靠性方法进行自身防御和软硬件的维护。本文从软硬件不确定因素干扰进行分析,提出了提高单片机应用系统可靠性设计的方法。在实际操作中还要根据实际情况进行方法的结合,达到最佳的抗干扰效果,保证单片机系统能够可靠稳定地运行。