Autosar存储入门系列01_NVM基础概念篇

0.前言

最近工作比较忙,下班到家都快十点了,实在是没有多余的精力输出,但整理写作的过程我一直觉得就是与自己对话的过程,一场一个人的修行,通过这个过程让自己对知识点的理解更加清晰、成体系,所以我一直在坚持,成人达己,也希望能对阅读的伙伴带来收获。

本篇是整理的Autosar存储入门系列第一篇文章,算是开个头,后面会结合学习经验与总结不断更新,需要说明的一点是我对存储这块也是一直有了解但可能还不太深刻,希望能从学习者的角度把存储相关的知识点梳理一遍,这个过程中如果大家觉得有讲得不对或者不够清晰的地方,还请一定指出来,一起探讨,加深学习。

另外根据本人多年的开发经验,做了一些AutosarMCAL配置,通信,诊断,模式管理等实战总结,如果您有需求可以参见AutoSar 实战进阶系列专栏,快速链接:AutoSar实战进阶系列导读

本篇介绍一些NVM的基础知识,基本框架如下:
在这里插入图片描述

1. NVM基本概念

1.1 基本概念及架构

缩写含义
NVMNon-Volatile Ram Memory,管理NVRAM数据,NVM层只对Block进行操作,不区分内外置EEP
MemIfMemory Abstraction Interface ,Autosar架构中的memory抽象层接口,由MemIf层对内外置EEP进行区分
FEEFlash EEPROM Emulation,即Flash模拟EEP的抽象层
EAEEPROMAbstraction,属于BSW,向NVM提供进行外置EEP操作(读/写/擦)的接口函数
FLSFlash,分PFlsh及DFlash,一般会使用DFlash作为内置模拟EEP
EEPROM(Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器

在项目NVM部分的开发中,我们会有两种存储路径即:内置模拟EEPROM及外置EEPROM,对应在Autosar中的存储架构如下:
在这里插入图片描述

1.2 内置模拟EEPROM介绍

一般提到的内置模拟EEPROM指MCU内部的DFlash模拟的EEPROM,例如在英飞凌TC39x的芯片手册中就写明,该芯片有高达1MByte的DFlash可用于模拟EEPROM
在这里插入图片描述
除1Mbyte的DF0外,在英飞凌TC39x其DFlash可以再划分为如下几个部分:
– Data Flash Memory for CPU EEPROM (DF0)
– User Configuration Blocks (DF0)
– Configuration Sector (DF0)
– Data Flash Memory for HSM EEPROM (DF1)
对应的内存大小及地址如下表:
在这里插入图片描述
在这里插入图片描述

擦写寿命
对于使用DFlash做模拟 EEPROM,其寿命一般在几十万次,例如对于英飞凌的TC3xx系列在芯片手册中有如下描述:
在这里插入图片描述
注:对于DFlash,逻辑扇区的划分有两种模式:Single Ended Mode(单端模式)及Complement Sensing Mode。
Single Ended Mode:每个逻辑扇区大小为4Kbyte;
Complement Sensing Mode:每个逻辑扇区大小为2Kbyte。

1.3 外挂EPROM介绍

外挂EPROM是指在MCU之外增加一个芯片用于NVM存储,例如ST的M95640芯片,其大小为8KByte,通过SPI与MCU进行数据交换。
在这里插入图片描述
其擦写寿命在-45℃~20℃可达到4 million次,在+85℃可达到1.2 million次,并且其数据保存寿命可超过200年,相对于Flash的擦写次数及保存时间均有明显优势。

综上可以看出内置模拟与外挂的EEPROM区别如下:

  1. DFLASH在MCU内部读/写速度快,EEPROM通过SPI通信,其读/写速度更慢;

  2. 内置FLASH存储擦写次数低,外挂EEPROM,擦/写寿命长,可达到百万次级别;

  3. 内置FLASH数据存储时间短,一般≥20年,而EEPROM数据存储时间一般≥100年,像ST的M95640芯片可达到200年;

  4. DFLASH价格低,容量大,而EEPROM价格高,容量小;这个也是从项目成本及实际需求考虑决定是否使用需要考虑的一件事。

一般如果内部从项目成本考虑,内部DFLASH能满足需求可能就不会再外挂一个芯片了。

2.Sector/Page/Block相关概念

2.1 Sector概念

Sector即扇区,可分为 physical sector(物理扇区)及 logical sector(逻辑扇区)。逻辑扇区是单次擦写的最小单位,在英飞凌TC3xx芯片手册中有如下定义:
在这里插入图片描述
如下图在英飞凌TC3xx中,可以将3Mbyte的PFlash分成3个物理扇区,每个物理扇区可继续分为64个逻辑扇区,每个逻辑扇区的大小为16Byte:
在这里插入图片描述

在DFlash中物理扇区与逻辑扇区的对应关系根据是Single Ended模式或Complement sensing模式划分如下:
Single Ended模式下,1M的物理扇区划分为256个逻辑扇区,每个逻辑扇区的大小为4KByte。
在这里插入图片描述

Complement sensing模式下,划分为256个逻辑扇区,每个逻辑扇区的大小为2KByte:
在这里插入图片描述

2.2 Page概念

Page为可编程的最小单元,在英飞凌TC3xx中PFlash一个page大小为32Byte,DFlash一个page为8Byte。

逻辑扇区是一次擦除的最小数量的闪存,扇区大小取决于硬件,例如在英飞凌TC3xx中DFlash一个逻辑扇区在Single Ended模式下大小为4KByte。

此外,在英飞凌TC3xx使用DFlash做模拟EEPROM时,会将其分为几个Page,例如划分为Page0及Page1两个页,开始时会现在Page0上存储,当Page0存储满后会切页到Page1,并将Page0上的有效信息复制到Page1,这个后续可以再详细聊聊。

2.3 Block概念

Block是需要存NVM的模块可以调用的最小的可擦写单元,即使需要写入的数据只是Block的一小部分,仍然需要对整个Block进行擦写,其由一个或多个虚拟Page组成,虚拟Page是上述的可编程的最小单元,例如在英飞凌TC3xx中使用DFlash做模拟EEPROM时一个Block的大小最小为8Byte。

在项目开发中会根据存储数据写入时机、写入频率,数据大小等进行Block划分。

总结

本文先介绍了NVM中的一些基本概念,例如内置模拟EEEPROM,外挂EEPROM,两者区别及联系,对存储中的Sector,Page,Block也进行了简单介绍,让大家先有一个初步的印象,后面会逐步带入TC3xx芯片的翻页写机制,Autosar架构下的Nvm存储逻辑,工程中的实际应用及注意事项等,相信一路走下去我们都会有收获。

在这里插入图片描述

  • 9
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
autosar_sws_cannetworkmanagement_4.3是使用CAN总线进行通信的汽车电子系统的管理和控制规范。CAN总线是汽车电子系统中最常用的通讯协议之一,它提供了一个可靠的、高效的和实时的通信方式。 autosar_sws_cannetworkmanagement_4.3规范包含了CAN网络管理的所有方面,包括物理和数据链路层的协议、网络配置、节点管理、通信控制、事件管理等等。这些方面都是为了确保CAN通信的可靠性和实时性,以及系统的稳定性和安全性。 autosar_sws_cannetworkmanagement_4.3规范也包含了一些重要的特性和功能。例如,它提供了节点诊断和监测功能,以及网络通信负载均衡和多路复用功能。此外,它还支持更高级别的通信协议,如信号协议(例如CANopen,J1939等)和诊断协议(例如UDS等)。 在实践中,autosar_sws_cannetworkmanagement_4.3规范对于开发CAN总线应用程序非常有用。它提供了标准化的API和接口,便于不同的开发人员协同合作,并能够减少开发时间和开发成本。同时,它也提供了可执行的示例代码和测试数据,方便开发人员进行测试和验证。 综上所述,autosar_sws_cannetworkmanagement_4.3规范是一份非常重要的文档,它为汽车电子系统中最常用的通信协议之一(CAN总线)提供了完整的管理和控制规范。它不仅包含了所有必要的功能和特性,而且还为开发人员提供了标准化的API和接口,方便开发和验证。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Autosar汽车电子进阶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值