什么是AUTOSAR

现在的汽车正向着更高的安全性、经济环保性、舒适性、便捷性发展,从而为汽车电子系统带来了前所未有的复杂性,因为需求越来越多,更多的数据需要在整车电子系统中被处理被传递,据统计,在现代的汽车上平均每台车有25个以上的ECU(电子控制单元),在高端车型中甚至有超过100个ECU,更不用说未来还要迎接车联网的挑战。

汽车行业中的从业人员在很早的时候就预测到了这样的发展趋势,他们在很早的时候就在思考怎么应对复杂的电子系统设计,怎么能够让汽车电子系统开发更灵活,更有效率。在2003年的时候,行业内的几大巨头(包括BMW, Bosch, Continental, DaimlerChrysler, Volkswagen, Siemens VDO)联合建立了AUTOSAR联盟,目的是一起开发并建立一套真正的开放的汽车电子电器架构(也就是我们现在所说的AUTOSAR标准或者AUTOSAR架构,我们经常提到的AUTOSAR一般就是指AUTOSAR构架/标准,AUTOSAR的全称是AUTomotive Open System ARchitecture),随着多年的发展,越来越多的行业内的公司加入到了AUTOSAR联盟中,这其中有OEM(汽车整车厂),Tier1(汽车零部件供应商),芯片制造商以及工具制造商,AUTOSAR构架/标准也成为了汽车E/E设计的发展方向。AUTOSAR架构和标准的目标是:

  • 满足未来汽车的需求,例如可用性和安全性、软件升级更新需求、可维护性等
  • 增加软件的灵活性和可扩展性来实现软件的集成和整合
  • 实现商用现成的跨产品线的软件硬件
  • 控制产品和流程的复杂度和风险
  • 优化成本

1.  AUTOSAR联盟

AUTOSAR联盟的组织结构目前包括Core Parteners(核心成员),Premium Partners(高级成员),Development Partners(开发成员),Associate Partners(一般成员) 。

核心会员包括BMW,Bosch ,Continental,Daimler,Ford,GM,PSA,Volkswagen,Toyota,这些公司主要负责 AUTOSAR 开发模式的筹划、管理和调控。 其中,执行董事负责制定全局策略以及规划整体发展方向 。 筹划指导委员会负责处理非技术性的日常事务、会员的入会事宜、公共关系以及合约问题。

高级合作伙伴和发展合作伙伴在核心会员成立的项目领导组的协调和监督下开展工作。

2. AUTOSAR架构/标准

AUTOSAR架构的主要特点是:

  • 模块化和可配置性:定义了一套汽车ECU软件构架,将不依赖硬件的软件模块和依赖硬件的软件模块分别优雅的封装起来,从而可以让ECU可以集成由不同供应商提供的软件模块,增加了功能的重用性,提高了软件质量。软件可以根据不同的ECU功能需求和资源情况进行灵活配置。
  • 有标准化接口:定义了一系列的标准API来实现软件的分层化。
  • 提出了RTE的概念(Runtime Environment):采用RTE实现了ECU内部和ECU之间的节点通讯,RTE处于功能软件模块和基础软件模块之间,使得软件集成更加容易。
  • 具有标准的测试规范:针对功能和通讯总线制定了标准的测试规范,测是规范涵盖的范围包括对于AUTOSAR的应用兼容性(例如RTE的需求,软件服务行为需求和库等)和总线兼容性(总线处理行为和总线协议等),它的目标是建立标准的测试规范从而减少测试工作量和成本。

AUTOSAR标准有四个核心内容:ECU软件构架,软件组件(software components),虚拟功能总线(Virtual Functional Bus),AUTOSAR设计方法(Methodology)。

2.1. ECU软件构架

AUTOSAR定义的软件构架采用了分层结构,如下图,软件构架围绕RTE展开,RTE提供的是接口,它类似于胶水把RTE上边的部分和下边的部分连接起来,RTE上边是应用程序部分,以软件组件的形式出现,RTE下边的部分叫做基础软件(Basic Software,BSW),基础软件又分为与硬件无关的基础软件(操作系统,服务,通讯,ECU抽象),与硬件有关的基础软件(微控制器提取层MCAL,复杂驱动CDD)。

AUTOSAR_Architecture

AUTOSAR对软件的接口进行了分类:

  • AUTOSAR接口(AUTOSAR Interface),这种接口描述了软件组件获取和提供的数据和服务,接口是按照AUTOSAR接口定义规则(AUTOSAR Interface Definition Language)来定义的,这些接口中一部分已经由AUTOSAR定义出来,另外一部分需要OEM自定义,通过这些接口可以实现软件组件能够在不同的ECU上均可以使用
  • 标准AUTOSAR接口(Standardized AUTOSAR Interface),这种接口完全由AUTOSAR标准规定,包括两种类型:基础软件提供给应用程序的服务的接口,应用程序接口里边AUTOSAR已经定义好的
  • 标准接口(Standardized Interface),特定的标准API,例如两个基础软件模块见交互的接口

2.2. 软件组件(Software Component)

AUTOSAR规定应用层软件的的功能应该以组件的形式出现,在标准里称为SwComponentTypes,组件是AUTOSAR应用软件可以复用的最小模块,应用软件就是不同的软件组件组合起来的结果,组件的最大的特点是把功能和行为封装起来,仅把必要的接口暴露给外边,这些暴露出来的接口称为端口(标准里称为PortPrototypes),端口的实体化在标准里称为PortInterfaces(端口接口),目前里标准支持的接口有4种:

  • 数据接口,也可以称为S/R(sender-receiver)接口
  • 操作接口,也可以称为C/S(client-server )接口
  • 模式接口,软件可以有不同等级的模式
  • 触发接口,通过这种接口可以远程使能某个功能

端口跟外界的交互是有方向的,在应用有3种方式:

  • 从外边获取服务和数据,称为RPortPrototype(Require)
  • 向外边提供服务和数据,称为PPortPrototype(Provide)
  • 既能提供又需要服务和数据,称为PRPortPrototype(Provide and Require)

2.3. 虚拟功能总线(Virtual Functional Bus)

AUTOSAR定义了分层结构以后,软件组件就不依赖与硬件了,这样可以定义一套虚拟的AUTOSAR系统,把软件组件集成进去,在早期进行验证。

2.4. AUTOSAR设计方法(Methodology)

AUTOSAR还规定了AUTOSAR系统的设计开发方法,下图是通过AUTOSAR方法设计一个ECU系统的简单流程图。

其中:

  • 系统配置描述(System Configuration Description),包含了整车系统中所有的信息,不同的ECU都必须满足系统配置描述的要求。
  • 系统配置展开器(System Configuration Extractor),利用这个过程将某一个特定的ECU所需要的系统信息从系统配置描述中抽取出来。
  • ECU展开(ECU extract of System Configuration Extractor),某一个特定ECU所需要的系统信息
  • ECU配置描述(ECU Configuration Description),某一个特定ECU内部的软件配置信息,这些信息跟BSW代码和软件组件代码一起就可以生成ECU的可执行文件

AUTOSAR_Methodology


参考资料:

http://www.autosar.org/about/

https://zh.wikipedia.org/wiki/AUTOSAR

发表评论

电子邮件地址不会被公开。