新闻中心

EEPW首页 > 设计应用 > 智能接触器可靠性设计的软件实现方法(06-100)

智能接触器可靠性设计的软件实现方法(06-100)

——
作者:安徽淮化集团设计研究院 洪滨 安徽省淮南联合大学机电系 李善田时间:2008-04-07来源:电子产品世界收藏
  重复初始化

  监控程序一般在上电、复位等操作时,对单片机及片外扩展接口芯片的各种功能、端口、方式、状态等采用永久性或临时性的设置,这就是通常的初始化。考虑到可能的干扰入侵,为保证嵌入式系统的自恢复功能,可进行“重复初始化”,即:在重要功能模块调用前,再一次对相应的控制寄存器设定动作模式,以加强该功能模块的健壮性。

本文引用地址:http://www.amcfsurvey.com/article/81284.htm

  数据传输冗余

  控制或采集端与上位机之间的串行传输可考虑给数据添加冗余位的方式,以延长数据代码之间的海明距离(Hamming);或采用循环冗余校验(CRC)手段,来增加数据的检测和纠正错误能力。

  重复执行

  把重要的指令设计成定时扫描模块,使其在整个程序的循环运行过程中反复执行。这样,即使干扰信号改写了指令的内容,也能在受控设备的反应时间内自动恢复正常。例如,对频率较低的传感器数据,可在有效时间内多次采集并比较;对控制外部设备的指令,则需多次重复执行以确保输出信号的可靠性。

  标志冗余法

  考虑到干扰信号有可能对RAM区的数据进行破坏,我们可以在RAM中每隔一定单元置入一些标志(标志冗余),而这些标志在初始化时便设置好。事故处理程序一开始,便检查这些标志是否正常;如不正常,说明数据已被破坏,转向事故处理程序。具体做法是:在单片机内存(片内RAM)中设立运行标志FLAG(冗余标志)。若数据写在2K的RAM空间,地址从0000H开始,每隔256个单元置一个标志EEH。

  “冗余标志”还可以完成单片机系统的冷、热启动的自动判别。“冷启动”就是清零启动,一切重新开始。它通常包括清除内外RAM中的所有中间运行数据、各种状态标志。“热启动”则是停电时保存的中间数据和各种有关标志为基础的条件下,继续运行。如果在RAM中将连续5个单元设为“AAH”作为正常标志。即正常开机时,初始化程序将Flag全部置为AAH,然后,再执行运行程序。若软复位后,程序查到Flag全为AAH,则是热启动,转而执行“事故处理程序”。

  指令冗余

  为了抑制程序的弹飞,在多字节指令后增加两条没有意义的空指令NOP,称之为“指令冗余”。单片机受到干扰后,往往会把操作数当做指令码来执行,从而,引起整个程序的混乱。由于程序弹飞到某一条单字节指令上,不会发生将操作数当成指令码的错误,而弹飞到双字节或三字节指令的操作数时,程序就会发生将操作数当成指令码的错误,使程序继续弹飞,引起整个软件的崩溃。为了保证指令在干扰条件下不被拆散,在程序多字节指令后,通常,插入两个单字节的空操作指令NOP,来抑制程序的弹飞。冗余指令NOP,在程序中不宜加得太多,否则,会使程序运行速度减慢。

  结语

  在零侵蚀接触器试验样机容错控制算法的设计过程,笔者除使用搏弈、冗余等软件容错技术外,还使用了数字滤波、堆栈溢出的预防、A/D和D/A通道的诊断与校正、以及输入输出界面的安全性设计等可靠性技术。软件理论告诉我们,微处理系统的软件不可能完美无缺,但软件容错设计可以帮助设计师尽可能减少错误,使由于软件问题而出错的概率降低到完全可以接受的程度。

  值得注意的是:软件容错设计不可以取代硬件可靠性和抗干扰的基本设计!硬件可靠性和抗干扰基本设计,包括元器件筛选、老化、防潮、防震、防尘、散热问题;滤波电路与抗干扰稳压电源的使用;系统的屏蔽、接地、光电隔离的处理等等。它们可以给微处理系统创造一个基本上是“干净”的工作环境。由于软件容错设计是以CPU和RAM的开销为代价的,如果没有硬件可靠性和抗干扰一般措施消除绝大多数干扰,CPU将忙于奔命,没有时间来干正经的工作,严重影响到系统的工作效率和实时性。因此,一个成功的智能可靠性设计应是硬件与软件有机结合的产物。


上一页 1 2 3 4 5 下一页

评论


相关推荐

技术专区

关闭