AUTOSAR MemStack综述

发布于 2023-3-1 15:15
浏览
0收藏

AUTOSAR是一个由汽车供应商、制造商以及来自电子、半导体和软件行业的其他公司组成的普遍进步的伙伴关系。AUTOSAR标准的设计是为了促进软件的可重用性、标准化和互操作性。它提供了维持下一代和当前一代汽车ECU的程序。为了维护汽车领域的非易失性(NV)存储器,AUTOSAR环境中使用了内存栈(MemStack)。本文介绍了AUTOSAR MemStack的概况、其优势以及如何将其用于高级驾驶辅助系统。

简介

汽车行业在ADAS方面取得了巨大的进展。为了使驾驶更可靠、更安全,ADAS中采用了大量的ECU和传感器。每一种设备都存储着与系统所需的不同方面相关的各种细节,如里程数计数器、驾驶员设置、后视镜调整、燃油消耗、关于里程的详细信息、视频、车辆特定数据、特征的变体编码、操作时间、学习值(即:错位)、故障记忆、事件日志、Flash引导加载程序和应用程序SW之间的接口、驾驶员设置(即:ACC设定速度),以及对安全关键的信息,如雷达图像,以及事故发生前瞬间的其他传感器(黑匣子信息- EDR)。


为了存储和有效地管理这些信息,并提高系统的效率,减少任何不正常行为的可能性,数据必须被有序地管理和存储。为此,采用了AUTOSAR MemStack。

内存栈(MemStack)的结构

MemStack是CDG方案中符合AUTOSAR标准的BSW中的一个模块,即CUBAS。BSW内存辅助工具被纳入MemStack中。它包括BSW的所有层级(ECU抽象层和服务、微控制器抽象层)。


MemStack支持BSW应用层和模块获得NV内存。通过处理MemStack APIs,BSW中的SWC可以向NV内存写入和读取信息。


如图1所示,MemStack包含以下组件--内存协助服务--(非易失性内存管理器(NvM))、内存接口(MemIf)、闪存EEPROM仿真(Fee)、EEPROM抽象(Ea)、闪存驱动程序(Fls)、EEPROM驱动程序(Eep)。 


NvM:NvM模块根据汽车生态系统的具体要求,保证数据维护和NV数据的存储。


NvM模块控制EEPROM和FLASH EEPR的NV信息。


MemIf模块:该模块是来自较低层(FEE和EA)的负责任的抽象。并给出了上述层针对统一线性地址空间的虚拟分割算法。这确保NvM不受驱动接口(Eep, Fls)的约束。


Ea: 它协助从EEPROM中写入、读取、擦除数据。它还为分析EEPROM中的数据块和内存中的数据块提供服务。Ea帮助以下EEPROM驱动器的寻址方法抽象,因此提供了一个一致的寻址方案。这确保了如果EEPROM设备和驱动器被替换,NvM不需要做任何修改。

AUTOSAR MemStack综述-汽车开发者社区

图1.MemStack的详细架构


FEE模块:FEE总结了设备、一个特定的分段和寻址方案。这使NvM具有虚拟分段、寻址方案和隐含的无限擦除循环。


Fls: Fls驱动初始化Flash,写入和读取Flash存储器。


EeP:它为EEPROM的擦除、写入和读出提供服务。还提供EEPROM中的数据块与RAM中的数据块进行比较的服务。

内存栈的职责

主要职责包括--信息的结构化存储,从/到NV内存写入和读取数据,提供抽象,以获得外部/内部NV内存,确保NV内存的持久性和耐久性,保存内存写入序列是必不可少的,管理NV内存的错误检测和纠错机制,监督内存块,虚拟地址到物理地址的映射。NvM负责将数据从RTE(如图2所示)发送到后续层。

AUTOSAR MemStack综述-汽车开发者社区

图2.MemStack中的数据流

NVM概述

NvM是一个长期的数据存储,它在电源周期之间保持其内容。在运行的SW应用程序中,需要存储数据以便长期使用。在程序存储器中可以存储常数/参数数据。在RAM中,可以为实际的电源周期存储数据,但在断电后它会丢失数据。NvM能够在电源周期之间存储需要的数据。数据闪存是控制器内NvM存储器的物理实现。


NvM的属性:


•它有一个有限的大小


•64 Kbyte用于S/M设备


•512 Kbyte,用于L/XL设备


•它有有限的写入/擦除周期(最大500.000次擦除)


•磨损平衡


•为了避免某些单元/扇区比其他单元/扇区老化得更快


•文件系统被用来确保平衡老化


•这意味着NvM数据在内存中没有静态地址,它每次都被写入不同的位置。


•写入速度在物理上是比较快的,但受以下因素的影响很大


•调度→NvM处理程序模块有多少个时隙)


•闪存的老化(写入速度以对数方式下降)→以擦除周期衡量的老化情况


NvM提供以下特点:


•读


•写


•恢复默认值(不影响存储内容!)


•无效(一个标记为无效的块意味着其中没有数据存在)


•擦除(存储介质上没有这个块的数据,也许从来没有这样的数据)


NvM根据汽车环境中的具体需要,确保数据的容纳和NV数据的保存。它还维护FLASH EEPROM和EEPROM的NV数据。

在ADAS中的应用

为了使ADAS更加高效提供出色的功能,我们采用了大量的ECU、雷达、视频和其他传感器。我们需要一个系统来管理这些系统所使用的所有数据,这就是AUTOSAR MemStack的作用。


主要是触发NvM的API,这些API实习影响后续的低层--Fee、Ea、Eep和Fls,并管理信息。如图3所示,NvM使用API与其他模块进行交互。

AUTOSAR MemStack综述-汽车开发者社区

图3.NVM的交互作用


NvM_GetErrorStatus、NvM_ReadBlock、NvM_WriteBlock、NvM_WriteAll和NvM_ReadAll 被一些API使用。

Memstack的比较

在AUTOSAR模型中,堆栈分为两个主要的独立层(NvM-顶部Fee/Ea-中间),它们都需要有自己的主要功能、配置块(Rom和Ram)和内部缓冲器。实际上,可以看到代码大小乘以4,而配置数据使用的Ram和Rom则乘以8,如下图4所示。

AUTOSAR MemStack综述-汽车开发者社区

图4.与其他非AUTOSAR平台的比较

总结

全球化的AUTOSAR标准架构为汽车性能带来了诸多优势。使用AUTOSAR实现车载网络标准化的全球化观点证实了系统运行的确定性和更高的效率。


此外,实施额外的功能,如人工智能、通过区块链进行数据加密,也可以与AUTOSAR对接,提高功能效率。


AUTOSAR标准允许并支持与其他AUTOSAR软件轻松集成。与其他NvM管理器相比,所提出的解决方案的优点是,由于CRC重写保护、诊断和早期故障检测功能,存储器设备的寿命延长。


文章转载自公众号:智能汽车开发者平台


分类
收藏
回复
举报
回复
相关推荐