搜索
bottom↓
回复: 10

转载:PIC18f的EEPROM阵列刷新是用来干什么的?

[复制链接]

出0入0汤圆

发表于 2013-6-6 10:31:56 | 显示全部楼层 |阅读模式
18f的EEPROM阵列刷新是用来干什么的?
是不是说EEPROM擦/写了大概快10M次后,只要执行
阵列刷新,就可以再擦/写了10M次,如此循环?


D124   TREF   在刷新之前的总擦写周期数(2)   型值† 10M


2: 有关EEPROM 耐擦写能力的更多细节,请参见第7.8 节“ 使用数据EEPROM”


7.8 使用数据EEPROM
数据EEPROM 是高耐擦写周期,可字节寻址的阵列,
已对其进行优化,允许频繁地更改存储信息(例如,程
序变量或其他经常更新的数据)。更新频率通常要高于
D124 规范中的规定。如果情况并非如此,就必须执行
阵列刷新。因此,不常修改的变量(例如常数、ID 和校
准值等)应该存储在闪存程序存储器上。
例7-3 所示为简单的数据EEPROM 刷新程序。
例7-3: 数据EEPROM 刷新程序

CLRF EEADR ; Start at address 0
BCF EECON1, CFGS ; Set for memory
BCF EECON1, EEPGD ; Set for Data EEPROM
BCF INTCON, GIE ; Disable interrupts
BSF EECON1, WREN ; Enable writes
Loop ; Loop to refresh array
BSF EECON1, RD ; Read current address
MOVLW 55h ;
MOVWF EECON2 ; Write 55h
MOVLW 0AAh ;
MOVWF EECON2 ; Write 0AAh


BSF EECON1, WR ; Set WR bit to begin write
BTFSC EECON1, WR ; Wait for write to complete
BRA $-2
INCFSZ EEADR, F ; Increment address
BRA LOOP ; Not zero, do it again
BCF EECON1, WREN ; Disable writes
BSF INTCON, GIE ; Enable interrupts


注: 如果数据EEPROM 仅用于存储常数和/
或很少修改的数据,可能不必进行阵列刷
新。请参见D124 规范。
如果EEPROM中有些数据很少被改写,而另一些数据改写次数较频繁, 这些相对静态的、很少修改的数据就有可能被破坏掉。为了防止数据被破坏,就要周期性的刷新。
所以要避免周期性刷新,这些“configuration/calibration data”静态数据最好放在程序空间。

关于这个问题,在Microchip网站的英文论坛里也有过很多讨论,确实在理解上很容易混淆。综合了一些网上的讨论结果,总结如下。
1)EEPROM的工艺上,是用浮栅保存电子来记忆数据。当某个EEPROM单元保存了一个数据,如果你不再对EEPROM进行擦写操作,或者掉电,这个浮栅里的电子(也就是数据)能够保存大于40年时间。
2)如果某个EEPROM单元保存了固定数据,而你又对EEPROM的其他单元进行了擦写,在每次对其他单元的擦写时,都会在一定程度上影响那个保存固定数据的单元。这是所有EEPROM的共同特性。
3)正因为2)的影响,如果对于其他单元的擦写次数过多,那个保存固定数据的单元里的内容,有可能在一定其他单元擦写次数后发生改变。
4)如果对那个保存固定数据的单元进行了刷新(Refresh),方法是,把它单元里的内容读出来,再写回去。这样操作后,它就回到了最初状态,没有了之前擦写对它的影响。
5)在3)中提到的“对其他单元的一定擦写次数”之后,固定数据单元里的内容有可能发生改变。这里的“一定擦写次数”,参考数据手册是:如果只对一个字节擦写,是100K次。总共擦写次数是1M次。这就意味着,如果EEPROM里有某个单元数据几乎不变,你对其他单元擦写100K次之前,需要把那个不变化的单元至少刷新一次。(注意:具体参数以对应型号的数据手册为准, 这里提到的数字仅供参考.)
6)数据手册里建议把常数或很少改变的数据放到Flash程序空间里是非常正确的,这样就可以避免执行Refresh的过程。
7)如果你的设计对EEPROM的写入不会大于(单字节擦写100K次)或(总共1M次),可以不考虑Refesh的问题。(注意:具体参数以对应型号的数据手册为准, 这里提到的数字仅供参考.)

