位置:51电子网 » 技术资料 » 显示光电

解决工控系统高可靠性的有效技术

发布时间:2007/8/20 0:00:00 访问次数:428

鲁维德

    目前,在许多情况下设计人员会用软件实现以往由硬件完成的电路功能,其原因是低成本的微处理器(up)为大家提供了广泛的选择。软件常常是解决问题的成本最低、灵活性最高的方案,但它也带来一些麻烦 那就是设计人员为了确保系统的可靠性,要进行一些额外的软件测试。如果软件程序中没有代码错误,要求在10000条指令中出错率不要超过10处,即其准确率能够保证千分之一左右,则系统的可靠性就有了保证,然而这实际上并非易事,从而系统可靠性就不能得到确保。

    在台式机系统中出现导致系统瘫痪的软件错误并不可怕,因为用户只需重新启动系统即可,它只会造成少量数据的丢失。然而,对于运行在工控系统的软件,系统必须能够在没有人为干预的条件下恢复故障。这一特性在两种情况下是非常关键的,即一种是高有效性系统,如服务器、电话系统以及生产线等,另一种是高可靠性系统,一旦出现错误将造成伤害,如汽车、医疗设备、工业控制、机器人、自动门等。即使不考虑上述设备应用上的严格要求,系统也应在无需用户干预(按下复位键或重新上电)的条件下能自动从故障状态进行恢复,这是非常重要和有益的,因为只有这样才能使用户觉察不到设备内部出现了问题。为改善并解决这类系统可靠性,人们迫切要寻求出一种简单、有效的技术措施来以确保此要求的实现,而应用“看门狗”技术和电路,是一种最佳方案。

看门狗(Watchdog)技术

    看门狗是一个计数器,它需要在一定的看门狗延时周期内被清零,如果没有清零动作,看门狗电路将产生一个复位信号使系统重新启动或建立—个非屏蔽中断(NMl)、执行故障恢复子程序。大多数看门狗电路是沿触发,这样,无论是上升沿还是下降沿触发看门狗的输入端(WDl)都能够清计数器。WDI引脚连接在处理器的一个I/O口,这条口线由软件触发(图1)。清看门狗计数器的命令必须在主程序内(图2)。如果看门狗没有被清零,复位后软件将从地址0000(启动程序)开始运行。计算主程序的运行时间往往很困难,因为在此期间可能需要多次调用子程序,调用次数的多少与系统输入有关。因此,设计人员常常选择看门狗延时周期远远高于所测试到的循环时间或计算出的循环时间。图3表示正常工作情况下(看门狗在延时周期内被请零)的看门狗信号和复位信号。图4中,在看门狗计数器溢出时发生了一次复位,工业标准的看门狗电路延时周期在lOOms至2s范围内,当然也有些可调节或定制的看门狗电路能够覆盖更宽的延时范围 (30ms至几分钟)。如果主程序的执行时间过长(指相对于看门狗电路而言),设计人员可以在主程序的不同部位多次执行看门狗触发命令,也可以选用看门狗延时周期更长的器件。




    一种防止系统滞留在死循环的技术是在主程序的开始部分将相应的I/O引脚置为高电平,而在主程序的另一部分将其置为低电平。如果软件在主程序的起始部分进入了死循环, 由于WDI始终保持高电平(图5),看门狗将产生延时输出、系统被复位。如果采用一个低—高—低的脉冲(图2所示),看门狗将被请零,但系统仍处于阻塞状态。为解决这个问题,一种更老练的方法是对程序中的多项任务进行监视,每项任务设置一个标志,只有当全部标志置位后看门狗电路才被触发。执行全部任务的时间要比看门狗延时周期短。虽然图2和图5对实际程序只作了一个最简单的对比,但它表达了与此相应的基本概念。在更复杂的系统中还存在一些潜在问题,如存储器泄漏、堆栈溢出等,系统同样需要对这些情况进行监视,只需通过合理的程序设计,认真审核代码或采用专门的软件工具也可以解决上述问题(在此对这些超出了本文的范围问题不作讨论)。

看门狗电路的应用与选择

内部看门狗与外部看门狗

许多μP(微处理器)集成了可编程看门狗功能,软件控制可禁止其工作。内置看门狗易受代码错误的影响,它无法提供外部独立看门狗电路所具有的保护能力。

    在对安全性能要求较高的应用中(如自动门、医疗设备、机器人等),内置看门狗是无法接受的,管理层要求采用独立的外部看门狗电路。使用外部看门狗电路降低关键系统的风险是一个很好的习惯。

简单的看门狗+复位

    通常看门狗延时将重新复位系统,大多数看门狗电路与μP复位集成在一起,它同时可以监视处理器的供电电压(工厂预设监视电压为2.5V、3.0V、3.3V或5V)。在出现看门狗延时或电源电压跌落的情况下均可产生复位动作(见图6的 输出)。 图6所示的MAX823-MAX825系列产品就包含了这两种功能,即看门

