单片机系统中的抗干扰技术
与CPU的运行密切配合。如果某个 SFR被干扰信号改写,则意味着运行的结果异常,轻者改变单片机内各部件的操作控制,重则导致整个系统的输出紊乱,引发故障或安全事故。因此,对于与程序有关的内容必须提供及时有效的保护。
(2)软件补偿措施
对于已经侵入微处理机的噪声,必须采取能够维持系统功能的对应措施,以免出现意外停机或意外启动,甚至引起意外事故。对CPU的误动作和各种存储器内容的误修改,在应用软件中插入相应的程序模块,进行主动补偿是一种简便而可靠的方法。
①主动初始化
这里的“初始化”泛指在各段程序中,对单片机及片外扩展器件的各种功能、端口或者方式、状态等采取的永久性的或者临时的设置。我们不仅要保证上电或复位后软件能够正确的实现各种级别的初始化,而且在程序中每次使用某种功能前,都要再一次对相应的控制寄存器设定动作模式。实践证明,这一措施可以大大提高系统对于入侵干扰的自恢复性能。
②重复执行
程序指令在执行的过程中或者保持之后,都有可能被噪声修改,而导致控制失效乃至引发事故,为此应当尽量增加重要指令的执行次数以纠正干扰造成的错误。对于频率较低的传感器数据,建议在有效时间内多次采集并比较;对于控制外部设备的指令,则需要多次重复执行以确保有关信号的可靠性。为达此目的,可把重要的指令设计成定时扫描模块,使其在整个程序的循环运行过程中反复执行。如此,即使干扰信号改写了指令内容,也能在受控设备的反应时间内自动恢复正常。
③重要数据的保护和恢复
编写专门的数据保护子程序,是提高工控微机系统可靠性的有效途径。在编写程序的过程中,对于由指令改变结果性质的数据,可以考虑在每次改变后都尽可能地保护起来,以便在需要时能够恢复正确值。若数据的保护量较大,建议扩展非易失性的SRAM作为片外数据存储器,这种新型芯片具有很高的抗干扰性能,其缺点是目前的价位较高。
(3)片内WDT控制
“看门狗”(WDT)已经成为工控微机必不可少的成员之一,他可以防止程序“跑飞”或者出现“死循环”。有的单片机如PIC系列单片机片内就带有 WDT监视定时器,通过软件,定时清WDT监视定时器的值,当出现“死循环”或程序“跑飞”现象时,WDT监视定时器内的值计满溢出,从而强迫程序复位,从头开始。不带片内WDT监视定时器的单片机,也可以利用微处理机内部闲置的定时/计数器,配合以适当的程序就可以方便地构成WDT。
参考文献
[1] 何立民.单片机应用系统抗干扰技术[M].北京:北京航空航天大学出版社,2000.
[2] 杨华舒,褚福涛.单片计算机系统抗干扰的软件途径[J].电子技术应用,2001(3):20-22.
- linux基础技术(02-09)
- 单片DSP处理器功能系统的SOPC技术设计(01-12)
- TMS320C55x DSP并行处理技术分析与应用(11-22)
- 基于JTAG的DSP外部FLASH在线编程与引导技术(01-22)
- TMS320F2812片内Flash在线烧写技术研究(01-23)
- 军事指挥系统中VxWorks下汉字显示技术(07-16)