一、AUTOSAR和OSEK概述
AUTOSAR与OSEK二者都是汽车电子软件的标准。
OSEK基于ECU开发,AUTOSAR基于整体汽车电子开发。
1、AUTOSAR
AUTOSAR一般就是指AUTOSAR构架/标准,AUTOSAR的全称是AUTomotive Open System ARchitecture),随着多年的发展,越来越多的行业内的公司加入到了AUTOSAR联盟中,这其中有OEM(汽车整车厂),Tier1(汽车零部件供应商),芯片制造商以及工具制造商,AUTOSAR构架/标准也成为了汽车E/E设计的发展方向。
2、OSEK
OSEK,是指德国的汽车电子类开放系统和对应接口标准(open systems and the corresponding interfaces for automotive electronics),
而VDX则是汽车分布式执行标准(vehicle distributed executive),后者最初是由法国独自发起的,后来加入了OSEK团体。两者的名字都反映出OSEK/VDX的目的是为汽车电子制定标准化接口。该标准完全独立,
对目标系统只限制了少量的条件。这样,就可以应用一些简单的处理器替代那些昂贵的解决方案,来控制任务执行,并不需要任何附加条件。事实上,在此基础上,也可以合理使用一些更复杂的CPU,于是该标准便对任何可能的目标平台都没有了限制。
标准定义了三个组件来构成OSEK/VDX标准:实时的操作系统(OSEK OS),通讯子系统(OSEK-COM)和网络管理系统(OSEK-NM)。这样定义的一个好处是方便了各个组件版本的定义,这已在实际应用中得到了体现。
在1995年召开的研讨会上众多的厂商对OSEK和VDX的认识达成了共识,产生了OSEK/VDX规范(1997年发布),简称OSEK规范。
它主要由四部分组成:操作系统规范(OSEK Operating System,OSEK OS)、通信规范(OSEK Communication , OSEK COM )、网络管理规范( OSEK Net Management, OSEK NM)和OSEK实现语言(OSEK Implementation Language,OIL)。
AUTOSAR中规定的操作系统就是OSEK,而通信和网络管理虽然和OSEK有区别,但思路一样的。
所以认为,AUTOSAR是基于OSEK提出的(但不仅基于OSEK),OSEK被AUTOSAR标准软件架构包含。
二、AUTOSAR架构的主要特点:
1、模块化和可配置性
定义了一套汽车ECU软件构架,将不依赖硬件的软件模块和依赖硬件的软件模块分别优雅的封装起来,从而可以让ECU可以集成由不同供应商提供的软件模块,增加了功能的重用性,提高了软件质量。软件可以根据不同的ECU功能需求和资源情况进行灵活配置。
2、标准化接口
定义了一系列的标准API来实现软件的分层化。
3、提出了RTE的概念
RTE全称是Runtime Environment,采用RTE实现了ECU内部和ECU之间的节点通讯,RTE处于功能软件模块和基础软件模块之间,使得软件集成更加容易。
4、具有标准的测试规范
针对功能和通讯总线制定了标准的测试规范,测是规范涵盖的范围包括对于AUTOSAR的应用兼容性(例如RTE的需求,软件服务行为需求和库等)和总线兼容性(总线处理行为和总线协议等),它的目标是建立标准的测试规范从而减少测试工作量和成本。
AUTOSAR标准有四个核心内容:ECU软件构架,软件组件(software components),虚拟功能总线(Virtual Functional Bus),AUTOSAR设计方法(Methodology)。
三、OSEK的特点:
OSEK规范为实现其制定的初衷并满足汽车控制领域对系统安全性和节省有限资源的特殊要求,制定了系统而全面的操作系统规范。
1、实时性
由于越来越多的微处理器被应用到汽车控制领域,如汽车刹车的防抱死系统、动力设备的安全控制等这些系统直接关系着人的生命安全,即使出现丝毫的差错也会导致危及生命安全的严重后果,因此要求操作系统具有严格的实时性。OSEK操作系统通过静态的系统配置、占先式调度策略、提供警报机制和优化系统运行机制以提高中断响应速度等手段来满足用户的实时需求。
2、可移植性
OSEK规范详细规定了操作系统运行的各种机制,并在这些机制基础上制定了标准的应用程序编程接口,使那些独立编写的代码能够很容易地整合起来,增强了应用程序的可移植性。OSEK还制定了标准的OIL,用户只需更改OIL配置文件中与硬件相关部分,便可实现不同微处理器之间的应用程序移植。通过这些手段,减少了用于维护应用程序软件和提高它的可移植性的花费,降低了应用程序的开发成本
3、可扩展性
为了适用于广泛的目标处理器,支持运行在广泛硬件基础上的实时程序,OSEK操作系统具备高度模块化和可灵活配置的特性。它定义了不同的符合级别( Conformance Classes),并采用对不同应用程序有可靠接收能力的体系结构,从而增强了系统的可扩展性。OSEK操作系统可以在很少的硬件资源(RAM,ROM,CPC时间)环境下运行,即便在8位微处理器上也是如此。
四、AUTOSAR介绍
AUTOSAR是Automotive Open System Architecture(汽车开放系统架构)的首字母缩写,AUTOSAR为汽车开放系统架构,从最底层开始包括ECU硬件、基础软件模块、服务系统模块、操作系统、复杂驱动、ECU抽象层、AUTOSAR运行时环境、应用层软件。
微控制器抽象层:它是基础软件中最低一层,主要包含驱动,大部分是一些软件模块。
ECU抽象层:这一层是与微控制器抽象层进行对接外部驱动设备访问提供API(应用程序编程接口)。
AUTOSAR基础软件最高层与应用软件关系密切,在IO信号访问ECU抽象层中时提供操作系统、存储管理、诊断服务、ECU状态管理。
Runtime Environment 运行时环境是AUTOSAR虚拟功能总线的接口(Virtual Function Bus)简称VFB。
RTE包含系统服务、实时操作系统、错误管理器、库功能。Operating System 操作系统,AUTOSAR.OS包含中断处理、调度处理、系统时间和始终同步、本地消息处理、错误检验机制、看门狗监控技术(主要监控与计时约束有关的应用执行)可以提高可靠性。
这里说的AUTOSAR随着汽车智能化和网联化发展,被称为Classic AutoSAR。
Classic AutoSAR是基于强实时性的嵌入式OS上开发出来的软件架构,能满足传统汽车定制化的功能需求,且能很好胜任;但是一旦要汽车接入网络,网络很可能有延迟、干扰,很可能无法满足强实时性。
这种情况下Classic AutoSAR就无能为力了,所以就需要一套能够满足非实时性的架构系统软件,在这样的背景下,Adaptive AUTOSAR就诞生了。但是由于Adaptive AUTOSAR安全级别基本还停留在ASIL-B(最高是D),所以很多需要强安全级别的ECU当下还是需要Classic AutoSAR(能满足ASIL-D)来实现。
基于Classic AutoSAR平台开发的汽车控制器,具有如下特点:
1、硬实时,可在us时间内完成事件的实时处理,硬实时任务必须满足最后期限的限制,以保证系统的可靠运行。
2、高功能安全等级,其可达到ASIL-D的安全等级。
3、对CPU、RAM或Flash等资源具有较低的占用率。
4、软件功能通常是固化不可动态变更的。
Apdative Autosar作为异构软件平台的软件架构,主要用于域控制器,可以成为连接Classic AutoSAR和Linux这样的非实时OS的桥梁,其具有如下特点:
1、软实时,具有毫秒级内的最后期限,且偶尔错过最后期限也不会造成灾难性后果。
2、具有一定的功能安全要求,可达到ASIL-B或更高。
3、与经典平台不同的是,它更适用于多核动态操作系统的高资源环境,如QNX。
Adaptive Autosar与Classic Autosar相比,虽实时性要求有所降低,但在保证一定功能安全等级的基础上,大大提高了对高性能处理能力的支持,以支持智能互联应用功能的开发,因此C++将成为Adaptive Autosar平台的主要开发语言。
Adaptive Autosar的出现是为了在Classic Autosar平台基础上,针对不同的应用场景实现两者的共存和协作,Classic Autosar平台支持高安全性和高实时性的应用场景,因此对于深度嵌入式的软件功能需部署运行在经典平台上;而Adaptive Autosar则支持大数据的并行处理,所以对于高性能运算的功能则需要运行在Adaptive平台上。随着无人驾驶技术的如火如荼,车联网及万物互连、云技术的日益发展,Adaptive Autosar的出现不仅可满足现有需求,还可满足未来汽车技术的革新变化,由于其支持各种自适应的部署、复杂的微控制器以及各种非Auosar系统的互动,未来汽车将拥有不同类型的架构并互相进行补充。