血战到底麻将

电工之家_电工基础知识学习网站
当前位置:电工之家 > 电工知识 > 单片机 > 正文

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

时间:2019-10-06 11:45 来源:电工之家

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中实现可靠的数据永久存储。

上一篇:单片机输出模拟量方式及具体实现原理
下一篇:没有了
看过《单片机学习IIC总线EEPROM重要吗?有什么用》的人还看了以下文章
单片机输出模拟量方式及具体实现原理 单片机输出模拟量方式及具体实现原理
单片机输出模拟量,主要有两种方式,通过DA模块或者PWM模块输出; 以我目前经常使用的ST的Cortex-M0系列的处理STM32F051处理器为例。 在我负责的产品中,有一款产品需要由单片机产生铃声,为了节省成本,没有使用专用的铃声芯片,而是由单片机的D/A模块输出...
单片机如何实现模拟输出的 单片机如何实现模拟输出的
想要单片机输出模拟信号,属于数字信号转化为模拟信号,简称数模转换;而单片机内部的ADC模块属于模拟信号转化为数字信号,简称模数转换,比如电压电流采样、温度测量、湿度测量、压力测量等都属于模数转换。 由于带DA转换接口的单片机很少,可以使用DA芯片...
MSP430F5529型号的单片机引脚为什么这么乱 MSP430F5529型号的单片机引脚为什么这么乱
查看MSP430F5529这个单片机型号的数据手册发现,其引脚定义布局还是比较规范的,具体表现如下: (1)引脚Pin1~Pin8,全部都是普通IO引脚,可以被同时定义A4~A15,CB4~CB11或者P6.4~P7.3; (2)引脚Pin9~Pin20,几乎都是单功能定义引脚,软件或者硬件工程师在...
单片机程序怎么写占用资源少 单片机程序怎么写占用资源少
单片机一般是用汇编语言编程,尽量减少代码的数量是一个高级程序设计者所追求的。单片机编程中,第一部分一般是初始化,这段程序一点也少不了多少。以后的部分基本上是功能性的,所以在部分应该是结构化、模块化的编程可以实现程序代码最少,而且由于采用结...
单片机总是学不会怎么办 单片机总是学不会怎么办
学会单片机的开发和应用其实并不难,关键是你的基础知识够不够用。如果你是一个大三学生,已经有了数学、物理、电路的基本知识,就是自学单片机应该也能很快入门。如果你已经有了单片机原理的基础知识,只是没有实践经验,那就要从实际动手开始。因为光有理...