|
|
| | -文章搜索 - 最新文章 - | |
经验谈:一种延长E²PROM使用寿命的方法 |
| 发布时间:2006年3月4日 点击次数:723 |
| 来源:单片机与嵌入式系统应用 作者:哈药集团制药总厂 郎建军 苍宏伟 |
E2PROM是可电擦除的数据存储器。这种存储器的优点是数据可永久保存,无需外加电源。正是因为这个原因,E2PROM在单片机中得到了广泛的应用。E2PROM的缺点是数据的写入次数是有限的且读写速度较慢,以现在流行的串行E2PROM为例,寿命一般在10万次左右。这虽然能满足多数用户的要求,但当要进行大量的数据读写操作时,难免发生数据写入错误,因此必须提供多个单元来存储统一数据,以提高E2PROM的写入寿命。本文采用滚动地址指针的方法,实现多单元数据指针的自动定位。 一、数据指针定位 数据指针就是指向存储数据的E2PROM单元地址。为了便于数据指针的自动定位,我们用一锁链式队列来存储数据,将数据和地址混合存储(数据+地址指针),并事先规定数据重复存储的数量为2的幂次。如果数据重复存储的数量为2I,数据指针的字长为J,第K个数据的自动指针K = K Mod 2I = K Mod 2J。为了便于理解,我们选单一字节地址作为地址指针,这样同一数据重复存储的次数依次可以是2、4、8、16、32、64、128。我们用0~255来代表不同的地址单元。图1给出了一个重复K次的锁链式队列。 图1中的每个地址都是一个数据存储的首地址。我们用K表示一个数据E2PROM中开辟存储单元的个数。数据在E2PROM中一般按连续地址存放,所以,后一个数据的地址一定为前一个数据的地址加1。这样,就不难给出当前地址指针:
如果地址指针的P字长为K,则它可以表示地址数为2K,自动地址指针的最大数字2K-1,当地址指针超过2K时,将自动回0。由于为同一数据开辟的地址单元都限定为2的幂次,所以,最后存入数据的地址指针与下一个地址指针一定不是连续数,这样即取得了数据的当前指针。只要对读取的地址指针取模运算,即可得到实际数据的存储地址。 理论上可以证明,只要数据重复单元的数量为2的幂次,且不超地址指针的范围,则最后写入数据的单元的下一个单元的两个地址一定是间断的。 二、四字节锁链队列 下面介绍数据在X25045中多单元重复存储的方法,并给出16次重复存储的数据指针定位实用程序(限于篇幅,程序部分从略,需要者可从本刊网上查询带实用程序的全文)。 我们知道,X25045一次最多只能写入4字节的数据。如果要存储的某个数据为3个字节,则可将第4个字节作为地址指针存储,从而形成4字节的锁链队列。假定用100H开始的64个连续地址存储数据,则第4字节的数据指针内容可能是表1中的数据。 由表1可见,最后写入数据的地址指针的下一地址是间断的,只要对表中数据取16的模即可得到实际的数据存储地址。表中1、2、3行地址是15;4行地址是1;5行地址是0;6行地址是3。 表1 8位指针数据表 我们用自动指针的方法实现了同一数据的多单元滚动存储。从某种意义上讲,它延长了E2PROM的使用寿命,因此有着广泛的工程应用价值。 |
|
|
|
|
[新闻热点] 相关文章: Intel-研华基于RISC CPU全系列新产品正式发布简介:
2002年9月17—20日,研华公司嵌入式事业部分别在北京、上海和深圳举办了“Intel-研华基于RISC CPU全系列新产品发布会”。会上研华公司进行了研华全系列RISC产品发布,介绍了客制化设计服务、研华小批量快速ODM服务和研华成功案例。Intel公司作了Intel处理器推动嵌入式和通信应用的报告。会议期间还展示了研华公司基于StrongARM的超低功耗主板PCM-7130及其评估包, 推出基于Xcale的平台PCM-7210+SOM-1240。...... 意法半导体巡回展示会报道
2002中国(深圳)嵌入式系统技术与应用研讨会和蓝牙论坛报道
要想设计一个以单片机为控制核心的工业控制系统,其全套开发系统包括那些?目前市场上开发系统品牌繁多,良莠不齐,不知选择购买哪个品牌较好(以8051系列为例)?
2002年四川单片机及嵌入式系统学术会议报道
构建完整的嵌入式Linux系统研讨会报道
从专用RTOS到嵌入式Linux研讨会报道
深圳市嵌入式系统与单片机专业委员会成立
第七届国际集成电路展(IIC)——北京展区巡礼
读者报道:单片机汇编程序开发系统的新秀——VOLON开发机 |
|
|
|