ROM是一种掉电不丢失数据的存储器,EEPROM是ROM的升级版,他支持带电擦除,可以修改存储器内的内容。
而我们还会提到FLASH,是EEPROM的升级,他们二者的区别在于FLASH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM则更多的用作非易失的数据存储器。当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化”的MCU设计会集成FLASH和EEPROM两种非易失性存储器,而廉价型设计往往只有 FLASH,早期可电擦写型MCU则都是EEPRM结构,现在已基本上停产了。
顺便提一下STM32F407ZGT6内部自带1MB的flash
正点原子和野火的电机开发板上都有添加AT24C02,(1×256×8) 2k存储空间的EEPROM,相比之下在STM32F407ZGT6主控上添加这款芯片我觉得有点没必要。1MB是1024*1024、2kb是2*1024。添加的EEPROM容量太小。
原子和野火还有添加W25Q128串行Flash内存由可编程的65536页组成,每一页256字节,16M存储空间。这个大小就足够了。
价格上EEPROM-AT24C02=0.61元
FLASH-W 25Q 128F V S I G=2.3元
价格翻了4倍但是存储容量扩大了8*1024倍。
学习记录一下W25Q128芯片的电路设计
单片机中为什么有了Flash还有EEPROM? - 知乎 (zhihu.com)
EEPROM和flash的区别-CSDN博客
准备工作。
查芯片手册,本次要用的是W25Q128FVSIG。先看目录!先看目录!先看目录!
在芯片手册的末尾找到芯片选型信息。
查看引脚对应表找到8pin-SOIC封装
引脚 | 名称 | 功能 |
1 | CS | 片选信号,低电平有效 |
2 | DO (IO1) | 数据输出 |
3 | WP (IO2) | 写保护输入 |
4 | GND | GND |
5 | DI (IO0) | 数据输入 |
6 | CLK | 串行时钟输入 |
7 | HOLD or RESET(IO3) | 保持或复位输入 |
8 | VCC | 3.3V |
有点可惜,在芯片手册上没能找到电路设计。不过可以通过其他途径来寻找。
在原子哥的电机开发板上找到相关资料