鲁维德

    目前,在许多情况下设计人员会用软件实现以往由硬件完成的电路功能,其原因是低成本的微处理器(up)为大家提供了广泛的选择。软件常常是解决问题的成本最低、灵活性最高的方案,但它也带来一些麻烦 那就是设计人员为了确保系统的可靠性,要进行一些额外的软件测试。如果软件程序中没有代码错误,要求在10000条指令中出错率不要超过10处,即其准确率能够保证千分之一左右,则系统的可靠性就有了保证,然而这实际上并非易事,从而系统可靠性就不能得到确保。

    在台式机系统中出现导致系统瘫痪的软件错误并不可怕,因为用户只需重新启动系统即可,它只会造成少量数据的丢失。然而,对于运行在工控系统的软件,系统必须能够在没有人为干预的条件下恢复故障。这一特性在两种情况下是非常关键的,即一种是高有效性系统,如服务器、电话系统以及生产线等,另一种是高可靠性系统,一旦出现错误将造成伤害,如汽车、医疗设备、工业控制、机器人、自动门等。即使不考虑上述设备应用上的严格要求,系统也应在无需用户干预(按下复位键或重新上电)的条件下能自动从故障状态进行恢复,这是非常重要和有益的,因为只有这样才能使用户觉察不到设备内部出现了问题。为改善并解决这类系统可靠性,人们迫切要寻求出一种简单、有效的技术措施来以确保此要求的实现,而应用“看门狗”技术和电路,是一种最佳方案。

看门狗(Watchdog)技术

    看门狗是一个计数器,它需要在一定的看门狗延时周期内被清零,如果没有清零动作,看门狗电路将产生一个复位信号使系统重新启动或建立—个非屏蔽中断(NMl)、执行故障恢复子程序。大多数看门狗电路是沿触发,这样,无论是上升沿还是下降沿触发看门狗的输入端(WDl)都能够清计数器。WDI引脚连接在处理器的一个I/O口,这条口线由软件触发(图1)。清看门狗计数器的命令必须在主程序内(图2)。如果看门狗没有被清零,复位后软件将从地址0000(启动程序)开始运行。计算主程序的运行时间往往很困难,因为在此期间可能需要多次调用子程序,调用次数的多少与系统输入有关。因此,设计人员常常选择看门狗延时周期远远高于所测试到的循环时间或计算出的循环时间。图3表示正常工作情况下(看门狗在延时周期内被请零)的看门狗信号和复位信号。图4中,在看门狗计数器溢出时发生了一次复位,工业标准的看门狗电路延时周期在lOOms至2s范围内,当然也有些可调节或定制的看门狗电路能够覆盖更宽的延时范围 (30ms至几分钟)。如果主程序的执行时间过长(指相对于看门狗电路而言),设计人员可以在主程序的不同部位多次执行看门狗触发命令,也可以选用看门狗延时周期更长的器件。




    一种防止系统滞留在死循环的技术是在主程序的开始部分将相应的I/O引脚置为高电平,而在主程序的另一部分将其置为低电平。如果软件在主程序的起始部分进入了死循环, 由于WDI始终保持高电平(图5),看门狗将产生延时输出、系统被复位。如果采用一个低—高—低的脉冲(图2所示),看门狗将被请零,但系统仍处于阻塞状态。为解决这个问题,一种更老练的方法是对程序中的多项任务进行监视,每项任务设置一个标志,只有当全部标志置位后看门狗电路才被触发。执行全部任务的时间要比看门狗延时周期短。虽然图2和图5对实际程序只作了一个最简单的对比,但它表达了与此相应的基本概念。在更复杂的系统中还存在一些潜在问题,如存储器泄漏、堆栈溢出等,系统同样需要对这些情况进行监视,只需通过合理的程序设计,认真审核代码或采用专门的软件工具也可以解决上述问题(在此对这些超出了本文的范围问题不作讨论)。

看门狗电路的应用与选择

内部看门狗与外部看门狗

许多μP(微处理器)集成了可编程看门狗功能,软件控制可禁止其工作。内置看门狗易受代码错误的影响,它无法提供外部独立看门狗电路所具有的保护能力。

    在对安全性能要求较高的应用中(如自动门、医疗设备、机器人等),内置看门狗是无法接受的,管理层要求采用独立的外部看门狗电路。使用外部看门狗电路降低关键系统的风险是一个很好的习惯。

简单的看门狗+复位

    通常看门狗延时将重新复位系统,大多数看门狗电路与μP复位集成在一起,它同时可以监视处理器的供电电压(工厂预设监视电压为2.5V、3.0V、3.3V或5V)。在出现看门狗延时或电源电压跌落的情况下均可产生复位动作(见图6的 输出)。 图6所示的MAX823-MAX825系列产品就包含了这两种功能,即看门

相关IC型号

热门点击

 

推荐技术资料

按钮与灯的互动实例
    现在赶快去看看这个目录卞有什么。FGA15N120AN... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!