新闻中心

EEPW首页>嵌入式系统>设计应用> 基于MCS-96单片机控制系统的程序失控防范

基于MCS-96单片机控制系统的程序失控防范

作者: 时间:2012-02-15 来源:网络 收藏

3 无扰动重恢复

  上述各项措施,只解决了如何发现系统被干扰和如何捕捉到失控的程序,这对于巡回检测、显示之类的普通单片机应用系统已经足够了。但是,在一些关键的工业控制系统中,由于工作过程和生产工艺的逻辑性和顺序性,当后,希望引导系统恢复执行刚才失控发生时的那个程序模块,不希望,甚至不允许程序从入口处重新执行。更重要的是,失控程序往往会乱涂乱写,不仅会破坏一些重要的信息,而且会对输出口进行非法操作。在此情况下前述方法就显得太不完整了。因此,如何恢复系统的重要信息,尽量无扰动地重新进入正常工作状态,是一个必须解决的问题,同时也是一个比较难解决的问题。

3.1 利用软件选择启动方式的方法

  复位有两种方式:即初始复位和再次复位。习惯上称前者为“冷启动”,后者为“热启动”。“冷启动”时,系统的状态全部无效,需进行彻底的初始化操作。而 “热启动”仅对系统的当前状态进行修复和有选择的初始化,从而使系统尽可能快的恢复正常。系统初次上电投入运行时,必须是“冷启动”。运行过程中,由于抗干扰措施引起的复位,一般均为“热启动”。为了使系统能正确地决定采用何种启动方式,往往由软件用“上电标志”来区分。系统入口程序设计策略如图3—1所示。

  为使“热启动”顺利进行,首先要关中断,重新设置堆栈,将所有的I/O口设置为安全状态,封锁I/O操作,以免事态扩大,然后进行信息的恢复和状态的重入工作。



评论


相关推荐

技术专区

关闭