学习笔记——AUTOSAR NVM基础知识

原创 汽车ECU开发 2021-10-06 08:00

1 NVRAM Block

1.1 缩写

NVRAM Block是NVM manager层所定义对象。其相关的概念和基本对象包括:

1.2 BSO和NVRAM Block 之间的组织关系如图 1 所示

 图1 NVRAM 个构成(BSO)


Application(以后简称App)层的SoftWare Component(以后简称SWC)需要存储非易失性数据(NV Data)时,就使用NVM Manager 生成不同的NVRAM Block。NVRAM Block包含不同的BSO成分,每一个NVRAM Block包含哪些BSO在配置时决定,配置时每个NVRAM Block都会有一个 NVRAM block descriptor ,一旦 block descriptor 固定,则NVRAM Block的构成也就固定(fixed)了。每一个NVRAM Block都会被分配一个 Block ID,NVM模块就使用 Block ID 来选择要访问的single block。每一个NVRAM Block都可以为其配置 block management type(Native,Redundant,Dataset)。


所有地址偏移都是相对于 NVRAM block descriptor 中RAM或ROM的起始地址(这里认为是block ID,待确认)给出的。一般认为起始地址为0。(如果需要,相应的设备驱动程序将添加设备特别定义的基址或偏移量)。

1.3 BSO的逻辑成分

下图展示了集中BSO的逻辑组成:

1.4 Block management types

前面提到:每一个NVRAM Block都可以为其配置 block management type(Native,Redundant,Dataset)。


NVRAM Block的管理类型有3种:


native

redundant

dataset

每一种类型的NVRAM Block的BSO组成为:

1.4.1 Native NVRAM Block

Native NVRAM块是最简单的块管理类型。


1.4.2 Redundant NVRAM Block

包含2个NV block。如果一个 NV block 块被认为是无效(invalid)的(例如read fail),则会使用另一个有效的NV block 中的数据来恢复无效的 NV block(即将有效NV block 中的数据写到无效的 NV block中)。如果恢复失败,则应将该错误报告给DET(错误码为:NVM_E_LOSS_OF_REDUNDANCY)

1.4.3 Dataset NVRAMBlock
Dataset NVRAM Block 块中包含几个大小相同的(NV / ROM)block。应用程序可以一次访问block中的任意一个。

(原文:The Dataset NVRAM block is an array of equally sized data blocks (NV/ROM). The application can at one time access exactly one of these elements.)
[SWS_NvM_00144] dataset 的 位置 index 在Administrative block 通过一个单独的字段来标识。
[SWS_NvM_00374] NNvM模块应能读取daset中所有的NV块。
[SWS_NvM_00375] 当且仅当禁用 write protection 时,NvM模块才能write所有的NV块。
[SWS_NvM_00146] 如果dataset NVRAM block配置了 ROM block,则index range要能涵盖ROM,即通过index 要能索引NV block 和 ROM block 。
[SWS_NvM_00376] NvM模块应只能读取ROM block(default datasets)。
[SWS_NvM_00377] NvM模块应将 write ROM block 视为 write to a protected NV block。
[SWS_NvM_00444] Dataset NVRAM Block中的 (NV + ROM)block 总数必须在1..255的范围内。
[SWS_NvM_00445]⌈在可选ROM块的情况下,索引从0到NvMNvBlockNum-1的数据区域表示NV块在NV存储器中的CRC。索引从NvMNvBlockNum到NvMNvBlockNum + NvMRomBlockNum-1的数据区域表示ROM块。
[SWS_NvM_00445]   Dataset NVRAM Block中的 (NV + ROM块) 的index 关系图如下图:
先是NV block,然后是ROM block

