【理论】SPI Flash和E2PROM区别

SPI Flash和E2PROM两款存储芯片作为单片机常用的外部存储器件,其区别还是要去仔细把握一下的。

以W25Q128为代表的SPI Flash和以AT24C02为代表的E2PROM为例,下面我就用表格的方式介绍一下两类芯片的区别。

芯片类型AT24C02 E2PROMW25Q128 SPI Flash
性能E2PROM通常采用是IIC串行总线,低速,单双工,通信速率一般是百KHz。SPI Flash是采用的SPI总线,高速,全双工,通讯速率一般是百MHz。SPI Flash属于Flash ROM闪存,相比于EPROM,读写速度更快。
应用场景E2PROM通常用于存储不频繁读取的数据,如配置信息等。SPI Flash通常用来存储经常读取的数据,如字库文件等。
数据读取E2PROM读写比较随意,想写那个地址写那个,想读哪个地址读哪个。SPI Flash则比较规范,擦除的最小单位是扇区。向某个地址写入数据时, 要先读取这个地址的数据是否为0xFF,如果不是0xFF,那么这个数据写入失败。所以通常的写操作是,在写某个地址之前,直接擦除这个地址所在的那个扇区,然后再写数据。当然,如果这个扇区的所有内容都是0xFF,则无需擦除,可以直接写入。
容量E2PROM通常容量比较小,大小为KB级的,如AT24C02是2KB。SPI Flash容量比较大,大小为MB级的,如W25Q16是16Mbit,也就是2MB。
系列E2PROM型号通常是xx24系列。SPI Flash通常是xx25系列。
数据存储时间E2PROM数据保存时间大约是100年。而SPI Flash数据保存时间为20年。
数据擦写次数E2PROM的读写次数为100万次左右。SPI Flash读写次数为10万次左右。

W25Q128为例,容量为128Mbits,注意这里的单位是bit,换算成字节(Byte),也就是:

128Mbits/8 = 16MB = 16*1024KB = 16384 KB = 16,777,216B,所以很容易计算出整个存储空间的地址范围:0x000000~0xFFFFFF,SPI Flash和E2PROM的很大的一个不同就是多了块、扇区、页的概念。

W25Q128的整个存储空间被分成了256个块(Block),每个块包含16个扇区(Sector),每个扇区又包括16个页。

所以,如果按照块来计算,W25Q128包括256个块。 如果按照扇区来计算,W25Q128包括256*16=4096个扇区。 如果按照页来计算的话,W25Q128包括4096*16=65536个页。

每个块的大小是:16384KB/256 = 64KB 每个扇区的大小是:64KB/16 = 4KB 每个页的大小是:4KB/16 = 256B

但是实际上,我们在进行读写操作时,都是区分块和扇区,不区分页的。

  • 8
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米杰的声音

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值