下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EEPROM(Electrically Erasable Programmable Read一 Only Memory)即电子擦除式只读存储器, 它是一种非挥发性存储器,与擦除式只读存储器(EPROM)类似,电源消失后,储存的数据依然 存在,要消除储存在其中的内容,不是用紫外线照射方式,而是以电子信号直接消除即可。正是由于EEPROM具有以上特点,该器件可广泛应用于对数据存储安全性及可靠性要 求高的应用场合,如门禁考勤系统,测量和医疗仪表,非接触式智能卡,税控收款机,预付费电度 表或复费率电度表、水表、煤气表以及家电遥控器等应用场合。该类型存储器在可靠数据存 储领域会获得越来越广泛的应用。但是
2、,EEPROM有固定的使用寿命,这是指某一位由1写为O或由O写为1的次数。不 同厂家的产品,相同厂家不同型号、系列的产品,它们的寿命也不尽相同,100万次为常见主流 产品。假若某EEPROM寿命为100万次,每秒擦写一次,则其使用时间为1000000 / (3600 x24)=12天。这对于需要较长时间保存数据的应用场合,显然不满足要求。1延长EEPROM寿命的方法一般应用中,要存储的数据比较单一,EEPROM空间与要存储的数据相比要大得多。为此, 可采用一种利用存储器空间延长EEPROM工作寿命的方法。方法l:不固定数据存放的地址,而是用一个固定的基地址加上EEPROM内的一个单元 的内容(
3、即偏移地址)作为真正的地址;若发现存储单元已坏(写入和读出的内容不同),则偏移 地址加1,重新写入。如果采用100倍的存储器空间冗余,可将EEPROM的实际寿命延长100 倍。方法2:从第一个存储单元开始存储数据N次,然后转到下一个单元再存N次,依次类推, 当最后一个单元存放N次之后,再转到第一个单元重新开始。本文推荐采用该法,因为上一种 方法存在一个致命缺陷:当某一个EEPROM单元写坏再用下一个单元时,原先存储的数据就 读不出来了。本文后面的内容也依此作根据进行阐释。2 EEPROM数据储存地址的确认嵌入式系统中的EEPROM电源消失后,储存的数据依然存在。确认数据所存地址是能够 正确将所
4、存数据读出的基本条件,但是掉电后再上电时如何确认数据的地址指针呢?可以采 用以下的方法。2. 1找最大数据法查找EEPROM中的最大数据,就是掉电前最后一次存储的数据。该法对于单片机来讲, 编程时程序量较大,可采用折半查找法或分块查找法降低程序代码量。2. 2用后还原法循环将当前数据写入EEPROM后,立即将前面的EEPROM空间都清0再上电,查找数据 非0的EEPROM空间即可。有的单片机要求在写入数据之前,必须将所有空间都恢复为OxFF, 这样查找非0 xFF的数据空间即可。2. 3地址指针法为每一个数据在EEPROM中设一个地址指针EEADRi,这样只要确认EEADRi数值 即可找到相应
5、数据。对于地址指针法有下述一些技巧。一个地址指针对应一个数据。该方法思路简单,假设EEPROM空间可以存放50组数 据和50个地址ADRi,一组数据占用4个字节,一个地址占用1个字节,共250字节,在储存数 据时,使50个地址指向50组数据的首地址,且使小于变量i的ADRi都清零,或重新赋值为 0 xFF。查找数据时,找到非O或非0 xFF的ADRi,然后根据ADRi的值来确定数据的储存 地址即可。用两个变量来记录数据储存的地址,ADDR 一 0LD和ADDILNEW分别标志当前数据 读出时的地址和新采集来的数据下一次要存储的地址。用一个字节的EEPROM空间作为地址指针。此时,地址指针的数值
6、总是和数据储存的 地址值相等,此种情况最具有技巧性,因为此时可以使用最少的地址指针,因而可以最大量的 节省。EEPROM空间,从而延长EEP-ROM寿命。此方法的思路是:假设第O字节作为地 址指针,当该指针值为1时,数据从第一个地址开始储存;为2时,数据从第二个地址开始储存, 依此类推。3应用实例本人在设计智能流量仪表时,使用美国Microchip公司的PIC16F877单片机。该单片机本 身自带有256字节的EEPROM,其擦写次数典型值为100万次,主要用其储存累计流量和仪表 系数。其中,第201255字节用于存储仪表系数,因其不需要经常操作,所以对这些数据不再 采用变地址动态存储。第0字
7、节储存数据的地址指针,第1200字节用来储存累计量。对于累计量,可以采用浮点数储存,只占用34个字节,目的在于用固定的字节长度可以 保证相同的相对精度。智能流量仪表常年不停地工作,短时间内的流量相对总的流量而言,可以忽略不计。因此, 为了使单片机的EEPROM寿命更长,过一个时间片段(例如10s)储存一次累计量也可以满足 精度要求。假若出现停电事故,累计量只有10s的流量误差,相对总量可以满足精度要求。该 策略可使EEPROM延长10倍寿命。因本例采用O字节来记录数据的存储地址,若数据每存储一次就换一个地址,则200字节 可以存200 / 4=50个位置,相当于储存数据的EEPROM空间擦写一
8、次,第O字节就擦写50次, 因此,第O字节的寿命是其他的1/50,这显然不可行。故可以采用如下方式:在第一个地址 储存50次以后再换下一个地址储存,到最后一个地址也储存50次再转到第一个地址储存时, 这样所有的EEPROM空间使用次数都相等。储存累计量流程图如图1所示。pass :数据存储之前程序循环的次数,它表征多长时间储存一次数据。save_adr:数据在EEPROM中的存储地址。save_time :某数据在同一地址存储的次数。eeprom_write(eeadr,value): EEPROM 写函数。下面是该流程对应的程序(采用澳大利亚HI-TECH公司的PICC demo编译器)。u
9、char save_time,pass_time,save_adr,i, * pl,x4 ,y4;bankl float Q, * p2; /Q 为累计量pl = (uchar *)&Q;x0= * pl; 将浮点数Q变为4个字节rl = x0;pl + +;xl= * pl;r2 = xl;pl + + ;x2= * pl;r3 = x2;pl + + ;x3= * pl;r4 = x3;pass_time+ = 1 ;if(pass 10)/10 s 到 了吗?(pass =0 ;save_time+ = 1 ;if(save_time50)/存 50 次后移一位 EEPROM 地址sav
10、e_time=0;clrwdt();save_adr+=4;/累计量用4个字节储存if(save_adr197)/只用 1200 字节存储累计量save_adr=1;eeprom_write(0,save-adr);/save-adr 为所存累计量地址首字节eeprom_write(savcl_adr,xO);eeprom_write(save_adr+1,x1);eeprom_write(save_adr+2,x2);eeprom_write(save_adr+3,x3);4读出EEPROM中存储的数据系统中的EEPROM掉电后,再上电时从EEPROM读出数据的程序比较简单。void Read_Sum_Q() /读出掉电前的累计量 yO=eeprom_read(save_adr);y1=eeprom_read(1+save_adr);y2_eeprom_read(2+save_adr);y3=eeprom_read(3+save_adr);p2=(float? *)y;Q=*p2;结语采用实例所示的方法,10s存一次可使EEPROM寿命延长10倍,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年版权转让合同:文学作品出版与改编权
- 2024年度企业房屋转租及技术创新合作合同3篇
- 2024年权益转让合同样本3篇
- 餐厅承包安全合同范例
- 2024年度智能语音交互系统研发及产业化合同3篇
- 农业入股经营合同范例
- 购买水泥钢筋合同范例
- 宾馆用墙纸合同范例
- 银行批款合同范例
- 进口医疗设备合同范例
- 四年级上册数学课件-《除数是整十数的笔算除法》 (共14张PPT)人教版
- 公园应急避难场所可行性研究报告
- 佛教各种唱赞集
- 人教版八年级人文地理下册知识点整理(2021版)
- 蓝天救援队xxx年工作计划
- 湘质监统编施
- T∕CAMDI 038-2020 增材制造(3D打印)口腔种植外科导板
- 网络病毒与防范培训课件(PPT57张)
- 陆上石油天然气长输管道建设项目安全设施设计专篇编制导则
- 浇注料的种类及其应用
- (完整版)世界气候类型填图
评论
0/150
提交评论