摘要:在嵌入式系统设计中,许多设计都会需要使用EEPROM来存储非易失性数据,在显示屏firmware的开发中,很多MCU(MCU是指微程序控制器,以下都简称MCU)通常同时外接Flash(是存储芯片的一种,通过特定的程序可以修改里面的数据,即平时所说的“闪存”,全名叫Flash EEPROM Memory,下文简称Flash)和EEPROM(EEPROM全称Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器,是一种掉电后数据不丢失的存储芯片,下文简称EEPROM),利用Flash存储程序,用EEPROM存储数据参数。考虑到成本问题,为了存储非易失性数据,现今考虑可以利用外接串行 Flash来存储非易失性数据,但是由于Flash与EEPROM在擦写寿命上存在一定的差距,所以在实际应用中,这种设计方式并不能够满足所有客户的需求。
为了能使Flash成功模拟EEPROM,并且最大效率地利用Flash所有空间,使得Flash总体寿命最大化,风险最小化。寿命上的差距,论文采用空间换寿命的方法。
换言之,在更新数据时不擦除原有数据,而是在原有的空间内直接写入数据,读取数据时逆序读出即可。就这样通过一定的软件处理算法,可以大大增加数据存储周期.使用Flash来模拟EEPROM,以此在工程上达到降低成本,减少管脚,提高集成度的目的。
关键字:Flash EEPROM 擦写寿命
目录
摘要
Abstract
第一章 绪论-4
1.1 选题背景-4
1.2 研究意义-4
第二章 Flash和EEPROM简介以及通信协议介绍-5
2.1 Flash和EEPROM介绍-5
2.2 Flash和EEPROM通信方式-6
2.2.1 I2C通信协议-6
2.2.2 SPI协议-7
第三章 硬件电路设计-9
3.1 D-SUB端口-9
3.2 HDMI接口-10
3.3 DVI接口-11
3.4 DP接口-11
3.5 选择模块-12
3.6 M24C64- M24C64-RMN6TP DS-13
3.7 W25Q80BV-13
第四章 系统软件设计-14
4.1 数据管理方式-14
4.1.1 Flash基本特性-14
4.1.2 新的数据管理方式-14
4.2 数据管理实现-15
4.2.1 扇区使用说明-15
4.2.2 更新数据说明-16
4.2.3 逆序读取说明-16
4.2.4 合理使用Flash方法-17
4.3 软件实现过程-19
4.3.1 初始化准备-19
4.3.2 更新数据时写入流程-20
4.3.3 更新数据时读取流程-21
4.3.4 扇区写满,切换扇区存储数据的流程-22
4.3.5 系统自我修复措施-24
第五章 感想总结-26
参考文献-27
致谢-28