摘要:基于快速原型的V流程开发模式,在当今汽车电子产品开发过程中得到了广泛应。本文针对商用车车身控制器的开发应用,提出了基于模型的开发方法与实现,使用控制领域内通用的仿真工具Matlab (Simulink/Stateflow/RTW),通过与嵌人式软件编译器的链接,开发适用于产品软件应用的软件集成开发环境,加快产品开发进度,提升开发效率。
1 研究背景
目前汽车技术发展的主要推动力是汽车电子电气技术,国内整车厂(尤其商用车)都在不断地深化电子电气技术在自主车型上的应用。其中,整车厂除了利用供应商资源进行合作开发之外,同时也在建立自主的开发能力。
车身控制器是整车电子电气架构中重要的控制部件,涉及整车电气系统的功能分配、控制逻辑等等,国内外很多整车厂也将车身控制器作为一个重要部件自行开发。开发模式是供应商提供硬件和基础软件,整车厂进行应用层软件开发,并针对不同车型进行产品系列化。尤其在商用车领域,针对商用车车型多、批量小的特点,为了实现零部件的成本最优,需要针对不同车型,设计应用同一款车身控制器产品能应用到尽可能多的车型。
另外针对当前产品开发的模式,充分借鉴国际上流行的基于模型的开发方法,利用现有的建模仿真工(Matlah/Simulink/Stateflow)直接进行应用软件设计,同时完成仿真测试等,然后利用Matlal)自带的代码生成工具(Embedded Coder)生产C代码,结合车身控制器所选芯片的编译器,生成特定的可执行代码,完成在产品上的应用目前,Matlab工具支持产品级的代码生成,并且已经成为了汽车行业内的标准编程工具。本文也是基于Matlab的使用,开发出针对于商用车的车身控制器应用环境,用于整车厂进行产品软件开发,供给不同的车型使用。
2 系统需求
本文提及的商用车车身控制器是针对一汽商用车应用设计的一款产品,硬件资源需求如表1所示。
表1可以满足当前一汽商用车的全系列车型的资源需求,可以在此基础上进行不同车型应用车身控制器的系列化和平台化。车身控制器部件为24 V系统,用于实现灯光系统(如转向灯、前照灯、雾灯、位置灯和室内灯等)控制、刮水系统控制,各种传感器信号以及开关信号的采集,同时实现底盘CAN、舒适CAN的报文和信号路由,支持标准的UDS诊断,支持CCP标定配置,支持OSEK NM,支持LIN通信功能、BT功能等等。
在硬件设计方案方面,包括主控MCU、信号采集电路、电源管理电路、硬件驱动电路以及CAN, LIN通信电路等。软件由硬件驱动程序、故障诊断协议栈、嵌入式系统软件框架、接口程序以及Matlab/Simulink环境下的一套图形界面构成。通过Matlab/Simulink环境下的图形界面可以配置输入接口模式、输出控制口模式以及系统功能等,在Matlab/Simulink环境下搭建模型,借助RTW Emheded Coder工具将图形界面翻译为(1代码,借助Codewarrior 1DE及其编译器将C代码翻译为机器码,最终通过BT下载机器码,形成最终产品状态。
3 硬件设计
3.1硬件系统设计
车身控制器是整车电子电气架构中非常重要的零部件,主要控制车身上的灯具和电机等负载,同时采集相关的开关以及传感器信号,集中进行信息分析处理,并通过CAN总线进行信息交互。针对商用车车身控制器的结构特点,硬件系统定义如图1所示。
根据输入输出资源的要求、数量及性能的定义,选择原Freescale公司的32 bit芯片MPC5604B作为系统CPU,主要的资源包括:主频:64 MHz; Flash:512 Kbyte;RAM:32 Kbyte;EEPROM:64 Kbyte;CAN:3路;AD(10 bit):36路。