一种基于cpu掉电中断的变量存储的实现方法

文档序号:6381919阅读:1094来源:国知局
专利名称:一种基于cpu掉电中断的变量存储的实现方法
技术领域
本发明涉及工控仪表变量存储技术领域,特别是一种基于CPU掉电中断的变量存储的实现方法。
背景技术
在工控仪表的设计中,某些变量(如累积流量、工作状态等)需要实时更新,并带掉电保存功能,设计中一般采用带掉电保存的特殊RAM芯片来实现,如FRAM、NVRAM等,或用RAM外接电池的方式来实现掉电保存。该种方式不仅要一外部存储芯片,提高了产品的成本,而且零件的增加也限制了产品的使用寿命和后期维护的成本。此外,由于要实时存储,也增加了系统程序执行的负担。

发明内容
本发明的目的是提供一种基于CPU掉电中断的变量存储的实现方法,能实现不用外部存储芯片就能做到工控仪表参数的掉电存储。本发明采用以下方案实现一种基于CPU掉电中断的变量存储的实现方法,其特征在于在CPU的FLASH程序空间划分出一空间,利用所述CPU掉电检测,在检测到掉电后触发一中断,将要保存的参数存入所述空间。在本发明一实施例中,所述的空间是在FLASH程序空间末端划分。在本发明一实施例中,所述的中断在程序中设置成最高优先级。在本发明一实施例中,还包括增加所述CPU供电端的储能电容容量。在本发明一实施例中,所述的电容容量为lOOOuf。在本发明一实施例中,还包括在所述中断前通过运行程序先将所述空间中的参数擦除。在本发明一实施例中,所述掉电检测是检测到所述CPU的供电电压低于2. 9V时,触发所述中断。本发明的方法不仅节省了掉电存储器件,降低了产品的硬件成本、生产维护成本,而且提高了整机的可靠性,进一步提升了产品的性价比,经济效益显著。


图I是本发明方法实施流程原理示意图。
具体实施例方式下面结合附图及实施例对本发明做进一步说明。本实施例提供一种基于CPU掉电中断的变量存储的实现方法,其特征在于在CPU的FLASH程序空间划分出一空间,利用所述CPU掉电检测,在检测到掉电后触发一中断,将要保存的参数存入所述空间。
上述的空间是在FLASH程序空间末端划分。上述的中断在程序中设置成最高优先级。 此外,本发明的方法还包括增加所述CPU供电端的储能电容容量。所述的电容容量为 lOOOuf。在本发明一实施例中,还包括在所述中断前通过运行程序先将所述空间中的参数擦除。所述掉电检测是检测到所述CPU的供电电压低于2. 9V时,触发所述中断。具体的,请参见图1,本实施例的方法在CPU的FLASH程序空间末端划分出一小部分空间,用于参数的掉电存储,省略了外部的掉电存储RAM芯片。利用CPU掉电检测功能,当CPU的供电电压(正常为3. 3V)低于2. 9V时,产生掉电中断,此时电压继续下降,到CPU完全停止工作还有一小段时间,利用这段时间在掉电中断处理程序中将要保存的参数存入flash空间,待下次上电后从程序FLASH空间中重新读出到RAM中,从而实现参数的掉电保存。本实施例中,为了保证该中断的快速响应,可在CPU程序设计中,将掉电中断设计成抢占式最高优先级。考虑到FLASH需要擦除后才能烧写的特性,而I个擦除指令的执行时间超过10ms,因此在软件设计中,本实施例采用在掉电中断前的正常运行程序中先擦除参数FLASH区,掉电中断处理程序中直接写参数的方式来保证执行保存的有效时间长度,同时做好相关配套软件的可靠性冗余设计。要说明的是,本发明的方法在不增加外部硬件的情况下,可实现少量参数(64字节内)的掉电保存,当需要保存的数据较多时,可增加CPU供电端的储能电容容量,延长掉电中断处理的时间,以保存更多的数据。测试增加IOOOuf的电容,可将保存数据扩展到1KB。本发明特别适用于工控仪表中,能显著降低工控仪表的成本。以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
权利要求
1.一种基于CPU掉电中断的变量存储的实现方法,其特征在于在CPU的FLASH程序空间划分出一空间,利用所述CPU掉电检测,在检测到掉电后触发一中断,将要保存的参数存入所述空间。
2.根据权利要求I所述的基于CPU掉电中断的变量存储的实现方法,其特征在于所述的空间是在FLASH程序空间末端划分。
3.根据权利要求I所述的基于CPU掉电中断的变量存储的实现方法,其特征在于所述的中断在程序中设置成最高优先级。
4.根据权利要求I所述的基于CPU掉电中断的变量存储的实现方法,其特征在于还包括增加所述CPU供电端的储能电容容量。
5.根据权利要求4所述的基于CPU掉电中断的变量存储的实现方法,其特征在于所述的电容容量为IOOOuf。
6.根据权利要求I所述的基于CPU掉电中断的变量存储的实现方法,其特征在于还包括在所述中断前通过运行程序先将所述空间中的参数擦除。
7.根据权利要求I所述的基于CPU掉电中断的变量存储的实现方法,其特征在于所述掉电检测是检测到所述CPU的供电电压低于2. 9V时,触发所述中断。
全文摘要
本发明涉及一种基于CPU掉电中断的变量存储的实现方法,其特征在于在CPU的FLASH程序空间划分出一空间,利用所述CPU掉电检测,在检测到掉电后触发一中断,将要保存的参数存入所述空间。本发明能实现不用外部存储芯片就能做到工控仪表参数的掉电存储,节约了设备成本,提高了市场竞争力。
文档编号G06F12/16GK102945210SQ20121047479
公开日2013年2月27日 申请日期2012年11月21日 优先权日2012年11月21日
发明者林瑞忠, 张善明 申请人:福州昌晖自动化系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1