电动汽车高性能整车控制器设计
2018-06-12周相青韩军良宋会冯长虹袁书豪
周相青 韩军良,2 宋会 冯长虹 袁书豪
1. 河南省西峡汽车水泵股份有限公司 河南省南阳市 474550 2. 南阳理工学院机械与汽车工程学院 河南省南阳市 473000;3. 美的集团中央空调事业部 广东省佛山市 528000
1 引言
整车控制器(VCU)是电动汽车的核心控制单元,负责与电机控制和驱动系统、电池管理系统、车载充电机、DC/DC转换系统、能量回收系统、车载空调系统、仪表显示装置等之间的协调控制和综合管理,实现整车驱动控制、能量优化管理、车内环境温度控制、整车网络化管理、整车状态监测及故障诊断和处理等功能[1]。整车控制器需要具有很强的运算能力,来保证系统运行的实时性;要具有丰富的外围端口,能够采集档位、加速踏板、制动踏板、温度、母线电压、母线电流等各种信号,能够控制主继电器、空调继电器等;要具备CAN通讯接口,能够与电机控制和驱动系统、电池管理系统、仪表显示系统等进行通信[2]。本文针对电动汽车高性能整车控制器的硬件设计、基于AUTOSAR软件架构的底层驱动软件设计、基于模型的应用层软件设计等方面展开研究。
2 整车控制器硬件架构设计
高性能整车控制器硬件架构采用模块化、隔离化的设计思想,包括电源模块、微控制器(MCU)最小系统、模拟信号输入调理模块、开关量信号输入调理模块、开关量信号输出驱动模块、CAN通讯模块,其硬件架构如图1所示。电源模块将DC-DC电源输出的电压转化为+5V、+3.3V和+1.2V电压。模拟信号输入调理模块用于采集油门踏板、制动踏板、方向盘转角等模拟信号。开关量信号输入调理模块用于采集充电开关、钥匙开关、档位开关、模式开关等开关量信息。开关量信号输出驱动模块用于驱动主电源继电器、充电机继电器和空调继电器等。CAN 通讯模块用于整车控制器和充电机、电机控制器、电池管理系统、能量管理系统等之间的数据通信。
微控制器是整车控制器的核心,它负责所有系统数据的采集、处理、逻辑运算以及控制指令的输人输出。高性能整车控制器的核心MCU采用TI公司的高性能32位Hercules TMS570LS3137 安全微控制器。TMS570LS3137是一款用于安全系统的高性能汽车级微控制器,集成了ARM Cortex-R4F浮点型CPU,具有高达180MHz的系统时钟,支持单精度和双精度浮点运算,内部集成了3MB闪存以及256KB的RAM。TMS570LS3137具有很强的运算能力与数据存储能力,能够保证系统运行的实时性。
3 整车控制器软件架构设计
本文依照AUTOSAR设计规范来设计整车控制器软件架构。AUTOSAR是由全球主要汽车生产商、汽车零部件供应商、汽车电子软件系统公司、电子器件供应商联合建立的一套开放的、标准化的软件架构。AUTOSAR架构通过引入模块化的软件开发方法,规范不同结构的电子控制单元的接口特征标椎化,使得应用软件具备更强的可扩展性以及可移植性,大大简化了软件开发流程,提升了软件兼容性,从而能够灵活应对日益复杂的汽车电子软件开发需求,提升了汽车电子软件的开发效率[3]。
图1 整车控制器硬件架构设计
为了实现应用程序和硬件模块之间的分离,AUTOSAR架构被抽象成四层,由上至下依次是:应用层、实时运行环境层(RTE)、基础软件层和微控制器层[4],其架构如图2所示。
3.1 应用层
应用层即软件组件层,是整个系统开发的核心,它把汽车电子领域内的一些典型的应用划分为若干个由一个或多个软件组件组成的模块,应用层的软件组件是通过实时运行环境层进行内部通信及对VCU资源的访问,从而可使软件设计能够独立于底层硬件部分。
3.2 实时运行环境(RTE)
AUTOSAR架构中各个组件之间无法直接进行数据交换,实时运行环境层为应用层组件、基础软件层各组件之间提供通信服务。
3.3 基拙软件层
基础软件层又分为系统服务层、VCU抽象层、复杂驱动层、微控制器抽象层。系统服务层为应用软件和基础软件模块提供基础服务,VCU抽象层将系统中VCU结构抽象出来。复杂驱动层主要任务是整合具有特殊目的且不能用微控制器抽象层进行配置的非标准功能模块。微控制器抽象层位于基础软件层的最底层,包含内部驱动,可以直接访问微控制器和片内外设。
在本文设计中,高性能整车控制器的软件架构设计遵循V模型开发模式[5],应用为上层的控制策略,基础软件层为底层的硬件驱动,实时运行环境层为两者提供通讯服务。以AUTOSAR架构的层次模式为基础,提出了一种环形层次软件架构,如图3所示。图中同心圆代表软件系统,周边方形模块是硬件资源,从内至外,三层环形层次依次为核心层、调度层和驱动层。核心层是整车控制器软件系统的最顶层,处于架构最核心的位置。调度层处在软件系统的中层,既衔接驱动层,又支撑核心层。驱动层位于软件系统的最外层,实现微控制器的初始化和与板载硬件资源的交互。根据上述设计思想,整车控制器主程序流程图设计如图4所示。
图2 AUTOSAR架构图
图3 整车控制器软件架构设计图
本文采用基于模型的代码自动生成技术来实现上层控制代码的自动生成。首先在Matlab/ Simulink中建立控制算法的模型,然后利用Simulink的Real Time Workshop Embedded Coder工具完成自动代码生成[6]。在完成模型在环测试、软件在环测试等测试工作,保证自动生成代码的质量后,把自动生成的代码与基于整车控制器的底层驱动代码集成到TMS570LS3137的开发环境CCS(Code Composer Studio)工程中,从而完成整车控制器软件的集成。
4 结语
本文以高性能整车控制器为研究目标,进行了硬件架构设计和基于AUTOSAR规范的软件架构设计。采用具有很强运算能力与数据存储能力的安全微控制器,保证了系统运行的实时性。通过MATLAB软件利对上层控制代码进行了自动生成,然后将自动生成的代码与底层代码集成。采用代码自动生成技术减少了软件开发过程中程序编写花费的时间,减轻了应用层软件的开发工作量,简化了软件开发流程,提升了软件兼容性,提高了汽车电子软件的开发效率。
图4 整车控制器主程序流程图