出0入0汤圆

发表于 2013-6-7 12:03:43 | 显示全部楼层
关于这个问题,在Microchip网站的英文论坛里也有过很多讨论,确实在理解上很容易混淆。综合了一些网上的讨论结果,总结如下。
1)EEPROM的工艺上,是用浮栅保存电子来记忆数据。当某个EEPROM单元保存了一个数据,如果你不再对EEPROM进行擦写操作,或者掉电,这个浮栅里的电子(也就是数据)能够保存大于40年时间。
2)如果某个EEPROM单元保存了固定数据,而你又对EEPROM的其他单元进行了擦写,在每次对其他单元的擦写时,都会在一定程度上影响那个保存固定数据的单元。这是所有EEPROM的共同特性。
3)正因为2)的影响,如果对于其他单元的擦写次数过多,那个保存固定数据的单元里的内容,有可能在一定其他单元擦写次数后发生改变。

4)如果对那个保存固定数据的单元进行了刷新(Refresh),方法是,把它单元里的内容读出来,再写回去。这样操作后,它就回到了最初状态,没有了之前擦写对它的影响。
5)在3)中提到的“对其他单元的一定擦写次数”之后,固定数据单元里的内容有可能发生改变。这里的“一定擦写次数”,参考数据手册是:如果只对一个字节擦写,是100K次。总共擦写次数是1M次。这就意味着,如果EEPROM里有某个单元数据几乎不变,你对其他单元擦写100K次之前,需要把那个不变化的单元至少刷新一次。(注意:具体参数以对应型号的数据手册为准, 这里提到的数字仅供参考.)
6)数据手册里建议把常数或很少改变的数据放到Flash程序空间里是非常正确的,这样就可以避免执行Refresh的过程。
7)如果你的设计对EEPROM的写入不会大于(单字节擦写100K次)或(总共1M次),可以不考虑Refesh的问题。(注意:具体参数以对应型号的数据手册为准, 这里提到的数字仅供参考.)

出0入0汤圆

发表于 2014-1-28 18:30:56 | 显示全部楼层
fangjikun 发表于 2013-6-7 12:03
关于这个问题,在Microchip网站的英文论坛里也有过很多讨论,确实在理解上很容易混淆。综合了一些网上的讨 ...

谢谢,我也刚好在学习PIC18的单片机。

出0入0汤圆

发表于 2014-4-16 15:13:34 | 显示全部楼层
   顶一下

出0入0汤圆

发表于 2014-5-6 14:53:11 | 显示全部楼层
看看                  

出0入0汤圆

发表于 2014-11-15 11:31:21 | 显示全部楼层
fangjikun 发表于 2013-6-7 12:03
关于这个问题,在Microchip网站的英文论坛里也有过很多讨论,确实在理解上很容易混淆。综合了一些网上的讨 ...

谢谢你的热心指导,

出0入0汤圆

发表于 2014-11-15 14:38:02 | 显示全部楼层
这里的“一定擦写次数”,参考数据手册是:如果只对一个字节擦写,是100K次。总共擦写次数是1M次。这就意味着,如果EEPROM里有某个单元数据几乎不变,你对其他单元擦写100K次之前,需要把那个不变化的单元至少刷新一次。(注意:具体参数以对应型号的数据手册为准, 这里提到的数字仅供参考.)
--------------------------------------------
系统可靠性要求高的,这个细节要关注了;谢谢楼主分享!
头像被屏蔽

出0入0汤圆

发表于 2015-1-26 04:04:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出5入14汤圆

发表于 2015-1-26 08:40:23 | 显示全部楼层
fangjikun 发表于 2013-6-7 12:03
关于这个问题,在Microchip网站的英文论坛里也有过很多讨论,确实在理解上很容易混淆。综合了一些网上的讨 ...

该特性是 MICROCHIP 的18单片机的 EEPROM 有此特性,还是所有 EEPROM 都有啊?

出0入0汤圆

发表于 2015-1-29 22:58:16 | 显示全部楼层
学习了,以前都没注意。

出0入0汤圆

发表于 2015-7-9 17:20:11 | 显示全部楼层
用18f25k22发现此问题,特来学习~~~~~~~~~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-1 13:51

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表