热度 14
2012-6-7 22:04
1632 次阅读|
0 个评论
AutoSar是Automotive Open Systems Architecture的缩写,译为汽车开发系统架构,定义了一套支持分布式的功能驱动的汽车电子软件开发方法和电子控制单元的软件架构标准化方案,以实现于不同汽车平台的软件开发,提高软件的复用性,从而降低成本和开发周期。 一、AutoSar背景 随着汽车的普及性,人们对汽车的需求量越来越大,要求越来越高,对于汽车的功能设计已不能快速地通过传统的设计方式来实现,通过对汽车功能开发的长期研究与总结,发现汽车很多功能都可以互用,或只需在原来基础上进行某些修改或微调,于是AutoSar孕育而生。它是由汽车OEM和一线供应商建立的汽车软件开发全球合作联盟,于2003年夏成立,并于04年开始工作,其目的就是控制汽车软件开发的复杂性和多样性。其包括9个核心成员:BWM、BOSCH、continental、DAIMLER、Ford、GM、PSA、TOYOTA、VOLKSWAGEN AG。目前国内已有一汽、上汽和恒润科技加入。 AutoSar提倡“在标准上合作,在实现上竞争”,核心思想为“统一标准、分散实现、集中配置”,这对OEM带来很大好处,使得对于软件的采购和控制更灵活。在具体实施的过程中,OEM起主导作用。OEM如何提出需求并将该需求实现在其产品上,于是就制定了AutoSar方法论。 二、AutoSar技术概述 AutoSar的计划目标主要有三项,一是建立独立于硬件的分层的软件架构;二是为实施应用提供方法;三是制定各种车辆应用的接口规范,作为应用软件整合标准,以方便软件架构在不同汽车平台上的复用。 1、AutoSar软件架构 为了实现 AutoSar,即应用程序和基础模块间的分离,汽车电子软件架构被抽象为如下图1所示。 图1、AutoSar软件架构层次图 为区别软件依赖和硬件依赖,基础软件分为4个层次:服务层(services layer)、ECU抽象层(ECU abstraction layer)、微控制器抽象层(mircocontroller abstraction layer)和RTE(Runtime environment)。在这四层外还有复杂驱动(complex driver),这部分涉及到严格的时序没有被标准化,如对某传感器的驱动。 微控制器抽象层:即与实际控制器间的连接,是物理基础,用于映射控制器的功能和外围接口,定义了内存接口、IO接口和通讯接口。 ECU抽象层:将ECU结构(如外设与ECU的连接方式等)进行了抽象处理。与ECU平台相关,但与微控制器无关。在ECU硬件的基础上,为ECU提供外围设备驱动的程序。 服务层:提供包括诊断协议、存储管理、ECU模式管理和操作系统等在内的系统服务,除操作系统外,其他服务层软件模块都与平台无关。 RTE层:实现了应用程序与基础软件间的分离,负责应用程序与基础软件间的数据交换。RTE以下为底层软件。RTE以上为应用层软件。 2、AutoSar操作方法 为符合该标准的汽车电子软件开发,定义了一套通用的技术方法,即AutoSar方法。该汽车电子软件系统设计与开发流程如图2所示。 图2、AutoSar系统设计与开发流程 开发过程可划分为两个阶段: 第一阶段是系统配置阶段,属于系统级设计决策工作,即编写系统配置输入文件和系统配置描述文件。系统配置输入文件包括软件构件描述输入、ECU资源描述输入、系统约束描述输入。软件构件描述输入定义了每个软件构件的接口,如形参的数据类型等。ECU资源描述定义了每个ECU的资源需求,如处理器、外设等硬件资源。系统约束描述定义了总线信号、拓扑结构和软件构件的映射关系。 系统配置描述文件是在系统配置输入文件基础上建立的,是这一阶段的最终成果。包含所有的系统信息、软件构件与ECU的映射关系和通讯矩阵。 第二阶段是ECU的配置,这一阶段是第一阶段的延续,对每个ECU分别进行细化。首先从系统配置描述文件中提取出与各个ECU相关的系统配置描述信息,包含ECU通讯矩阵、拓扑结构等放在另外一个XML中。然后进入ECU配置的实际工作,负责给输入对象中添加具体应用所必需的信息,如任务调度、给任务分配可运行的实体等。最后生成具体ECU的可执行程序,根据ECU配置描述文件中的配置信息构建完成ECU的基础软件设置和应用软件的集成,并生成ECU可执行的代码。 在这个设计过程中,使用了虚拟功能总线的概念,即将AutoSar软件构件间的通信、软件构件与基础软件间的通信进行了抽象,同时使用了预先定义的标准接口。对于虚拟功能总线来说,ECU内部通信和外部总线通信并没有区别。 三、实施 软件构件描述文件的生成,需要获取每个软件构件关于接口、行为、硬件接口、运行性能需求等方面的信息。软件构件描述文件本身将包含如下内容: (1)、一般特性:如名称、生产商等 (2)、通信属性:端口、接口 (3)、内部结构:子构件、连接关系 (4)、需要的硬件资源:处理时间、调度、内存等 ECU描述文件包含如下内容: (1)、一般特性:如名称、生产商等 (2)、温度(自身、环境) (3)、可用信号处理方法 (4)、可用编程能力 (5)、可用硬件:微控制器、内存、接口外设等 (6)、RTE之下针对控制器的基础软件模块 (7)、从引脚到ECU抽象层的信号 系统约束描述文件包含如下内容: (1)、网络拓扑:总线、连接的ECU,网关 (2)、通信:通信矩阵、网关表 (3)、软件构件的映射 以上描述的系统配置输入完成后,使用系统配置工具导出系统配置文件,决定哪个软件构件运行在哪个ECU上,生成ECU配置描述和系统内的通信矩阵。 接下来就是ECU配置。将每个ECU配置信息从系统配置文件中提取出来,包含ECU通信矩阵、拓扑结构、顶级功能组合。将软件构件和基础软件的代码集成生成可执行的代码。 值得注意的是在这整个过程中,需要进行多次的重复修改,以保证实现功能并且是最优的方式。