1.5 NVRAM Manager API configuration classes
NVM 模块提供哪些API AUTOSAR 中也做了规定。但是为了适应不同的硬件资源,NVM模块可以配置哪些API在当前的环境中是可用的。为此,NVM模块中提供了一个 API configuration classes 的配置项,其有三个参数,对应不同的API范围:
—— API configuration class 3: 所有定义的API都可以使用;
—— API configuration class 2: 部分API可用,可用API的中间集合.
—— API configuration class 1: 最少的API可用,在任何情况下都需要的API最小集合。适用于硬件资源非常有限系统。
1.6 硬件抽象层的寻址方案
硬件抽象接口(即更低层的Fee和EA)为NVM提供了虚拟线性32位地址空间用于寻址,这32位地址由16bit的 block number和16bit的block address offset构成。
According to [SWS_NvM_00051], the NvM module allows for a (theoretical) maximum of 65536(2^16) logical blocks, each logical block having a (theoretical) maximum size of 64(2^16) Kbytes.
(NVM模块最多允许寻址 65536(2^16)个逻辑块,每个逻辑块的大小最大为 64(2^16) Kbytes)
16bit 的block number 被进一步划分成两部分:
NV block base number (NVM_NV_BLOCK_BASE_NUMBER) with a bit width of (16 -NVM_DATASET_SELECTION_BITS)
 Data index with a bit width of (NVM_DATASET_SELECTION_BITS)
     即:NVM_DATASET_SELECTION_BITS + NVM_NV_BLOCK_BASE_NUMBER = 16

NvMDatasetSelectionBits 在NVM module中是可配置项,用作Dataset类型的NVRAM Block中的NV block的寻址,即dataset中,NVblock的dataindex 可以为 0,1,2... (2^bit-1)。NvMDatasetSelectionBits被定义之后,则block base number的大小也随即确定(用作对base number寻址的bits个数 == 16-selectionbits), 即NVRAM Block ID可以为 0,1,2,... (2^basenumberbits-1)。

NVM模块的 NvMNvBlockBaseNumber, NvMDatasetSelectionBits 和FeeEA 模块的 EA_BLOCK_NUMBER / FEE_BLOCK_NUMBER 的关系换算关系是:

FEE/EA_BLOCK_NUMBER = (NvMNvBlockBaseNumber << NvMDatasetSelectionBits) + DataIndex.
bit 和其组合后的表示意义:
NvMDatasetSelectionBits        ——> Data Index(一个NVRAM Block的NV block 的编号)
NvMNvBlockBaseNumberbits ——> NVMBlockBaseNumber(即为NVRAM Block ID,NVRAM Block的编号)

即两个类型的 bit 合计共有16个。

例 1:

NvMDatasetSelectionBits == 2 (即被配置为2bit),则可以用作NvMNvBlockBaseNumber 的是14bit。由此:

1、 Range of NvMNvBlockBaseNumber: 0x1..0x3FFE(2^14个,即:1 ~(2^14-1-1))

2、 Range of data index: 0x0..0x3(=2^NvMDatasetSelectionBits-1) (2^2个,即:0 ~ (2^2-1))

3、Range of FEE_BLOCK_NUMBER/EA_BLOCK_NUMBER: 0x4..0xFFFB (0x1<<2bit + 0)

对于一个 native NVRAM block,如果其 NvMNvBlockBaseNumber = 2:

则其对应的NV block 在 Fee/EA 层的 FEE/EA_BLOCK_NUMBER = 8

对于一个 redundant NVRAM block(有2个NV block)如果其 NvMNvBlockBaseNumber = 3:

其1st NV block (data index = 0)在 Fee/EA 层的 FEE/EA_BLOCK_NUMBER = 12 (=3<<2+0,)

其2nd NV block(data index = 1) 在 Fee/EA 层的 FEE/EA_BLOCK_NUMBER = 13(=3<<2+1)

对于一个 dataset NVRAM block 如果其 NvMNvBlockBaseNumber = 4, NvMNvBlockNum = 3 (即有3个NV block):

其 1st NV block(data index = 0) 在 Fee/EA 层的 FEE/EA_BLOCK_NUMBER = 16 (4<<2 +0)

其 2nd NV block (data index = 1)在 Fee/EA 层的 FEE/EA_BLOCK_NUMBER = 17(4<<2 +1)

其 3rd NV block (data index = 2)在 Fee/EA 层的 FEE/EA_BLOCK_NUMBER = 18(4<<2 +2)

————————————————

阅读原文,关注作者博客

