NvM学习笔记(一)以TC387为例,分析为什么要使用Flash 模拟 EEPROM ?

在嵌入式软件系统中,管理非易失性的数据存储,如在系统启动时,从非易失性存储器中读取一些关键数据,在系统关闭阶段,同步应用程序RAM区的数据到非易失性存储器中,是一项十分必要的工作。

目前行业内用的最广泛的非易失性存储设备主要是EEPROM和FLASH ,其均有在ECU掉电后,存储的数据不丢失这样的属性。

但是EEPROM和Flash由于设计特性和制造工艺的不同,各自都有相应的优势,对应的也有相应的劣势。

对于EEPROM:
优点:

  • 以一个Byte为单位写入和擦除的,使得EEPROM擦写比较独立自由,也不会影响其他数据。
  • EEPROM的擦写寿命(PE cycles)是比较高的,达百万次。

缺点:

  • 容量小
  • 价格贵
  • 读/写速度慢,其读写速度慢的主要原因是受限于IIC和SPI的通信速度
    比如芯片AT25040(SPI Serial EEPROMS), 其最高时钟频率2.1MHZ
    NvM学习笔记(一)以TC387为例,分析为什么要使用Flash 模拟 EEPROM ?_第1张图片

对于Flash
优点:

  • 容量大
  • 价格便宜
  • 读/写速度快 ,对于位于uC内部的Flash,由于CPU的主频一般都是百万兆HZ,所以CPU访问Flash的速度更快

缺点

  • 擦写寿命很短(通常只有十万次PE cycles)
  • Flash的最小擦除单位是Logical Sector, 最小编程(写)单位是Page, 一般一个扇区(sector)包括了多个页(page)

如在TC3xx中,对于Pflash,一个Page = 32 Bytes; 而对于Dflash,一个Page =8 Bytes。
NvM学习笔记(一)以TC387为例,分析为什么要使用Flash 模拟 EEPROM ?_第2张图片

在汽车ECU中,需要在下电时保存的数据一般比较多,如发生故障时的DTC和相应的冻结帧,但是EEPROM内存比较小,价格昂贵,而修改Flash中存储的值需要擦除整个内存块,Flash使用寿命短,频繁更新数据势必会降低Flash的使用寿命。

为了降本增效,工程师们就想出了一个结合EEPROM和Flash优点的存储方法,采用uc内部的DFLASH 模拟EEPROM,来存储ECU下电时需要保存到非易失性存储器中的数据,在AUTOSAR软件架构中,存储协议栈可以实现这部分功能。

你可能感兴趣的:(学习,笔记)