编辑推荐: |
首先对Classic
Autosar与Adaptive Autosar做个比较,然后说明了项目运行中的问题。
本文来自于百家号,由火龙果软件Anna编辑、推荐。 |
|
随着时代的进步,智能化、网联化变成了当前汽车发展的大趋势。Classic
AutoSAR是基于强实时性的嵌入式OS上开发出来的软件架构,能满足传统汽车定制化的功能需求,且能很好胜任;但是一旦要汽车接入网络,网络很可能有延迟、干扰,很可能无法满足强实时性。这种情况下Classic
AutoSAR就无能为力了,所以就需要一套能够满足非实时性的架构系统软件,在这样的背景下,Adaptive
AUTOSAR就诞生了。其将在较长一段时间内与Classic AutoSAR共存。由于Adaptive
AUTOSAR安全级别基本还停留在ASIL-B(最高是D),所以很多需要强安全级别的ECU当下还是需要Classic
AutoSAR(能满足ASIL-D)来实现。
Classic Autosar与Adaptive Autosar的比较
当前汽车控制器,如ECU与其他功能或信息娱乐性控制器有明显的不同,基于Autosar经典平台开发的汽车控制器,具有如下特点:
1、硬实时,可在us时间内完成事件的实时处理,硬实时任务必须满足最后期限的限制,以保证系统的可靠运行。
2、高功能安全等级,其可达到ASIL-D的安全等级。
3、对CPU、RAM或Flash等资源具有较低的占用率。
4、软件功能通常是固化不可动态变更的。
而信息娱乐性控制器,则正好与上相反,其一般会占用较大的硬件资源,且一般不具有实时性,因其一般运行在嵌入式PC上,如LINUX,而不是汽车级操作系统上,所以其即使出现故障也不会造成严重的安全事故。而Apdative
Autosar作为异构软件平台的软件架构,Adaptive AUTOSAR主要用于域控制器,可以成为连接Classic
AutoSAR和Linux这样的非实时OS的桥梁,其具有如下特点:
1、软实时,具有毫秒级内的最后期限,且偶尔错过最后期限也不会造成灾难性后果。
2、具有一定的功能安全要求,可达到ASIL-B或更高。
3、与经典平台不同的是,它更适用于多核动态操作系统的高资源环境,如QNX。
Adaptive Autosar与Classic Autosar相比,虽实时性要求有所降低,但在保证一定功能安全等级的基础上,大大提高了对高性能处理能力的支持,以支持智能互联应用功能的开发,因此C++将成为Adaptive
Autosar平台的主要开发语言。
下图是Adaptive AUTOSAR的架构图,可以看出和Classic AutoSAR是大不一样了:
微处理器上执行的软件组件通常不是基于AUTOSAR Classic标准,取而代之的是AUTOSAR
Adaptive,以满足模块化、动态性和持续更新能力的需求。AUTOSAR Adaptive正在成为汽车高性能平台上约定俗成的软件标准。AUTOSAR
Adaptive使用符合POSIX标准的操作系统,如Linux、 PikeOS或QNX,并为其在汽车领域的应用提供了功能扩展。AUTOSAR
Adaptive的一个主要功能是通信层ara::com,它负责AUTOSAR Adaptive应用之间的通信,也负责与汽车中其他ECU之间的通信。
AUTOSAR Adaptive还为诊断、信息安全和功能安全提供功能支持。这与AUTOSAR Classic基础软件非常相似,但是有一些架构和技术上的区别,例如ara::com是一个面向服务的中间件,这使得在运行期间动态创建通信路径成为可能,这种动态性是ECU运行期间安装软件的前提。然而在AUTOSAR
Classic中,需要首先修改通信矩阵,然后才能让ECU接收或发送新的内容。使用面向服务的方法,可以动态建立服务的订阅,从而实现硬件驱动和上层软件更严格的分离,使得汽车中独立于硬件的应用变得高度可移植。与基于AUTOSAR
Classic的ECU相比,这种方式更加优化了资源配置。例如,在开发阶段,如果某个ECU的资源达到上限,可以在不更改硬件的情况下把软件轻松地移植到另一个或另几个ECU上,软件组件在不同车型上的重用性大大提升。
在AUTOSAR Adaptive项目中,软硬件隔离使得OEM和供应商之间的任务分配有了新的变化。从前一个功能块通常被作为汽车中的一个物理设备来订购,现在完全可以做到只采购软件。为了实现这种方式,每个AUTOSAR
Adaptive应用都是一个独立的二进制文件,应用开发将独立于ECU开发。通过安装应用商店的应用,汽车司机自己也可以成为一个软件集成者。
但假如运行的系统出现了故障,谁该为此负责呢?未经测试的应用组合可以被安装在车辆上,这种情形和传统的ECU集成要求相冲突,AUTOSAR
Classic下每一个配置都需要经过彻底的测试。为了避免测试AUTOSAR Adaptive上所有应用的组合,必须保证应用之间无干扰。操作系统可以保证安全相关的应用不会超过内存上限。为了达到这个目的,操作系统提供硬实时调度方法,为应用定义内存上限和最差情况执行时间。因为没有与硬件的直接交互,中断导致的负载变化变得不再重要。
Adaptive Autosar的出现并不是为了取代Classic Autosar平台,而是针对不同的应用场景实现两者的共存和协作,Classic
Autosar平台支持高安全性和高实时性的应用场景,因此对于深度嵌入式的软件功能需部署运行在经典平台上;而Adaptive
Autosar则支持大数据的并行处理,所以对于高性能运算的功能则需要运行在Adaptive平台上
随着无人驾驶技术的如火如荼,车联网及万物互连、云技术的日益发展,Adaptive Autosar的出现不仅可满足现有需求,还可满足未来汽车技术的革新变化,由于其支持各种自适应的部署、复杂的微控制器以及各种非Auosar系统的互动,未来汽车将拥有不同类型的架构并互相进行补充。
|