近年来,单片机广泛应用于工业自动化、生产过程控制、智能仪器等领域,大大提高了产品质量,有效提高了生产效率。但测控系统的工作环境往往复杂恶劣,尤其是系统周围的电磁环境,对系统的可靠性和安全性构成了极大的威胁。单片机测控系统必须长期稳定可靠运行,否则会增加控制误差,严重时会导致系统故障,甚至造成巨大损失。
本文主要介绍了单片机应用系统在工业现场的干扰来源和这些干扰的影响。通过参考相关文献,结合个人经验,从软硬件两个方面具体的解决方案及其应用。
:单片机、应用系统、抗干扰技术、硬件设计、软件设计
单片机由于其优异的性能价格比,被广泛地应用于各个领域。单片机在工业控制、医疗器械、通信等场合的可靠性要求越来越高。随着单片机的种类越来越多,其功能越来越完善,硬件设计也越来越简单。但实验室设计的控制系统在安装调试后完全符合设计要求,但将系统放入现场后,往往无法正常稳定工作。造成这种情况的主要原因是复杂的现场环境和各种电磁干扰,因此单片机应用系统的可靠性设计和抗干扰技术的应用变得越来越重要。
工业现场环境中的干扰以脉冲的形式进入单片机系统,主要有空间干扰、供电系统干扰、过程通道干扰三个渠道。空间干扰主要发生在高压、大电流、高频电磁场附近,通过静电感应、电磁感应侵入系统;电源噪声干扰引起的电源干扰;过程通道干扰通过前后通道进入系统。
干扰通常沿着各种线路侵入系统。系统接地装置不可靠也是干扰的重要原因;各种传感器和输入输出线路的绝缘损坏可能导致干扰。
一旦各种干扰侵入单片机应用系统,系统将无法正常运行,甚至造成重大损失。干扰的后果可以概括为以下几个方面:
1.增加数据采集误差
当干扰侵入单片机系统的前通道叠加在信号上时,数据采集误差会增加,特别是当前通道的传感器接口输入小电压信号时。
2.程序运行异常
程序运行异常可分为以下情况:
1)控制状态故障:单片机输出的控制信号通常取决于某些条件下的状态输入信号和这些信号的逻辑处理结果。如果这些输入状态信号被干扰,引入虚假状态信息会增加输出误差,改变逻辑状态,最终导致控制异常。
2)死亡:外部干扰有时会导致机器频繁复位,影响程序的正常运行。如果外部干扰导致单片机程序计数器PC值的改变,破坏程序正常运行。由于受干扰后的PC值是随机的,程序将执行一系列毫无意义的指令,最终进入死循环
3.系统被控对象误操作
由于干扰的影响,单片机内部程序指针混乱,指向其他地方,操作错误的程序;RAM一些数据被冲乱或特殊寄存器的值发生变化,导致程序计算结果错误;或中断误触发,使系统中断错误,可能导致单片机误操作系统被控对象。
4.被控对象状态不稳定
锁定电路与被控对象之间的线路(包括驱动电路)受到干扰,导致被控对象状态不稳定。
5、定时不准
当单片机内部程序指针干扰时,中断程序运行超过固定时间RAM计时数据被冲乱,使程序计算出错误的结果等,都会影响单片机定时的准确性。
6.数据发生变化
在单片机应用系统中,机应用系统中RAM在干扰的侵入下,可读写,RAM尽管中数据可能会发生变化ROM但是单片机片中可以避免干扰损伤RAM电影中的各种特殊功能寄存器可能会受到干扰甚至变化EEROM中间的数据也可能被误读和编写,使程序计算错误的结果。
针对上述问题,本文从硬件和软件两个方面探讨了一些提高单片机应用系统抗干扰能力的方法。
硬件抗干扰技术是系统设计中的首选,能有效抑制干扰源,阻断干扰传输通道。本章简要介绍了常用的硬件设计抗干扰措施。
目前市场上销售的组件种类繁多,有些组件可用但性能差,有些组件容易受到干扰,所以在选择译码器、键盘扫描控制器等关键组件时,RAM等待时,最好选择性能稳定的工业产品。 单片机的选择不仅要考虑硬件配置、存储容量等,还要选择抗干扰性强的单片机。目前单片机种类繁多,AVR该系列单片机具有较强的抗干扰能力,因此在设计过程中,应尽可能选择该系列单片机。 外时钟是高频噪声源,可干扰系统内外。因此,在满足需求的前提下,选择低频单片机是明智的。
为防止从电源系统引入干扰,交流稳压器可以保证电源的稳定性,防止电源过压和欠压。高频噪声和低通滤波器工作频率干扰可通过隔离变压器过滤。
采用开关电源,提供足够的功率余量。主机部分采用单独的稳压电路,必要时输入输出电源DC-DC隔离模块,避免各部分相互干扰。
单片机系统中的每个单元都需要使用直流电源,而直流电源通常是由市政电网的交流电源变压、整流、滤波和稳压后产生的。因此,将系统引入电网上的各种干扰。此外,由于交流电源的共享,电子设备也会相互干扰,因此抑制电源干扰尤为重要。电源干扰主要包括以下几类: 1、电源线中的高频干扰:电源线相当于接收天线,通过电源变压器将雷电、电弧、广播电台等辐射的高频干扰信号耦合到次级,形成单片机系统的干扰。 2、感性负载产生的瞬变噪音:切断大容量感性负载时,能产生很大的电流和电压变化率,从而形成瞬变噪音干扰,成为电磁干扰的主要形式。 3.晶闸管断开时的干扰:晶闸管断开时的电流变化率很大,使晶闸管瞬间流过具有高谐波的大电流,在电源阻抗上产生较大的压降,导致电网电压出现缺口。这种变形的电压波形含有高谐波,可以辐射到空间或通过传导耦合干扰其他设备。此外,还有干扰电网电压波动或电压瞬时下降等。 抑制电源干扰通常可以采用以下方法:
1、防止从电源系统引入干扰:交流稳压器可以保证电源的稳定性,防止电源过压和欠压。使用隔离变压器过滤高频噪声,低通过滤波器过滤工作频率干扰。使用开关电源于提供足够的功率余量。主机部分采用单独的稳压电路,必要时输入输出电源DC-DC隔离模块,避免各部分相互干扰。 2、接地技术:实践证明,单片机系统设备的抗干扰与系统的接地方式密切相关,接地技术往往是抑制噪声的重要手段。良好的接地可以在很大程度上抑制系统内部噪声耦合,防止外部干扰的入侵,提高系统的抗干扰能力。设备的金属外壳应安全接地,屏蔽导体必须接地良好。 3、屏蔽线和双橡胶线传输:屏蔽线对静电干扰有很强的抑制作用,而双橡胶线具有抵抗电磁感应干扰的作用。开关信号检测线和模拟信号检测线可使用屏蔽双橡胶线来抵抗静电和电磁感应干扰;特殊干扰源也可与屏蔽线连接,从而屏蔽干扰源。 4、隔离技术:隔离信号的目的之一是将干扰源和易干扰部分从电路上隔离出来,使监控装置只与现场保持信号连接,而不直接与电连接。隔离的本质是切断引入的干扰通道,从而达到隔离现场干扰的目的。一般来说,单片机应用系统既有弱电控制系统,又有强电控制系统。弱电和强电隔离是保证系统稳定运行、设备和操作人员安全的重要措施。常用的隔离方法有光电隔离、变压器隔离、继电器隔离、布线隔离等。 5.模拟信号采样抗干扰技术:单片机应用系统通常采样一个或多个模拟信号,并通过A/D转换成数字信号进行处理。为提高测量精度和稳定性,不仅要保证传感器本身的转换精度,传感器电源的稳定性,测量放大器的稳定性,A/D转换基准电压的稳定性,防止外部电磁感应噪声的影响。如果处理不当,微弱的有用信号可能会完全被无用的噪声信号淹没。在实际工作中,可采用差动输入测量放大器,屏蔽双胶线传输测量信号,或将电压信号改为电流信号,采用电阻滤波等技术。 在许多信号变化心电图、脑电图)采样、地震波记录等许多信号变化缓慢的采样系统中,影响最大的是50Hz的工频干扰。因此,抑制工频干扰信号是保证测量精度的重要措施之一。抑制和消除工频干扰的常用方法是A/D在转换电路之前添加RC滤波器或采样时间为50Hz工频周期整数倍的双积分A/D转换器。
印制电路板(PCB)它是电子产品中电路元件和器件的支撑件,提供电路元件和器件之间的电气连接。随着电子技术的快速发展,PCB密度越来越高,PCB设计质量对抗干扰能力影响很大。因此,正在进行中PCB必须遵守设计PCB一般设计原则,应符合抗干扰设计的要求。
1.尽量使用多层印刷电路板。多层板可提供良好的接地网,防止地电位差和元件耦合。
2.印刷电路板应合理分区。模拟电路区、数字电路区、功率驱动区应尽可能分开,地线不得混合,并与电源端地线连接。
3.元件表面和焊接表面应垂直、倾斜或弯曲,以避免相互平行避免相邻导线平行段过长;加大信号线间距。高频电路互联导线尽量短,使用45°或者圆弧折线布线,不要使用90°折线,以减小高频信号的发射。
4、印制电路板要按单点接电、单点接地的原则送电。三个区域的电源线、地线分三路引出。地线、电源线要尽量粗,噪声元件与非噪声元件要尽量离远一些。时钟振荡电路、特殊高速逻辑电路部分用地线圈起来,让周围电场趋近于零。
5、使用满足系统要求的最低频率的时钟,时钟产生器要尽量靠近用到该时钟的器件。石英晶体振荡器外壳要接地,时钟线尽量短,时钟线要远离I/O线,在石英晶体振荡器下面要加大接地的面积而不应该走其它信号线。
6、I/O驱动器件、功率放大器件尽量靠近印制板的边缘、靠近引出接插件。重要的信号线尽量短并要尽量粗,并在两侧加上保护地。将信号通过扁平电缆引出时,要使用地线—信号—地线相间的结构。
7、原则上每个IC元件要加一个0.01—0.1µF去耦电容,布线时去耦电容应尽量靠近IC的电源脚和接地脚。要选高频特性好的独石电容或瓷片电容作去耦电容。去耦电容焊在印制电路板上时,引脚要尽量短。
8、闲置不用的IC管脚不要悬空以避免干扰引入。不用的运算放大器正输入端接地,负输入端接输出。单片机不用的I/O口定义成输出。单片机上有一个以上电源、接地端,每个都要接上,不要悬空。
9、关键器件放置:在器件布置方面与其它逻辑电路一样,应把相互有关的器件尽量放得靠近些,这样可以获得较好的抗噪声效果。时钟发生器、晶振和CPU的时钟输入端都易产生噪声,要相互靠近些;CPU复位电路、硬件看门狗电路要尽量靠近CPU相应引脚;易产生噪声的器件、大电流电路等应尽量远离逻辑电路,如有可能,应另外做电路板。 10、D/A、A/D转换电路要特别注意地线的正确连接,否则干扰影响将很严重。D/A、A/D芯片及采样芯片均提供了数字地和模拟地,分别有相应的管脚。在线路设计中,必须将所有器件的数字地和模拟地分别相连,但数字地与模拟地仅在一点上相连。 另外,也可以采用屏蔽保护,屏蔽可用来隔离空间辐射。对噪声特别大的部件(如变频电源、开关电源)可以用金属盒罩起来以减少噪声源对单片机的干扰,对容易受干扰的部分,可以增加屏蔽罩并接地,使干扰信号被短路接地。
输入、输出信号加光电耦合器隔离,可以将主机部分和前向、后向通道及其它部分切断电路的联系,可有效的防止干扰进入主机系统。
双绞线传输和终端阻抗匹配:在数字信号的长线传输时利用双绞线,可对噪声干扰有较好的抑制效果。可与光电耦合器联合使用或者使用平衡输入接收器和输出的驱动器。在发送和接收信号端必须有末端电阻,双绞线应该阻抗匹配。
数字输出信号可作为系统被控设备的驱动信号(如继电器等),数字输入信号可作为设备的响应回答和指令信号(如行程开关、启动按钮等)。数字信号接口部分是外界干扰进入单片机系统的主要通道之一。在工程设计中,对数字信号的输入/输出过程采取的抗干扰措施有:传输线的屏蔽技术,如采用屏蔽线、双胶线等;采用信号隔离措施;合理接地,由于数字信号在电平转换过程中形成公共阻抗干扰,选择合适的接地点可以有效抑制地线噪声。
一般1个TTL可推动8个TTL或10多个CMOS,而一个CMOS可推动1-2个TTL或20多个CMOS。如果输出负载过重,会降低输出电平,使电平处于或低于被驱动器件的输入门槛电平,从而造成系统不稳定。
另外,元器件的好坏也会直接影响到系统的稳定性。避免此类问题,应选用质量好的电子元件并进行严格的测试和筛选。设计时元件技术参数要有一定的余量。提高印制板和组装的质量。
在对控制系统的可靠性有严格要求的场合,使用双机冗余可进一步提高系统抗干扰能力。双机冗余,就是执行同一个控制任务,可安排两个单片机来完成,即主机与从机。正常情况下,主机掌握着三总线的控制权,对整个系统进行控制,此时,从机处于待机状态,等待仲裁器的触发。当主机由于某种原因发生误动作时,仲裁器根据判别条件,若认为主机程序已混乱,则切断主机的总线控制权,将从机唤醒,从机将代替主机进行处理与控制。
在单片机系统中,为了保证系统可靠、稳定地运行,增强抗干扰能力,需要配置硬件监控电路,硬件监控电路从功能上包括以下几个方面: 1、上电复位:保证系统加电时能正确地启动; 2、掉电复位:当电源失效或电压降到某一电压值以下时,产生复位信号对系统进行复位; 3、数据保护:当电源或系统工作异常时,对数据进行必要的保护,如写保护、后备电池切换等; 4、电源监测:供电电压出现异常时,给出报警指示信号或中断请求信号; 5、硬件看门狗:当处理器遇到干扰或程序运行混乱产生“死锁”时,对系统进行复位。 有些著名的半导体厂商已将上述这些功能集成到一起,如MAXIM公司的MAX690、MAX706等。
尽管我们采取了硬件抗干扰措施,但由于干扰信号产生的原因错综复杂,且具有很大的随机性,很难保证系统完全不受干扰。因此,往往在硬件抗干扰措施的基础上,采取软件抗干扰技术加以补充,作为硬件措施的辅助手段。软件抗干扰方法具有简单、灵活方便、耗费低等特点,因此,在单片机系统中被广泛应用。
当干扰影响到单片机系统的输入信号时,将增大系统的数据采集误差。因此,单片机在读取输入信号后,对输入数据的“真伪”判断就显得十分重要。利用软件来判断输入信号是正常的输入信号,还是干扰信号的方法称为软件滤波技术。软件滤波技术可滤掉大部分由输入信号干扰而引起的输出控制错误。最常用的方法有算术平均值法、比较舍取法、中值法、一阶递推数字滤波法。具体选取何种方法,必须根据信号的变化规律选择。对开关量采用多次采集的办法来消除开关的抖动。
根据概率论,一个RAM寄存器的数据被冲毁的概率是很大的,但地址不连续的多个RAM同时被冲毁的概率相对就要小得多。一些重要的原始数据信息备份2分或2分以上,数据存储空间足够的情况下,份数越多越好,并存放在RAM地址不相连的不同区域中。当平时对这些数据进行修改时,同时也更新备份,保证备份数据的同步。当干扰发生并被拦截到程序错误处理段时,将数据与备份数据做比较,选出正确的,也就是未被干扰的数据。在对数据进行备份时,只备份最原始的数据,那些可以从原始数据计算推导而来的数据则没有必要备份。
输入信号的干扰是叠加在有效电平信号上的一系列离散尖脉冲,作用时间很短。当控制系统存在输入干扰,又不能用硬件加以有效抑制时,可用软件重复检测的方法,达到“去伪存真”的目的,直到连续两次或连续两次以上的采集结果完全一致时方为有效。若信号总是变化不定,在达到最高次数限额时,则可给出报警信号。对于来自各类开关型传感器的信号,如限位开关、行程开关、操作按钮等,都可采用这种输入方式。如果在连续采集数据之间插入延时,则能够对付较宽的干扰。
开关量输出软件抗干扰设计,主要是采取重复输出的方法,这是一种提高输出接口抗干扰性能的有效措施。对于那些用锁存器输出的控制信号,这些措施很有必要。在尽可能短的周期内,将数据重复输出,受干扰影响的设备在还没有来得及响应时,正确的信息又到来,这样就可以及时防止误动作的产生。在程序结构的安排上,可为输出数据建立一个数据缓冲区,在程序的周期性循环体内将数据输出。对于增量控制型设备不能这样重复送数,只有通过检测通道,从设备的反馈信息中判断数据传输的正确与否。
对MCS-51系列单片机大部分指令为单字节,当出错的程序落到其上时,出错的程序可自动纳入正轨;当落到多字节指令的操作数时,程序将继续出错,所以在关键的对程序的流向起决定陆的指令之前插入两条NOP指令使被弹飞的指令恢复正轨。
CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞” 到了三字节指令,出错机率更大。 在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。 此外,对系统流向起重要作用的指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。
所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。通常用软件陷阱来拦截乱飞的程序。因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。
1、软件陷阱的设计 当乱飞程序进入非程序区,冗余指令便无法起作用。通过软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。通常在EPROM中非程序区填入以下指令作为软件陷阱: NOP NOP LJMP 0000H 其机器码为0000020000B。 2、陷阱的安排 通常在程序中未使用的EPROM空间填0000020000。最后一条应填入020000,当乱飞程序落到此区,即可自动入轨。在用户程序区各模块之间的空余单元也可填入陷阱指令。当使用的中断因干扰而开放时,在对应的中断服务程序中设置软件陷阱,能及时捕获错误的中断。如某应用系统虽未用到外部中断1,外部中断1的中断服务程序可为如下形式: NOP NOP RETI
返回指令可用“RETI”,也可用“LJMP 0000H”。如果故障诊断程序与系统自恢复程序的设计可靠、 完善,用“LJMP 0000H”作返回指令可直接进入故障诊断程序,尽早地处理故障并恢复程序的运行。 由于程序存贮器的容量十分宝贵,软件陷阱一般1K空间有2-3个就可以进行有效拦截。
若失控的程序进入“死循环”,通常采用“看门狗”技术使程序脱离“死循环”。通过不断检测程序循环运行时间,若发现程序循环时间超过最大循环运行时间,则认为系统陷入“死循环”,需进行出错处理。 “看门狗”技术可由硬件实现,也可由软件实现。在工业应用中,严重的干扰有时会破坏中断方式控制字,关闭中断。则系统无法定时“喂狗”,硬件看门狗电路失效。而软件看门狗可有效地解决这类问题。 笔者在实际应用中,采用环形中断监视系统。用定时器T0监视定时器T1,用定时器T1监视主程序,主程序监视定时器T0。采用这种环形结构的软件“看门狗”具有良好的抗干扰性能,大大提高了系统可靠性。对于需经常使用T1定时器进行串口通讯的测控系统,则定时器T1不能进行中断,可改由串口中断进行监控(如果用的是MCS-52系列单片机,也可用T2代替T1进行监视)。这种软件“看门狗”监视原理是:在主程序、T0中断服务程序、T1中断服务程序中各设一运行观测变量,假设为MWatch、T0Watch 、T1Watch,主程序每循环一次,MWatch加1,同样T0、T1中断服务程序执行一次,T0Watch、 T1Watch加1。在T0中断服务程序中通过检测T1Watch的变化情况判定T1运行是否正常,在T1中断服务程序中检测MWatch的变化情况判定主程序是否正常运行,在主程序中通过检测T0Watch的变化情况判别T0是否正常工作。若检测到某观测变量变化不正常,比如应当加1而未加1,则转到出错处理程序作排除故障处理。当然,对主程序最大循环周期、定时器T0和T1定时周期应予以全盘合理考虑。限于篇幅不赘述。
程序监视跟踪定时器即Watchdog在单片机抗干扰设计中使用非常广泛,各大器件生产商提供了不同的功能的芯片,如MAXIM的MX760、MX813,IMP的IMP690 A/692AL是用于微处理器系统的电源监视和控制电路。可为CPU提供复位信号、看门狗监视、备用电池自动切换及电源失效监视。除上、掉电条件下为微处理器提供复位外,这些器件还具有备用电池切换功能。利用watchdog和软件的配合使用可大大提高系统的抗干扰能力。
操作系统首先建立多个实时任务并初始化,各个任务在操作系统的调度下运行,若某一任务由于干扰而运行失常,操作系统可将该任务强制退出并让出CPU控制权,根据故障情况进行处理。使用RTOS可减小系统的复位的次数,提高抗干扰能力。
单片机系统因干扰复位或掉电后复位均属非正常复位,应进行故障诊断并能自动恢复非正常复位前的状态。 程序的执行总是从0000H开始,导致程序从0000H开始执行有四种可能:1、系统开机上电复位;2、软件故障复位;3、看门狗超时未喂狗硬件复位;4、任务正在执行中掉电后来电复位。四种情况中除第一种情况外均属非正常复位,需加以识别。 1)硬件复位与软件复位的识别 此处硬件复位指开机复位与看门狗复位,硬件复位对寄存器有影响,如复位后PC=0000H,SP=07H,PSW=00H等。而软件复位则对SP、SPW无影响。故对于微机测控系统,当程序正常运行时,将SP设置地址大于07H,或者将PSW的第5位用户标志位在系统正常运行时设为1。那么系统复位时只需检测PSW.5标志位或SP值便可判此是否硬件复位。图1是采用PSW.5作上电标志位判别硬、软件复位的程序流程图.
图1 硬、软件复位识别流程图
此外,由于硬件复位时片内RAM状态是随机的,而软件复位片内RAM则可保持复位前状态,因此可选取片内某一个或两个单元作为上电标志。设 40H用来做上电标志,上电标志字为78H,若系统复位后40H单元内容不等于78H,则认为是硬件复位,否则认为是软件复位,转向出错处理。若用两个单元作上电标志,则这种判别方法的可靠性更高。 2)开机复位与看门狗故障复位的识别 开机复位与看门狗故障复位因同属硬件复位,所以要想予以正确识别,一般要借助非易失性RAM或者EEROM。当系统正常运行时,设置一可掉电保护的观测单元。当系统正常运行时,在定时喂狗的中断服务程序中使该观测单元保持正常值(设为 AAH),而在主程中将该单元清零,因观测单元掉电可保护,则开机时通过检测该单元是否为正常值可判断是否看门狗复位。 3)正常开机复位与非正常开机复位的识别 识别测控系统中因意外情况如系统掉电等情况引起的开机复位与正常开机复位,对于过程控制系统尤为重要。如某以时间为控制标准的测控系统,完成一次测控任务需1小时。在已执行测控50分钟的情况下,系统电压异常引起复位,此时若系统复位后又从头开始进行测控则会造成不必要的时间消耗。因此可通过一监测单元对当前系统的运行状态、系统时间予以监控,将控制过程分解为若干步或若干时间段,每执行完一步或每运行一个时间段则对监测单元置为关机允许值,不同的任务或任务的不同阶段有不同的值,若系统正在进行测控任务或正在执某时间段,则将监测单元置为非正常关机值。那么系统复位后可据此单元判系统原来的运行状态,并跳到出错处理程序中恢复系统原运行状态。 对顺序要求严格的一些过程控制系统,系统非正常复位否,一般都要求从失控的那一个模块或任务恢复运行。所以测控系统要作好重要数据单元、参数的备份,如系统运行状态、系统的进程值、当前输入、输出的值,当前时钟值、观测单元值等,这些数据既要定时备份,同时若有修改也应立即予以备份。 当在已判别出系统非正常复位的情况下,先要恢复一些必要的系统数据,如显示模块的初始化、片外扩展芯片的初始化等。其次再对测控系统的系统状态、运行参数等予以恢复,包括显示界面等的恢复。之后再把复位前的任务、参数、运行时间等恢复,再进入系统运行状态。 应当说明的是,真实地恢复系统的运行状态需要极为细致地对系统的重要数据予以备份,并加以数据可靠性检查,以保证恢复的数据的可靠性。 其次,对多任务、多进程测控系统,数据的恢复需考虑恢复的次序问题,笔者实际应用的数据恢复过程流程图如图2所示。
图中恢复系统基本数据是指取出备份的数据覆盖当前的系统数据。系统基本初始化是指对芯片、显示、输入输出方式等进行初始化,要注意输入输出的初始化不应造成误动作。而复位前任务的初始化是指任务的执行状态、运行时间等。
图2 系统自恢复程序流程图
对于软件抗干扰的一些其它常用方法如数字滤波、RAM数据保护与纠错等,限于篇幅,本文未作讨论。在工程实践中通常都是几种抗干扰方法并用,互相补充、完善,才能取得较好的抗干扰效果。从根本上来说,硬件抗干扰是主动的,而软件是抗干扰是被动的。细致周到地分析干扰源,硬件与软件抗干扰相结合,完善系统监控程序,设计一稳定可靠的单片机系统是完全可行的。
抗干扰技术是单片机应用系统设计过程中的重要环节,合理地使用软件和硬件抗干扰技术,可使系统最大限度的避免干扰的产生和受干扰后能使系统恢复正常运行,保证系统长期稳定可靠地工作。
1、《单片机应用系统抗干扰技术》王辛之著北京航空航天大学出版
2、《单片微机原理及应用》张毅坤、陈善久著西安出版社
3、《单片机原理及应用》 汪志锋著 高等教育出版社
4、《单片机接口技术及在工业控制中的应用》李秉操、张登举等著 陕西电子编辑部
5、《单片微型计算机应用系统设计与实现》 孙育才、苏学成著 东南大学出版社
6、单片机学习网 网址:http://www.mcu51.com