首页 » 互联网 » 嵌入式进修之EEPROM_暗记_字节

嵌入式进修之EEPROM_暗记_字节

乖囧猫 2024-12-30 14:43:46 0

扫一扫用手机浏览

文章目录 [+]

这位粉丝提到的问题非常具有普遍性,很多小伙伴可能都会碰到同样的问题;这个问题又具有“不易复现,影响大,难排查”等的特色;也便是在公司怎么测试都测不出来,但是在客户那里就涌现了。
由于EEPROM存储的内容一样平常都是比较主要的,像公司LOGO,序列号,机器型号等等,出问题之后很难给客户阐明;拿着上位机重写一次就好了,可能再过半年、一年又涌现一次,苦不堪言,丢失很多客户。

由于IIC大多数运用都和EEPROM有关,我们学习IIC时序也是为了运用;以是本日笔者就以AT24C64为例,来谈谈我对EEPROM的理解。
剖析EEPROM数据失落败的缘故原由,以及怎么通过软件去避免这个问题。

嵌入式进修之EEPROM_暗记_字节 嵌入式进修之EEPROM_暗记_字节 互联网

AT24Cxx的容量大小一样平常为xxKB;比如24C64便是64KBits,也便是8192Bytes。

嵌入式进修之EEPROM_暗记_字节 嵌入式进修之EEPROM_暗记_字节 互联网
(图片来自网络侵删)
数据丢失的缘故原由

从两个方面剖析缘故原由:

写失落败;写入EEPROM的值本来便是错的,导致数据丢失;读失落败;程序Bug或读写过程中硬件旗子暗记存在滋扰,导致数据读取不对;写EEPROM改进方法

1.选择具有WP写保护引脚的器件,防止被误写。
现在很多器件都有写保护功能,首先将WP置高,须要写时置低,写完后再置高;防止被误操作。

AT24C64(8-Pin SOIC)

2.将EEPROM参数按页分类。
由于EEPROM存储空间较大,我们可以将内容按页进行分类,划分为只读区和可读可写区;可读可写区域又可以分为用户设置区,机器内部参数区等等。
只读区可以只存出厂之后不会变更的数,如序列号,机器配置等等;

AT24C64按页划分-示例

3.主要参数做备份;由于EEPROM存储空间较大,我们可以将主要参数做备份,一旦主要参数读取失落败了,可以读取备份页,担保数据不会丢失;

AT24C64每页内容格式

4.推举页写办法。
EEPROM供应了2种写办法,字节写和页写;页写的办法,EERPOM存储的内容清晰,出问题了好定位。
写EEPROM的韶光也较短,这样不随意马虎被中断影响到时序;万一写时序出了问题,也不影响只读区域和主要参数;笔者利用多年,一贯没有涌现丢失数据的征象。

按照字节-页写EEPROM过程

5.重视ACK/NAK旗子暗记。
大家从上图中可以看到,这个应答旗子暗记非常主要;笔者在网上搜索的很多例程都不管这个应答旗子暗记,这是缺点的;程序收到NAK,可以有3种处理办法;

1) 设置IIC总线到空闲状态,重新发送起始条件,再写多次;可以急速写,也可以分时写;

2) 如果多次写不堪利,提示EEPROM写失落败;这样客户看到报警信息后可以进行改换产品,减少丢失;

3)如果写成功了,将备份页也按照上述时序写一遍;担保主要数据的可靠性;

读EEPROM改进方法

1.推举利用随机读取办法。
EEPROM也供应了三种读办法;分为直接读,随机读和顺序读。

直接读取读取EEPROM的第一个字节;

随机读取便是写入想要读取的地址,从当前的地址一个字节一个字节读取数据;

顺序读取便是从EEPROM的第一个字节开始一个字节字节的读取;

笔者推举大家利用随机读取的时序去读取EEPROM的值,这种办法非常灵巧,想读几个字节由程序掌握,很方便。

读取EEPROM得三种办法

2.重视ACK/NAK旗子暗记。
与写时序一样,读EEPROM内容也有应答旗子暗记;程序收到NAK,可以有3种处理办法;

1) 设置IIC总线到空闲状态,重新发送起始条件,再次读取多次;可以急速读取,也可以分时读;

2) 如果多次读不堪利,可以多次读取备份页。
如果备份页也读取失落败,提示EEPROM读失落败;这样客户看到报警信息后可以进行改换产品,减少丢失;

3)如果读失落败了,可以将利用的变量初始化成默认参数,这样机器也能正常运行,不会造成停机征象;

结语

EEPROM在工控领域是不可短缺的东西,就像人的影象;如果记不住东西,就须要看年夜夫。
EEPROM的读写稳定性也是非常主要的,笔者也是经由良久的磨合,才逐步优化出这一套逻辑,本日禀享给大家。
你有碰到过EEPROM数据丢失的情形吗,一起来评论去聊聊吧!

标签:

相关文章

直插LED灯珠去世灯失落效分析_阴极_测试

1、电连接不良:LED内部的电连接不良可能是导致去世灯的缘故原由之一。例如,如果LED芯片与其负极金属化层之间存在开裂,可能会导致...

互联网 2025-01-02 阅读0 评论0

虚拟机在R语言中的应用与优势

随着计算机技术的不断发展,虚拟机作为一种重要的技术手段,在各个领域得到了广泛应用。R语言作为一种统计计算和图形显示语言,在数据分析...

互联网 2025-01-01 阅读0 评论0