APP下载

基于AUTOSAR的空调控制器软件架构设计

2016-07-05蒋先庆泛亚汽车技术中心有限公司上海201201

汽车电器 2016年6期

江 艳,蒋先庆(泛亚汽车技术中心有限公司,上海 201201)



基于AUTOSAR的空调控制器软件架构设计

江艳,蒋先庆
(泛亚汽车技术中心有限公司,上海201201)

摘要:基于AUTOSAR架构设计空调控制器的软件架构,形成基础软件和应用软件的模块化和平台化,可实现根据不同项目、不同车型、不同功能配置和不同硬件选择相应的软件模块,进行裁剪、移植和集成,从而缩短项目的软件开发周期并降低开发成本。

关键词:AUTOSAR;空调控制器;软件架构

传统汽车电子控制器软件开发周期漫长,已经无法满足现代社会快速增长多样化的功能需求。软件开发周期漫长主要是因为应用软件和底层基础软件之间以及它们各自之间缺乏兼容性接口。当硬件发生变化时,基础软件需要耗费很多时间去调整接口和更改代码;当新需求或新功能增加时,应用软件也需要花费大量的精力调整接口和更改代码;当相同功能在不同ECU之间互换时,有的甚至需要重新开发软件。为了解决这些问题,AUTOSAR(AUTomotive Open System Architecture,汽车开发系统架构)从系统方法论、软件架构、应用功能接口和一致性测试等4个方面对汽车电子软件架构工具链进行全面定义和约束,并提出虚拟功能总线的概念。即模块化,将功能分为很多原子类型的软件构件(Software Component,SWC),所有SWC之间的信息交换都是通过虚拟功能总线完成[1]。当前人们对汽车舒适性的要求越来越高,空调控制器的功能也在不断增加,不同项目不同配置对空调控制器的要求也不同,随着科技的进步,硬件的更新换代更快,为了适应这些变化,有效地缩短软件开发的周期和成本,基于AUTOSAR架构开发一款平台化的空调控制系统软件是非常必要和有价值的。

1 AUTOSAR架构

AUTOSAR是由全球主要汽车生产厂商、零部件供应商、软硬件和电子工业等企业(如BMW、BOSCH、Continental、DAIMLER、Ford、OPEL、PSA、TOYOTA、VW等)共同制定的汽车开放式系统架构标准。其主要目的是建立标准的ECU开放式嵌入式软件架构,并为ECU软件架构中的软件模块定义统一的AUTOSAR标准接口及标准API(Application Programming Interface,应用编程接口)等,以达成提高软件品质、增加软件复用便利性的目标[2]。

AUTOSAR将汽车电子软件架构抽象成3个层:应用层(Application,APP)、运行时环境(Runtime Environment,RTE)和基础软件层(Basic Software,BSW),如图1所示。应用层以实现控制器的功能逻辑为主,是核心开发内容,现如今功能的更改和新增周期很快,这部分是软件开发的重点内容,也需最大的工作量。基础软件层从功能实现上来看大部分控制器使用的功能都是类似的,但实际上又是和硬件强相关,所以当硬件变化时很多开发工作必须重新进行。在当前电子技术日新月异的背景下,硬件的变化又是频率相当高的,该部分也要能够满足快速开发要求。运行时环境就是定义的统一标准接口,衔接应用层和基础软件层,使得应用软件与ECU的映射无关,并将应用层和基础软件层组成一个完整的软件整体。

图1 AUTOSAR标准架构

2 空调控制系统简介

汽车空调系统是为汽车提供取暖、制冷、除霜、空气净化和湿度调节等功能,其主要组成部分见图2。汽车空调系统主要有手动空调(拉索空调)、电动空调(电机控制)和自动空调(单区、双区、三区、四区等)。此处讨论的空调控制器软件架构主要是针对电动空调和自动空调,手动空调不在此范围内。

图2 空调系统组成

在不同的功能应用(如电动、单区自动、双区自动、三区自动、四区自动等)下,传感器的数量(是否有车内传感器,是否有空气质量传感器及管道传感器布置个数等)、核心的控制算法(手动控制还是自动控制)以及输出控制的对象(步进电机还是直流电机、定排压缩机还是变排压缩机等)都会有区别,因此,如何设计一个好的软件架构,能够在不同项目、不同配置车型应用时支持最小的开发工作量和开发成本,是本架构的重点。

图3 应用软件层架构

3 空调控制系统软件架构设计

3.1基础软件架构

本文将基础软件层架构分为4部分:系统服务层、ECU抽象层、微控制器抽象层、复杂驱动层[3]。系统服务层用于提供应用层可用的服务,包括操作系统、存储服务、诊断与通信服务。ECU抽象层主要包括板载驱动抽象、存储硬件抽象、通信硬件抽象和输入输出抽象,使得应用层软件与硬件设计无关。微控制器抽象层主要包括微处理器驱动、存储驱动、通信驱动和输入输出驱动,使得应用层软件与微处理器型号无关。复杂驱动层用于提供复杂传感器和执行器的驱动,使得重要的应用模块可以直接访问硬件资源。