版权声明:本文为CSDN博主「慕容静羽」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明,已获取作者转载权限。

推荐阅读

浅析特斯拉Model 3的热管理策略

基于UDS的Bootloder详解

关于整车上下电流程的理解

关于车载以太网 Switch Vlan的理解

AURIX TC3XX系列的SOTA机制详解

一文详解奥迪e-tron内部系统 |附下载

ID.3 和大众的电气化平台 |附下载

一文详解CAN总线错误帧|附下载

DoIP协议介绍,资料分享!

详解车载网络 OTA系统的开发|文末附下载

一文了解汽车嵌入式AUTOSAR架构|附下载

特斯拉Autopilot系统安全研究|附dbc下载

分享不易,恳请点个【在看】
汽车ECU开发 专注于汽车电子ECU软件开发,技术分享。
评论 (0)
  • 一、gao效冷却与控温机制‌1、‌冷媒流动设计‌采用低压液氮(或液氦)通过毛细管路导入蒸发器,蒸汽喷射至样品腔实现快速冷却,冷却效率高(室温至80K约20分钟,至4.2K约30分钟)。通过控温仪动态调节蒸发器加热功率,结合温度传感器(如PT100铂电阻或Cernox磁场不敏感传感器),实现±0.01K的高精度温度稳定性。2、‌宽温区覆盖与扩展性‌标准温区为80K-325K,通过降压选件可将下限延伸至65K(液氮模式)或4K(液氦模式)。可选配475K高温模块,满足材料在ji端温度下的性能测试需求
    锦正茂科技 2025-04-30 13:08 248浏览
  • 网约车,真的“饱和”了?近日,网约车市场的 “饱和” 话题再度引发热议。多地陆续发布网约车风险预警,提醒从业者谨慎入局,这背后究竟隐藏着怎样的市场现状呢?从数据来看,网约车市场的“过剩”现象已愈发明显。以东莞为例,截至2024年12月底,全市网约车数量超过5.77万辆,考取网约车驾驶员证的人数更是超过13.48万人。随着司机数量的不断攀升,订单量却未能同步增长,导致单车日均接单量和营收双双下降。2024年下半年,东莞网约出租车单车日均订单量约10.5单,而单车日均营收也不容乐
    用户1742991715177 2025-04-29 18:28 221浏览
  • 在智能硬件设备趋向微型化的背景下,语音芯片方案厂商针对小体积设备开发了多款超小型语音芯片方案,其中WTV系列和WT2003H系列凭借其QFN封装设计、高性能与高集成度,成为微型设备语音方案的理想选择。以下从封装特性、功能优势及典型应用场景三个方面进行详细介绍。一、超小体积封装:QFN技术的核心优势WTV系列与WT2003H系列均提供QFN封装(如QFN32,尺寸为4×4mm),这种封装形式具有以下特点:体积紧凑:QFN封装通过减少引脚间距和优化内部结构,显著缩小芯片体积,适用于智能门铃、穿戴设备
    广州唯创电子 2025-04-30 09:02 236浏览
  • 在CAN总线分析软件领域,当CANoe不再是唯一选择时,虹科PCAN-Explorer 6软件成为了一个有竞争力的解决方案。在现代工业控制和汽车领域,CAN总线分析软件的重要性不言而喻。随着技术的进步和市场需求的多样化,单一的解决方案已无法满足所有用户的需求。正是在这样的背景下,虹科PCAN-Explorer 6软件以其独特的模块化设计和灵活的功能扩展,为CAN总线分析领域带来了新的选择和可能性。本文将深入探讨虹科PCAN-Explorer 6软件如何以其创新的模块化插件策略,提供定制化的功能选
    虹科汽车智能互联 2025-04-28 16:00 184浏览
  • 文/郭楚妤编辑/cc孙聪颖‍越来越多的企业开始蚕食动力电池市场,行业“去宁王化”态势逐渐明显。随着这种趋势的加强,打开新的市场对于宁德时代而言至关重要。“我们不希望被定义为电池的制造者,而是希望把自己称作新能源产业的开拓者。”4月21日,在宁德时代举行的“超级科技日”发布会上,宁德时代掌门人曾毓群如是说。随着宁德时代核心新品骁遥双核电池的发布,其搭载的“电电增程”技术也走进业界视野。除此之外,经过近3年试水,宁德时代在换电业务上重资加码。曾毓群认为换电是一个重资产、高投入、长周期的产业,涉及的利
    华尔街科技眼 2025-04-28 21:55 163浏览
  • 浪潮之上:智能时代的觉醒    近日参加了一场课题的答辩,这是医疗人工智能揭榜挂帅的国家项目的地区考场,参与者众多,围绕着医疗健康的主题,八仙过海各显神通,百花齐放。   中国大地正在发生着激动人心的场景:深圳前海深港人工智能算力中心高速运转的液冷服务器,武汉马路上自动驾驶出租车穿行的智慧道路,机器人参与北京的马拉松竞赛。从中央到地方,人工智能相关政策和消息如雨后春笋般不断出台,数字中国的建设图景正在智能浪潮中徐徐展开,战略布局如同围棋
    广州铁金刚 2025-04-30 15:24 186浏览
  • 文/Leon编辑/cc孙聪颖‍2023年,厨电行业在相对平稳的市场环境中迎来温和复苏,看似为行业增长积蓄势能。带着对市场向好的预期,2024 年初,老板电器副董事长兼总经理任富佳为企业定下双位数增长目标。然而现实与预期相悖,过去一年,这家老牌厨电企业不仅未能达成业绩目标,曾提出的“三年再造一个老板电器”愿景,也因市场下行压力面临落空风险。作为“企二代”管理者,任富佳在掌舵企业穿越市场周期的过程中,正面临着前所未有的挑战。4月29日,老板电器(002508.SZ)发布了2024年年度报告及2025
    华尔街科技眼 2025-04-30 12:40 206浏览
  • 你是不是也有在公共场合被偷看手机或笔电的经验呢?科技时代下,不少现代人的各式机密数据都在手机、平板或是笔电等可携式的3C产品上处理,若是经常性地需要在公共场合使用,不管是工作上的机密文件,或是重要的个人信息等,民众都有防窃防盗意识,为了避免他人窥探内容,都会选择使用「防窥保护贴片」,以防止数据外泄。现今市面上「防窥保护贴」、「防窥片」、「屏幕防窥膜」等产品就是这种目的下产物 (以下简称防窥片)!防窥片功能与常见问题解析首先,防窥片最主要的功能就是用来防止他人窥视屏幕上的隐私信息,它是利用百叶窗的
    百佳泰测试实验室 2025-04-30 13:28 321浏览
  • 贞光科技代理品牌紫光国芯的车规级LPDDR4内存正成为智能驾驶舱的核心选择。在汽车电子国产化浪潮中,其产品以宽温域稳定工作能力、优异电磁兼容性和超长使用寿命赢得市场认可。紫光国芯不仅确保供应链安全可控,还提供专业本地技术支持。面向未来,紫光国芯正研发LPDDR5车规级产品,将以更高带宽、更低功耗支持汽车智能化发展。随着智能网联汽车的迅猛发展,智能驾驶舱作为人机交互的核心载体,对处理器和存储器的性能与可靠性提出了更高要求。在汽车电子国产化浪潮中,贞光科技代理品牌紫光国芯的车规级LPDDR4内存凭借
    贞光科技 2025-04-28 16:52 256浏览
  • 随着电子元器件的快速发展,导致各种常见的贴片电阻元器件也越来越小,给我们分辨也就变得越来越难,下面就由smt贴片加工厂_安徽英特丽就来告诉大家如何分辨的SMT贴片元器件。先来看看贴片电感和贴片电容的区分:(1)看颜色(黑色)——一般黑色都是贴片电感。贴片电容只有勇于精密设备中的贴片钽电容才是黑色的,其他普通贴片电容基本都不是黑色的。(2)看型号标码——贴片电感以L开头,贴片电容以C开头。从外形是圆形初步判断应为电感,测量两端电阻为零点几欧,则为电感。(3)检测——贴片电感一般阻值小,更没有“充放
    贴片加工小安 2025-04-29 14:59 221浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