微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于32位单片机的高可靠性系统设计

基于32位单片机的高可靠性系统设计

时间:07-07 来源:互联网 点击:


       掉电报警电路

       当系统的某一级工作电源掉电时,控制装置将不能正常运作,或者控制信号得不到正确执行。这时应该发出报警信号,掉电报警电路如图6 所示。将各等级的工作电源通过关隔MOC8050 串接起来,一旦发生掉电的情况,掉电报警处的电平由高变为低,启动报警装置。软件可靠性设计

       软件看门狗

       在MC68HC376 的SIM 模块中,有一个软件看门狗,在监控程序中,可以开启软件看门狗,配合提高系统的可靠性。该软件看门狗由MC68HC376的系统保护控制寄存器(SYPCR)中的SWE 位控制开启。当SWE 位为1 时,看门狗启动,开始计时。在装置正常工作时,程序应该在软件看门狗溢出之前对软件服务寄存器(SWSR)先后写入55H 和AAH,当写入完成之后,软件看门狗就会清除当前计时值,重新开始计时。如果计时值溢出,则会使MC68HC376 的/RESET引脚有效,系统复位。这样,就可以在程序死循环或者由于其它原因而导致程序跳飞时自动回复到复位状态。看门狗的溢出时间由系统频率以及SYPCR 寄存器的看门狗分频位(SWP)和看门狗定时区(SWT[1:0])决定,如表1所示。选择看门狗溢出时间时应该注意大小适中,若取值过大,则程序可能会较长时间处于死循环或跳飞状态,从而导致控制错误或失效;若取值过小,则会增加程序负担,降低装置运行效率。
程序的区域划分和操作级别控制

       CPU32 可进行两种优先级别的操作:监控级别和用户级别。在监控级别下,CPU 可以对所有的内部集成资源和所有的指令进行操作,而在用户级别下,它对一些寄存器和指令的访问会受到限制。在程序中有效地利用这种优先级别会使内部资源和一些系统指令得到有控制的访问,从而提高系统运行的可靠性。CPU32的状态寄存器SR 中的S 位决定CPU 的工作级别,当S=1 时CPU 处于监控级别;S=0时CPU处于用户级别。 一般情况下,单片机的程序区和数据区在同一个物理地址空间。对于MC68HC376,可以通过功能码FC[2:0]来扩展和划分外部物理空间,对FC[2:0]实现外部解码,可以使监控级程序、监控级数据、用户级程序、用户级数据分别使用各自独立的地址空间。对于MC68HC376内部的各个模块,可以通过其相应的结构寄存器中的SUPV 位来确定该部分的通用寄存器所处的地址空间,当SUPV=1 时,将相关的寄存器放置于监控级数据地址空间,CPU只有在监控级别时才可对其访问和操作;当SUPV=0 时,将相关的寄存器放置于数据级数据地址空间,CPU可任意对其进行访问和操作。这样,整个程序结构性强,按级别控制访问,增强了运行的可靠性。

    总线监视器

       MC68HC376 进行内部总线操作时,数据选通应答引脚(/DSACK)和自动向量引脚(/AVEC)应该有相应的应答信号。SIM模块中的总线监视器能对/DSACK和/AVEC信号进行监视,当响应时间超过定时值就使总线错误(/BERR)引脚有效。程序应对/BERR的状态进行监视,以便及时对总线错误做出相应的处理。

       总线监视器的定时值由系统保护控制寄存器(SYPCR)中的总线监视时间区(BMT[1:0])决定。BMT[1:0]=00时,定时值为64个系统时钟;BMT[1:0]=01时,定时值为32 个系统时钟;BMT[1:0]=10时,定时值为16个系统时钟;BMT[1:0]=11时,定时值为8 个系统时钟。程序员应根据实际的运行情况进行选择。 其它 其它一些提高可靠性的措施还包括有配置去耦电容;系统时钟电路采用独立电源VDDSYN供电,减少对MCU的干扰,而且MCU 停电时系统时钟仍可维持运行。布线时,时钟电路设置在电路板的中央;Standby RAM采用两个电源VDD 和VSTBY供电,正常运行时VDD 供电,发生掉电时,使其自动切换到VSTBY 供电。同时,在软件中,将堆栈及一些重要数据存放在Standby RAM 有利于重要运行参数的保存。

       3 结语

       该方案采用高性能、集成度高、可靠性强的32 位新型微控制器MC68HC376为核心,同时在硬件、软件以及制板布线等方面采用多种提高系统可靠性的设计措施。应用该方案的数字式低频低压控制装置RSA800,已通过电力工业部电力设备及仪表质量检验测试中心的产品型式试验。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top