基于MATLABSimulink的纯电动汽车整车控制系统开发方法研究
2016-04-22刘新磊程增木
刘新磊,程增木
(山东交通学院,山东济南,250300)
基于MATLABSimulink的纯电动汽车整车控制系统开发方法研究
刘新磊,程增木
(山东交通学院,山东济南,250300)
摘要:介绍了一种基于MATLABSimulink环境下的纯电动汽车整车控制系统的软硬件设计方法。概述了基于Simulink开发平台下建立纯电动汽车控制模型及整车硬件控制系统,并利用Real Time Workshop Embedded Coder对飞思卡尔HCS12X系列单片机快速开发的方法,进行了实验。结果表明:使用MATLAB会加快纯电动汽车整车控制器的开发速度。本方法对纯电动汽车的整车控制系统开发和设计具有参考意义。
关键词:纯电动汽车;整车控制;MATLAB/Simulink;飞思卡尔;单片机
引言
在电动汽车行业发展的过程中,传统的汽车嵌入式开发的过程需要整车开发人员不仅需要懂嵌入式软件开发的应用层,还需要懂得芯片相关底层的开发,这无疑增加了开发人员的负担,整车控制器开发的周期会加长[1]。MATLAB是美国MathWorks公司出品的商业数学软件,其Simulink模块广泛应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。对于开发纯电动汽车整车控制器,开发人员可以在Simulink环境下建立控制模型并进行仿真,当仿真结果符合开发人员要求时,使用Embedded Coder技术可以直接生成在产品级代码。该工具可以在可视化动态交互平台上直接应用。因此,使用Simulink的Real Time Workshop Embedded Coder工具可大大缩短开发周期,加快开发进程。
1 控制器原理
纯电动汽车整车控制器是纯电动汽车的核心组成成分,它决定着纯电动汽车在行驶过程中的一系列策略,是纯电动汽车的大脑[1]。其主要功能[1]如下:
(1)应答与处理:接收驾驶员的指令,对指令进行处理,向其他控制器发出控制指令,协调处理各个控制模块的反馈信息。
(2)能源管理:在纯电动汽车中,实时反馈蓄电池的工作状态。保证汽车的正常行驶并同时反馈电量信息给驾驶员。
(3)机构驱动:纯电动汽车整车控制器控制驱动电机、电子助力转向等行驶机构,对其模拟状态量进行连续采集并经A/D转换为数字信号,供其他模块处理与使用。
(4)状态判断:对纯电动汽车出现的故障进行判断与存储,动态地采集与检测状态信息,并进行记录。
(5)自动保护:对纯电动汽车出现的故障进行分级,根据故障程度进行分级保护与自动处理,保证电动汽车的安全性。
2 基于Simulink的嵌入式系统开发的一般过程
Simulink模块支持多种嵌入式单片机,其操作简便,具有极好的移植性。在Simulink工作环境下,嵌入式系统开发[2,9]的流程如图1所示。
2.1需求分析阶段
本阶段主要需要相关工程人员根据技术要求文档建立相应的精准的Simulink数学模型[3]。开发人员可以依据动态数学模型进行参数的修订、对动态系统进行初步的评估。本阶段主要是为了确定系统算法的可行性,保证系统可以运行在在设计要求之内。
图1 开发流程
2.2解析模型阶段
2.2.1模型的构析
需求分析结束后,Simulink在构析阶段掌握了整个程序模型的结构、各个模块间的先后执行顺序、各个模块的参数配置和采样时间等重要信息,技术人员需要对构析的数据库进行分析。
2.2.2TCL文件
TCL[4]语言类似于c/c++的脚本语言,用RTW代码生成体系支持不同的MCU,不同的MCU又有自己的相应的TCL文件。开发人员可以使用RTW自带的模板,也可以自己创建自定义模块,TCL文件可以自动优化代码。专用算法和设备驱动程序同样也可合并到模型代码中。使用S-Function Builder模块可以自动生成用于用户自定义代码的TCL文件。
2.3代码生成及编译连接
在完成相关TCL文件的配置之后,MATLAB/Simulink即可自动生成高级语言的代码,同时会结合生成的MakeFile[4]文件(.mk)来控制编译链接过程。运用于目标硬件相对应的编译工具和链接工具即可在目标平台上运行代码。如果在程序模型中配置了用户自定义的源代码和用户自定义的库函数文件,在编译链接阶段这些源代码和库都将被编译并且链接。在编译过程中,Embedded Target产品会调用内部已有MCU库,自动独立生成与目标MCU相关的底层函数。
3 纯电动汽车整车控制器
3.1控制器的选择
MATLAB(2009b)版本支持Freescale HCS12X系列处理器,HCS12X[5]系列单片机是Freescale公司于2005年推出的HCS12系列增强型产品,基于S12 CPU内核的16位单片机,128KB程序Flash(P-lash)、8KB RAM、8KB数据Flash(D-lash),可以达到25MHz的HCS12的2-5倍性能。总线频率最高可达40 MHz。HCS12X系列单片机可以工作从-40℃到125℃,完全可以满足汽车的需求。此外,MATLABSimulink对HCS12X系列单片机有很好的驱动与底层支持,因此使用MATLAB Simulink可以很好的对HCS12X单片机进行开发。
3.2整车控制系统的抽象模型
HCS12X单片机主要功能模块[5-6]包括:多个内部存储器,内部PLL锁相环回路,2个异步串口通讯SCI,1个串行外设接口SPI,双通道MSCAN2.0模块,1个8通道输入/输出比较定时器模块TIM,周期中断定时器模块PIT,16通道A/D转换模块ADC,1个8通道脉冲宽度调制模块PWM,多个输入/输出数字I/O口。
根据HCS12X系列单片机的这些特性,可以建立如图2所示的纯电动汽车整车控制模型[7]。
3.3整车控制系统的控制概述
在如图2所示的控制模型中,纯电动汽车由DC12/24 V电压进行供电,由输入电源模块将DC12/24V电压经稳压、滤波转换为DC12V、DC7.2V、DC5V、DC3.3V等多种电压,为单片机和其他电器结构、驱动模块、传感器模块供电。纯电动汽车在行驶过程中,由多种传感器将模拟信号采集回来,经AD转换后反馈给HCS12X单片机,单片机根据相关数据进行处理并输出,实现对汽车电机、汽车助力装置[8]等模块的控制。整车控制中,多机通讯[10]采用以CAN总线为主,LIN总线为辅的通信策略,保证数据的稳定性和可靠性。对于输入与输出电子电力问题,由HCS12X系列单片机控制电池管理系统,对电池进行合理管理可以保证电能的有效利用和电池的有效维护,保障纯电动汽车的安全行驶。
图2 整车控制系统的抽象模型
3.4纯电动汽车前车灯控制系统的开发实例
在MATLABSimulink环境下搭建如图所示的车灯控制系统[11],如图3所示。
图3 纯电动汽车前车灯控制系统
图3中In1、In2、In3、In4分别表示左转向灯、右转向灯、前近光大灯、前远光大灯。Control logic为控制逻辑模块,负责控制内部逻辑;sensor correction and Fault Redundancy1和sensor correction and Fault Redundancy2为传感器校正和故障冗余模块,负责传感器的故障的检查;Fuel Calculation为能源消耗计算模块,负责对消耗的电能进行计算;XCP CANTransport Layer为CAN总线接收器,负责接收总线信号;Out为输出模块。对控制模型进行仿真,仿真无误之后对模型进行构析,解析车灯在仿真时间内电能消耗等一系列参数。随后进行TCL文件的配置与代码的自动生成,点击Generate Code即可生成本模型的代码,并可直接移植至HCS12X系列单片机上使用。部分核心代码块如图4所示。
图4 本模型生成的部分核心代码块
代码生成之后,利用Simulink中的scope观察输入与输出模块,汽车转向灯输入逻辑电平和输出的逻辑电平分别如图5、图6所示。
对图5、图6分析可以得知:输入频率一定时,输出模块可以很好地响应输入信号,MATLAB可以自动优化代码进行软件滤波,电平出现周期性跳变,产生相应频率的输出信号,证明由MATLAB生成的整车控制代码可以稳定地运行。
图5 汽车转向灯输入逻辑电平
图6 汽车转向灯输出逻辑电平
4 结束语
本文介绍的这种基于MATLABSimulink的整车控制器开发方法可以有效的应用于汽车电子控制的开发上,让开发人员摆脱不熟悉底层和硬件层开发的困境,加快开发人员的开发速度。同时,本文介绍的开发方法可以动态地将模型控制、数据仿真、算法控制、底层驱动完美的结合在一起,在今后汽车电子的开发过程中可以大大减小开发周期和开发成本。
参考文献
[1]张翔.纯电动汽车整车控制器进展[J].汽车电器,2011,(2):1.
[2]孙忠潇.Simulink仿真及代码生成技术从入门到精通[M].北京:北京航空航天大学出版社,2014:350-356.
[3]汤迎红.MATALB基础知识及工程应用[M].北京:国防工业出版社,2014:228-232.
[4]张戟,孙泽昌.基于PowerPC的32位微控制器原理[M].北京:电子工业出版社,2010:105-110.
[5]Freescale Semiconductor.MC9S12X Reference Datasheet.Freescale Reference,2007.
[6]魏学哲,戴海峰.汽车嵌入式系统原理、设计与实现[M].北京:电子工业出版社,2010:36-40.
[7]王贵明,王金懿.电动汽车及其性能优化[M].北京:机械工业出版社,2010:15-19.118-131.
[8]余志生.汽车理论[M].北京:机械工业出版社,2015:192-193.
[9]张祥,杨志刚,张彦生.MATLAB/Simulink模型到C/C ++代码的自动实现[J].重庆工学院学报,2006,(20);112.
[10]王佳,蔡志标,杨建中.基于CAN总线纯电动汽车整车控制器设计[M].北京:北京理工大学出版社,2007:59-81.
[11]王慧君.汽车电气设备[M].北京:人民交通出版社,2014:120-132.
刘新磊(1981-),讲师,工学博士。研究方向:新能源汽车与电驱动技术。
程增木(1996-),工学学士,研究方向:汽车MCU开发与汽车电机控制。
A Development of Pure Electric Vehicle Controller Based On MATLABSimulink
XinLei Liu,ZengMu Cheng
(ShanDong JiaoTong University,ShanDong,JiNan,250300,China)
Abstract:In this paper,a software and hardware design method of Pure Electric Vehicle Controller was introduced based on MATLABSimulink.A way of creating Pure Electric Vehicle Controller model and system of Vehicle hardware Controller was statemented.Meanwhile,using Real Time Workshop Embedded Code can quickly develop Freescale HCS12X family of microcontrollers.Finally,the outcome shows using MATLAB can accelerate the development of pure electric vehicle controller.This method of pure electric vehicle control system development and design has a reference value.
Key words:Pure Electric Vehicle;Vehicle Controller;MATLAB/Simulink;Freescale;Microcontroller
作者简介:
DOI:工业技术创新 URL:http//www.china-iti.com10.14103/j.issn.2095-8412.2016.01.001
中图分类号:U469.72
文献标识码:A
文章编号:2095-8412(2016)01-644-05