可靠性设计 的 一小点
来源:互联网 发布:oracle数据库文件类型 编辑:程序博客网 时间:2024/05/04 18:07
今天被教育了,以前我编程的时候,确实很少考虑可靠性的问题,今天问了同事两个问题,得出两条:
1、凡是外部输入都是不可靠的。
有一个模块里,FPGA会周期性的产生中断请求给ARM,但程序中用了ARM内部定时器来监视这个FPGA中断,若长时间没有中断,将显示错误,并关闭输出。我刚看时就这觉得这样的代码多余,经解释之后发现至少有两点必要:
1)在最终的产品中,FPGA可能坏了,不能正常工作了,但是系统必须保证输出在此时被关闭,避免重大事故发生的可能。
2)在生产过程中,FPGA可能出现,未烧逻辑或烧写了错误的逻辑或虚焊了,必须能够快速地定位出是FPGA的问题,以便及时地修正。
2、输出不变时,仍然要周期性的输出。
为什么外部输出未改变值时,仍要执行输出操作呢。我们这个输出还是在中断中完成,我乍一看,感觉如果输出不变,干脆就不要输出了,节约CPU时间。但是其实不然,为了增加可靠性,即时输出未改变,仍然要周期性的执行输出操作。因为:
在工况中,外部的寄存器(273)很可能被干扰,发生误动作,此时若能及时停止这个误动作,很可能就避免了一些悲剧的发生。若认为输出无变化,就不执行输出操作,误动作就没有机会修正。
作为工控行业,关于可靠性设计真的要多想想,今天北京4号线发生电梯倒退致人死亡的事故,值得我们吸取教训。感觉教育我的同事!!
- 可靠性设计 的 一小点
- 地线的可靠性设计
- 服务的可靠性设计
- java重载的一小点
- Vector的一小点扩充
- 印制电路板的可靠性设计
- 电子设备可靠性设计的本质
- 实时软件的可靠性设计
- HDFS 可靠性的设计实现
- 对Ajax的一小点看法
- 我对PowerBuilder的一小点感悟
- 关于CSS的一小点心得
- 提交form 的时候一小点注意事项
- 关于内存的一小点总结
- C++ Primer的一小点总结
- mysql使用的一些小点(一)
- 网络的可靠性是设计出来的
- 基于高可靠性的架构设计
- Windows TSL(线程局部数据)
- c++中的堆和栈
- 浅谈.net中的静态类和java中的内部静态类
- void* mymemcpy( void* dest, const void* src, size_t count )
- 一起写PAM(一)
- 可靠性设计 的 一小点
- .net string 类常用方法
- 基于隧道的VPN宏观总结-附cisco的vti方案
- 内排序与外排序的关系
- 开发Android过程中遇到的一些问题(持续整理)
- session
- Input按钮事件大全
- MySQL Replication(Master与Slave基本原理)(转)
- c# 实现socket 聊天程序 互发消息