浅谈单片机系统与掉电保护电路的可靠性提高方案
1 问题的提出
在以单片机为核心的智能仪表及过程控制系统中常常需要长时间保存实时参数。通常可采用E2PROM、FLASH MEMORY以及以随机存贮器为基础内置电池的非易失芯片来实现。E2PROM、 FLASHMEMORY属于可在线修改的ROM器件,它解决了应用系统中实时参数掉电保存的难题,但这类芯片写入速度慢(ms级),擦写次数有限(万次级),有些器件擦写次数虽达百万次,对某些应用系统而言,其写入次数仍然是有限的。因此这类芯片只能用在需要保护的数据量小且写入不频繁的系统中。对那些需要大容量高速反复存取实时参数的系统,只能用随机存贮器RAM加掉电保护电路实现。实现上述原理的掉电保护方法很多,某些厂商甚至以RAM为基础内置电池开发出自掉电保护芯片,用这类独立的掉电保护芯片或电路构成的单片机系统,实际应用中有时会出现工作不稳定现象。经分析发现:若系统电源的变化使RAM先处于保护状态,而系统尚未复位,单片机仍正常工作,这时就出现写不进,读不出的现象,引发系统故障。对于这种单片机复位电平与掉电保护电平不一致而影响系统可靠性的问题,本文提出用微处理器监控电路使单片机复位与掉电保护联动的解决方案。RAM在单片机复位时处于保护状态,工作时正常存取,从而有效地解决前述问题。
单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件——存储器中。存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。
2 MAX791[1]芯片介绍
MAX791是MAXIM公司生产的高性能微处理器电源监视电路,它与AMDA公司的AMD791性能相同可以互换。功能包括微处理器复位、备用电池切换、看门狗电路、CMOS-RAM写入保护及电源故障告警等,逻辑框图如图2—1[1]。图中VCC、VOUT分别为电源输入、输出,VBATT为电池输入,为电源低输出,和为RAM芯片使能输入与输出,为复位输出,为人工复位输入,为低将强制RESET有效,SWT、WDI、、分别为看门狗定时设置、触发输入、超时输出和超时脉冲。PFI和分别为电源故障输入和输出,PFI低于1.25 V时变低。MAX791的复位时序如图2—2[1]所示。
3 掉电保护电路设计
3.1 硬件设计
图3—1给出了一种带掉电保护的MCS-51[2]、[3]单片机应用系统的原理图。76C88是CMOS型的RAM芯片,其容量为8K×8,它有两个片选端和CS2,只有为低电平同时CS2为高电平时芯片才被选中。因此将CS2接MAX791的输出端,同时写允许信号通过MAX791的使能控制输入端和输出端,间接从MCS-51的引入,保证在系统复位期间不能读写,有效地保护了76C88中的数据。结合图2—2 MAX791的复位时序,图3—1的电路工作原理分析如下。
上电过程:当VCC从OV上升到复位门限1.65V,输出仍将维持有效电平200ms的时间,保证电源电压正常后系统的有效复位。
有效期间76C88的CS2处于低电平,即片选信号无效,保证上电过程中片内数据不被改写。当VCC大于VBATT时,VOUT自动切换到与VCC相接,76C88转由VCC供电。
RAM(随机存取存储器)RAM -random access memory 随机存储器。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。
正常工作:在此状态下,CS2为高电平,通过MAX791的使能电路复制,单片机可对76C88进行读写操作。为防止程序跑飞,提高系统的可靠性,在程序中插入看门狗触发指令,当程序跑飞超过1.6 s不能触发看门狗时,输出低电平,通过MR使系统复位。
- 集成工具可提高嵌入式DSP系统的设计与验证自动化程度(10-13)
- 最新方法:怎样提高DSP采样精度(10-15)
- 如何提高Linux系统的安全性(10-10)
- 流程改进提高效率IGBT为电机驱动应用(09-12)
- 提高 MSP430G 系列单片机的 Flash 擦写寿命的方法(12-04)
- 提高RS485总线可靠性及故障处理方法(09-10)