zoukankan      html  css  js  c++  java
  • 可靠性设计 的 一小点


    今天被教育了,以前我编程的时候,确实很少考虑可靠性的问题,今天问了同事两个问题,得出两条:

    1、凡是外部输入都是不可靠的。

    有一个模块里,FPGA会周期性的产生中断请求给ARM,但程序中用了ARM内部定时器来监视这个FPGA中断,若长时间没有中断,将显示错误,并关闭输出。我刚看时就这觉得这样的代码多余,经解释之后发现至少有两点必要:

    1)在最终的产品中,FPGA可能坏了,不能正常工作了,但是系统必须保证输出在此时被关闭,避免重大事故发生的可能。

    2)在生产过程中,FPGA可能出现,未烧逻辑或烧写了错误的逻辑或虚焊了,必须能够快速地定位出是FPGA的问题,以便及时地修正。


    2、输出不变时,仍然要周期性的输出。

    为什么外部输出未改变值时,仍要执行输出操作呢。我们这个输出还是在中断中完成,我乍一看,感觉如果输出不变,干脆就不要输出了,节约CPU时间。但是其实不然,为了增加可靠性,即时输出未改变,仍然要周期性的执行输出操作。因为:

    在工况中,外部的寄存器(273)很可能被干扰,发生误动作,此时若能及时停止这个误动作,很可能就避免了一些悲剧的发生。若认为输出无变化,就不执行输出操作,误动作就没有机会修正。


    作为工控行业,关于可靠性设计真的要多想想,今天北京4号线发生电梯倒退致人死亡的事故,值得我们吸取教训。感觉教育我的同事!!


  • 相关阅读:
    WEB前端开发规范文档
    js九九乘法表
    阿里前端两年随想
    自动播放选项卡
    HTML+CSS编写规范
    简易秒表
    关于响应式布局
    关于PHP语言
    关于CSS3的小知识点之2D变换
    关于H5框架之Bootstrap的小知识
  • 原文地址:https://www.cnblogs.com/windtail/p/2623209.html
Copyright © 2011-2022 走看看