编辑推荐: |
本文主要介绍了Adaptive Autosar架构
,以及
Classic Autosar与Adaptive Autosar的比较,希望对您的学习有所帮助。
本文来自于
搜狐公众平台
,由火龙果软件Alice编辑、推荐。 |
|
AUTOSAR传统经典平台(Classic Autosar)标准解决了嵌入式ECU的需求,但是,如高级辅助驾驶和自动驾驶,需要在车辆上引入高度复杂和计算资源需求量大的软件,同时这些软件在车辆上必须完全兼容和绝对安全。在未来,随着汽车电子及软件功能的大幅增长,最终可能向基于中央计算机的车辆集中式电子电气架构,甚至车-云协同控制发展。对于自动驾驶域控制器或计算平台这种控制器,Classic Autosar无法满足其需求。
在这样的趋势下,需要一高度灵活、高性能且支持HPC、动态通讯等特性的新软件架构平台。
为应对未来汽车的各种主流趋势,如自动驾驶、车联网、新能源等新应用和新需求,支持车辆各种完全不同的架构,Adaptive AUTOSAR 平台应运而生。
Adaptive AUTOSAR平台将是汽车ECU单元的未来基础,其关键优势在于其分布式工作模式,可在独立开发ECU应用时互不影响。
Adaptive Autosar主要提供高性能的计算和通信机制,并提供灵活的软件配置,比如支持OTA软件更新。那些专门为Classic Autosar定义的功能,比如电信号和专用总线系统信息的获取,可以集成到Adaptive Autosar中,但不是标准化的重点。
Adaptive Autosar规定了运行时的系统架构、平台的构成以及它所提供的功能和接口。它还规定了用于开发此类系统的机器可读模型。
Adaptive Autosar架构
Adaptive Autosar架构如下:主要包括硬件/虚拟机层、基础层、服务层和应用层。
Adaptive Application是多进程且可处于不同的执行状态,Manifest是arxml类型的文件,其主要包含平台相关的信息,例如恢复操作以及与服务或库相关的依赖关系(说实话到这我都感觉基本是ROS的架构了),Adaptive Autosar基础模块在布置和更新应用时会读取该文件,Instance 配置文件主要包含静态的信息,如版本信息等。
1、ara::com---通讯管理接口
其可实现应用之间的函数调用和事件发送
服务请求:双向数据流,即发送请求者会收到服务端的反馈,可支持多对1的服务请求,即单个服务可被不同客户端调用,客户端可串行或并行进行反馈,具体流程如下:
事件发送:由客户端发起,单向数据流。即数据只可从服务端向客户端流动,支持单个服务向多个客户端的事件发送,流程如下:
2、ara::em---执行管理
控制器启动阶段:主要进行OS的启动,检查安装的应用,如扫描应用的manifest文件,并负责应用的启动(fork(),exec())。
控制器运行阶段:使应用运行在状态机所期望的状态,并监测状态机状态的改变和进程的终止。
3、ara::diag---诊断管理
4、ara::per---存储管理
其主要对非易失性存储器进行操作,实现流存储及对关键数据的存储。
Classic Autosar与Adaptive Autosar的比较
当前汽车控制器,如ECU与其他功能或信息娱乐性控制器有明显的不同,基于Autosar经典平台开发的汽车控制器,具有如下特点:
1、硬实时,可在us时间内完成事件的实时处理,硬实时任务必须满足最后期限的限制,以保证系统的可靠运行。
2、高功能安全等级,其可达到ASIL-D的安全等级。
3、对CPU、RAM或Flash等资源具有较低的占用率。
4、软件功能通常是固化不可动态变更的。
而信息娱乐性控制器,则正好与上相反,其一般会占用较大的硬件资源,且一般不具有实时性,因其一般运行在嵌入式PC上,如LINUX,而不是汽车级操作系统上,所以其即使出现故障也不会造成严重的安全事故。而Apdative Autosar则是连接这两者的桥梁,其具有如下特点:
1、软实时,具有毫秒级内的最后期限,且偶尔错过最后期限也不会造成灾难性后果。
2、具有一定的功能安全要求,可达到ASIL-B或更高。
3、与经典平台不同的是,它更适用于多核动态操作系统的高资源环境,如QNX。
Adaptive Autosar与Classic Autosar相比,虽实时性要求有所降低,但在保证一定功能安全等级的基础上,大大提高了对高性能处理能力的支持,以支持智能互联应用功能的开发,因此C++将成为Adaptive Autosar平台的主要开发语言。
Adaptive Autosar的出现并而是针对不同的应用场景升级,Classic Autosar平台支持高安全性和高实时性的应用场景,因此对于深度嵌入式的软件功能需部署运行在经典平台上;而Adaptive Autosar则支持大数据的并行处理,所以对于高性能运算的功能则需要运行在Adaptive平台上。
|