Autosar存储入门系列01_NVM基础

这篇具有很好参考价值的文章主要介绍了Autosar存储入门系列01_NVM基础。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0.前言

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

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

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

本篇介绍一些NVM的基础知识,基本框架如下:
Autosar存储入门系列01_NVM基础,# Autosar MemoryStack入门系列,autosar,NVM

1. NVM基本概念

1.1 基本概念及架构

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

在项目NVM部分的开发中,我们会有两种存储路径即:内置模拟EEPROM及外置EEPROM,对应在Autosar中的存储架构如下:
Autosar存储入门系列01_NVM基础,# Autosar MemoryStack入门系列,autosar,NVM

1.2 内置模拟EEPROM介绍

一般提到的内置模拟EEPROM指MCU内部的DFlash模拟的EEPROM,例如在英飞凌TC39x的芯片手册中就写明,该芯片有高达1MByte的DFlash可用于模拟EEPROM
Autosar存储入门系列01_NVM基础,# Autosar MemoryStack入门系列,autosar,NVM
除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)
对应的内存大小及地址如下表:
Autosar存储入门系列01_NVM基础,# Autosar MemoryStack入门系列,autosar,NVM
Autosar存储入门系列01_NVM基础,# Autosar MemoryStack入门系列,autosar,NVM

擦写寿命
对于使用DFlash做模拟 EEPROM,其寿命一般在几十万次,例如对于英飞凌的TC3xx系列在芯片手册中有如下描述:
Autosar存储入门系列01_NVM基础,# Autosar MemoryStack入门系列,autosar,NVM
注:对于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进行数据交换。
Autosar存储入门系列01_NVM基础,# Autosar MemoryStack入门系列,autosar,NVM
其擦写寿命在-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芯片手册中有如下定义:
Autosar存储入门系列01_NVM基础,# Autosar MemoryStack入门系列,autosar,NVM
如下图在英飞凌TC3xx中,可以将3Mbyte的PFlash分成3个物理扇区,每个物理扇区可继续分为64个逻辑扇区,每个逻辑扇区的大小为16Byte:
Autosar存储入门系列01_NVM基础,# Autosar MemoryStack入门系列,autosar,NVM

在DFlash中物理扇区与逻辑扇区的对应关系根据是Single Ended模式或Complement sensing模式划分如下:
Single Ended模式下,1M的物理扇区划分为256个逻辑扇区,每个逻辑扇区的大小为4KByte。
Autosar存储入门系列01_NVM基础,# Autosar MemoryStack入门系列,autosar,NVM

Complement sensing模式下,划分为256个逻辑扇区,每个逻辑扇区的大小为2KByte:
Autosar存储入门系列01_NVM基础,# Autosar MemoryStack入门系列,autosar,NVM

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存储逻辑,工程中的实际应用及注意事项等,相信一路走下去我们都会有收获。

Autosar存储入门系列01_NVM基础,# Autosar MemoryStack入门系列,autosar,NVM文章来源地址https://www.toymoban.com/news/detail-658377.html

到了这里,关于Autosar存储入门系列01_NVM基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Autosar诊断实战系列01-手把手教你增加一路31Routine服务

    在本系列笔者将结合工作中对诊断实战部分的应用经验进一步介绍常用UDS服务的进一步探讨及开发中注意事项, Dem/Dcm/CanTp/Fim模块配置开发及注意事项,诊断与BswM/NvM关联模块的应用开发及诊断capl测试脚本开发等诊断相关实战内容。 Autosar诊断实战导读快速链接:Autosar诊断实

    2024年02月08日
    浏览(45)
  • AutoSAR(基础入门篇)7.3-使用DEV配置SWC&RTE

    目录 一、实验概览 1、实验目的 2、实验内容 二、步骤一:配置SWC

    2024年02月22日
    浏览(37)
  • AutoSAR配置与实践:深入探讨NVM主要接口、模块交互和数据流向(详解)

    深入了解AutoSAR配置中的NVM主要接口、模块交互和数据流向。探讨NVM协议栈架构、主要接口、数据操作流程等内容。

    2024年02月09日
    浏览(256)
  • Classic AUTOSAR专题 | 存储模块简介

    往期小怿向各位小伙伴介绍了Classic AUTOSAR的OS模块,相信看过的小伙伴对Classic AUTOSAR的OS已经有基本的认知了,本期我们将继续介绍Classic AUTOSAR专题之 存储模块 的知识。 目录 1.AUTOSAR存储模块概述 2.NvM功能简介 3.应用层SWC如何访问NvM 4.小结 本文中的存储概念主要是指将数据存

    2024年02月02日
    浏览(46)
  • AUTOSAR存储服务之FEE换页策略介绍

    如下图是AUTOSAR Memory Stack的架构图,对于Memory Stack的介绍请参考AUTOSAR MemoryStack详细介绍_钢琴上的汽车软件的博客-CSDN博客 随着现在MCU携带的内置flash空间越来越大,从成本节省以及方便使用等方面考虑,在产品设计和开发过程中常用Flash EEPROM Emulation技术,故名思意就是使用

    2023年04月22日
    浏览(41)
  • 【车载开发系列】AutoSar中的组件相关知识

    SWC(Software Component)是最常见到的一个概念了,软件组件是封装了部分或者全部汽车电子功能的模块。软件组件包括了其具体的功能实现以及与对应的描述。各个软件组件(SWC)通过虚拟功能总线进行交互,从而形成一个AUTOSAR应用软件。 细分的话还可以分成Atomic SWC和Compos

    2024年02月02日
    浏览(86)
  • AutoSAR入门到精通讲解 (AuroSAR-CP描述) 1.1 AutoSAR-CP简介

    近年来,自动驾驶新能源汽车比较火爆, AutoSAR 工程师也是极奇需缺,本专栏记录 AutoSAR 学习过程。 2.1 简易描述 AUTOSAR 就是 Automotive Open System Architecture 的简称,中文翻译就是汽车开放系统架构。 将汽车电子控制单元( ECU )的软件底层做了一个标准的封装。使得大家都能共

    2024年01月23日
    浏览(45)
  • Autosar基础安全架构简介

    AUTOSAR基础安全架构(BSW Security)是AUTOSAR标准中的一个模块,旨在提供用于保护汽车电子系统的基本安全功能和服务。基础安全架构包括访问控制、身份认证、加密、数字签名、密钥管理等关键安全功能。 下面详细介绍AUTOSAR基础安全架构的主要组件和作用: 1. 安全生命周期

    2024年02月05日
    浏览(40)
  • AUTOSAR基础篇之CanTsyn

    AUTOSAR基础篇之CanTsyn 前言 首先,请问大家几个小小问题,你清楚: 你知道为什么需要进行时间同步吗? 时间同步的应用场景有哪些呢? 当前主流的时间同步方案有哪些吗? 对于CAN 时间同步的协议又是怎样设计的呢? 今天,我们来一起探索并回答这些问题。为了便于大家理

    2023年04月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包