AUTOSAR产生背景
车辆功能的创新导致车辆E/E架构日益复杂。与此同时,开发要求通常自相矛盾:例如要求驾驶域辅助系统支持关键性驾驶操控,提高燃油经济性同时符合环境标准。信息娱乐和通信系统与实时车辆环境和在线服务的不断深入整合带来了更多挑战。
为持续满足如上需求,需要一种新的ECU软件架构,否则无法满足不断增加的客户要求和日益严苛的法律法规。
2003年,汽车整车厂和供应商创建AUTOSAR联盟。联盟的目标是阻止不断重复开发相似或相同的应用软件组件,为实现基本功能的协作奠定基础,同时为创新性新功能的竞争开发留出空间。联盟定义的AUTOSAR标准构成了未来车辆应用程序的基础,有助于弥合各领域之间的界限。在ECU网络中灵活地分布软件可以为系统范围的优化创造更多可能。
AUTOSAR联盟
AUTOSAR联盟网站:http://www.autosar.org/
AUTOSAR联盟是由汽车整车厂、供应商以及软件、半导体和电子行业的公司组成的全球发展合作组织。
在标准中合作,实现上竞争的口号下,各成员以工作组为单位,享有并承担着不同的权利和义务。核心合作伙伴决定哪些团体可加入AUTOSAR联盟,高级成员则负责制定标准。
AUTOSAR的目标如下:
- 标准化应用程序软件功能之间的接口和基本功能的接口
- 定义ECU软件参考架构
- 将分布式开发过程的数据交换格式标准化
实现这些目标后,参与的公司希望获得以下好处:
- 通过功能的灵活集成、重新分配和交换来优化ECU网络
- 掌控日益提升的产品和流程的复杂程度
- 维护整个产品生命周期
AUTOSAR 3.0版本是第一个用于ECU量产的版本。
当然,AUTOSAR标准有其局限性。例如,AUTOSAR无法描述应用软件组件的功能行为。
AUTOSAR概念
SWC(Software Components,应用软件组件)与BSW(Basic Software,基础软件)之间的明确接口是AUTOSAR架构的组成之一。BSW模块提供基本的标准服务,例如总线通信、存储管理、IO访问、系统和诊断服务。
RTE(Runtime Environment,实时运行环境)同样是AUTOSAR架构的组成之一,负责控制SWC之间的连接以及从SWC到BSW的连接。
VFB(Virtual Functional Bus,虚拟功能总线)是AUTOSAR中的概念基础,用于SWC之间的通信以及BSW服务的使用。由于SWC通信全部基于VFB,因此SWC独立于ECU硬件。从而可实现在不同项目和平台之间重用SWC。通过为每个ECU配置RTE以及相应的BSW,从而在实际车辆中实现VFB。
AUTOSAR分层模型
AUTOSAR对ECU软件进行抽象,并划分为基础软件、实时运行环境和应用软件层。
基础软件包含许多定义好的模块,并划分为不同的层。例如,MCAL(Microcontroller Abstraction Layer,微控制器抽象层)提供用于访问微控制器的存储器、通信和输入/输出(IO)的驱动程序。
ECUAL(ECU Abstraction Layer,ECU抽象层)为访问ECU的所有功能提供统一接口,例如通信、存储或IO,不管这些功能是属于微控制器还是由外围组件实现。
服务层为应用软件层提供不同类型的后台服务,例如网络服务、存储管理和总线通信服务。该层也包含操作系统(operating system)。
RTE将应用软件层从基础软件中抽象出来,控制应用软件层的运行时行为并实现数据交换。在应用软件层中,ECU的应用程序功能以单个应用软件组件的形式实现。
分层模型简化了从软件到各种硬件的移植(porting)。以前,如果软件架构设计不佳,移植需要在各个方面(直至应用软件层)进行大范围修改。基于AUTOSAR,只需替换MCAL中所有微控制器相关的驱动程序即可,重新配置ECU抽象层中的模块,其他所有层均不受移植影响。这大大减少了开发和测试工作以及相关的风险。
AUTOSAR层级模型
SWC Mapping
BSW Stack
AUTOSAR Layer Model
AUTOSAR定义三种类型的接口
- AUTOSAR接口
- 标准AUTOSAR接口
- 标准接口
AUTOSAR接口是通用接口,源自任意SWC的端口。AUTOSAR接口由RTE提供,用于SWC之间或SWC与ECU固件(IoHwAb、复杂设备驱动)之间的接口。例如,SWC可以通过这些接口读取输入值并写入输出值。
标准AUTOSAR接口是由AUTOSAR标准预定义的特殊AUTOSAR接口。SWC使用这些类型的接口访问由服务层