基础软件层利用模块化的设计,可以方便地根据不同的要求对模块进行选择和组合,以构成不同功能和功能相同但性能不同、规格不同的产品。基础软件层重要的是具有可配置性,对整个功能模块要可裁剪,如某个项目上ECC(Electronic Climate Control,空调控制器)不需要EEPROM(Electronically Erasable Programmable Read Only Memory,电子可擦可编程只读存储器)功能时,那么此ECC上就可以不包括这个模块的功能代码;对功能模块内部实现可配置,以适用不同硬件要求,这样ECC在切换不同硬件时,可根据实际硬件配置选择对应的功能内部代码。

3.2应用软件架构

在本架构中将ECC应用软件层划分为传感器模块、逻辑控制模块和执行器模块,见图3,其中LF(Left Front)、RF(Right Front)、LR(Left Rear)、RR (Right Rear)分别代表空调的左前区、右前区、左后区、右后区。传感器模块主要负责ECC所有传感器数据的采集、滤波、数值转换,以及ECC所有用户按键的采集、滤波。逻辑控制器模块主要根据用户设定输入、各个传感器数值、车辆状态、配置设定等,计算出各个执行器最佳的执行状态,以达到车内最舒适的环境和最经济的油耗。执行器主要按照逻辑控制模块计算出的最佳状态,进行输出控制以及相关诊断等。

一个好的软件架构,不仅仅是要满足所有功能的需求,还需要能够很好地实现系统的性能和品质需求。本架构设计,在软件性能上,应用层和基础软件层都可以在平台软件上根据实际项目、实际的硬件条件进行选择性配置,极大地减少了实际的代码量,提升了ECU的性能,在软件品质上具有很高的安全性、可扩展性、可重用性、可移植性、很好的维护性和易理解性。

为了更好地满足用户对舒适性和功能性的要求,空调系统功能需求会不断更新和变化。本软件架构设计各个功能模块划分具有很好的独立性,并且基于传感器单元、逻辑控制单元、执行器单元进行划分控制,对于日后的功能扩展非常便利。如为了改善车内空气品质,新增负离子发生器,即可在原架构基础上,开发负离子功能逻辑控制代码和执行器代码,分别加入对应单元即可,与其他模块的交互直接通过RTE读取和设定即可。

本软件架构是一个平台化的架构软件。仅通过修改配置标定或者根据配置选择需要模块,即可实现不同项目和不同空调配置的软件要求;软件的重用性和利用率非常好,开发人员不需要为每个项目单独费时费力进行处理。如单区空调,只要在平台软件中选择温度控制、风量控制、模式控制大的SWC中单区小SWC代码即可。

为了适应整车设计时,不同项目和车型会存在同一功能点于不同ECU上实现,本软件架构将这类功能需求设计成独立模块,接口的定义精简只存在物理性的输入和输出交互,这样就能很好地在不同ECU之间进行移植和复用。如后除霜功能或者是某个执行器的实现被挪入其他的ECU上,即可将独立的后除霜功能和对应执行器的代码整体挪入其他ECU,内部代码无需更改和开发,直接配置对应的RTE接口和基础软件即可实现。

本架构不仅大模块间按照面向物理对象进行划分,并且各个模块内也根据功能需求点进行构造,每个功能点、每个函数功能独立,不产生交叉影响,这样对代码的理解和后续修改都是非常便利和简单的,大大减少了代码错误率的产生。

4 总结

本文主要基于AUTOSAR开发了空调控制器的软件架构设计,将应用软件和基础软件之间和各自内部都通过通用接口进行通信,并实现模块化,可以根据实际不同的项目、车型配置和硬件选择,在平台化软件基础上,直接裁剪或者挪动模块代码,提高了ECC代码的复用性和移植性,大大减少了代码开发的周期和成本。本文设计的架构目前已在别克新英朗和下一代GL8车型上得到较好的运用。

参考文献:

[1]陈虹.自主汽车电子软件架构技术战略解析与规划[J].汽车技术,2010(6):1-5.

[2]李震,刘敏.基于AUTOSAR的整车电子电气架构设计方法[J].机电一体化,2012(11):73-76.

[3]AUTOSAR官方.AUTOSAR Specification Software Architecture.Release 4.2[OL].[2015-07-15].http://www.autosar.org/specifications/release-42.

(编辑杨景)

Software Architecture Design of Air Conditioning Controller Based on AUTOSAR

JIANG Yan,JIANG Xian-qing
(Pan Asia Technical Automotive Center Co.,Ltd.,Shanghai 201201,China)

Abstract:The software architecture for air conditioning controller is described in this paper,to realize modularization of software,and platform application software.According to different programs,vehicle types,functional configure and hardware,it could cut out and migrate the software modules to reduce the time and cost of software development program based on this architecture.

Key words:AUTOSAR;air conditioning controller;software architecture

中图分类号:U463.851

文献标识码:A

文章编号:1003-8639(2016)06-0060-03

收稿日期:2015-11-20;修回日期:2015-12-08

作者简介:江艳(1986-),女,四川人,硕士,工程师,研究方向为汽车空调电子软件开发;蒋先庆(1986-),男,江苏人,工程师,研究方向为Autosar汽车电子架构模块开发。