电工学习网

 找回密码
 立即注册
查看: 3474|回复: 1

单片机学习IIC总线EEPROM重要吗,有什么用?

[复制链接]
发表于 2019-10-6 11:12:34 | 显示全部楼层 |阅读模式
如果是在学习阶段,很建议学一学,主要是为了了解IIC总线和EEPROM两个部分的基础知识。IIC用来扩展一些外围设备用得算比较多的,传感器,屏幕,存储器还有一些外围模块都有用到这个。EEPROM重点在于学习存储原理,至于应用了解即可,在使用单片机的领域,用EEPROM来存储一些配置信息或者关机前的状态是经常会用到的,但是由于现在的单片机大部分片内Flash都有可读写区域(内置EEPROM),外置的EEPROM用得相对来说少了一点。

回复

使用道具 举报

 楼主| 发表于 2019-10-6 11:12:47 | 显示全部楼层
EEPROM是非易失存储器的一种。

非易失存储器在掉电时数据不丢失,可以永久存储,一般用于存储设置相关的数据。

与之相对的为易失存储器,易失存储器在掉电时数据丢失,常用于存储运行过程的数据,其又分为DRAM(动态随机存储器)和SRAM(静态随机存储器),单片机的内部RAM为SRAM。

非易失存储器主要有几类:

Flash,其特点数据存储单元的数据可以由1写到0,而不能从0写到1。只能通过整页擦除(page, 256bytes),或者整个sector(STM32F051为1kByte),或者是整个block(STM32F051为64kByte)将存储单元的数据从0改成1。单片机通过SPI的接口外接Flash。其擦写的寿命一般为10万次。
EEPROM,其特点数据存储单元的数据可以由1写到0,也可以从0写到1,也就是可以对单字节的数据进行任意的读写操作。单片机通过IIC的接口外接EEPROM。其擦写的寿命一般为10万次。
铁电存储器最主要的特点是读写速度快,并可以像非易失性存储器一样使用。因铁电晶体的固有缺点,擦写次数是有限的,超出了限度,FRAM就不再具有非易失性。最大擦写次数高达100万次,比flash寿命长10倍。
前几年比较火的PIC系列处理器有内置的EEPROM,而近年来比较流行的ST的STM32F05X系列以及STM32F1xx系列的处理器,都没有内置的EEPROM,都可以通过内置的Flash实现EEPROM功能。

正如上所述,Flash和EEPROM相比,最主要的区别在于Flash不能擦除单个字节。

因此采用Flash实现单字节读写时,需要有编写专门的软件模块实现该功能。

具体步骤如下:

1. 从内置Flash中取出两块存储区,一块存储区用于正常存储,另一块作为数据的备份。

2. 在单片机的RAM空间中分配与存储区相同大小的空间,用做数据的缓存。

3. 当需要改写数据时,首先将数据缓存至RAM缓存中。

4. 擦除Flash数据的存储区,将RAM缓存中的数据写入数据区,并写入CRC校验值。

5. 擦除Flash备份的存储区,将RAM缓存中的数据写入备份区,并定入CRC校验值。

6.单片机上电时,分别从Flash的数据区和备份区读出数据,并计算CRC值,根据CRC值判断选择数据区的数据或者是备份区的数据。

综上,是当单片机内部没有EEPROM,或者是内部的Flash不适合用于存储永久保存的数据时,可以通过外置的EEPROM存储设备的设置数据(比如产品的LED灯的颜色,亮度等),以及用户的设置数据(比如门禁产品用,用户的卡号数据以及密码数据等)。与Flash相比,由于EEPROM可以单字节进行读写,因此很多数据都可以直接写入到EEPROM,不需要通过复杂的搬移->擦写->搬移等逻辑在Flash中实现可靠的数据永久存储。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-3-28 22:30

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

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