5.4总线通信模块封装
关于CAN总线,MPC5604B共有3个模块:CAN接收模块主要接收数据进行处理,CAN发送模块主要完成CAN的发送功能,以及CAN配置模块。
双击打开GUI界面上的CAN配置模块,选择需要使能的CAN通道,其它参数需要进行配置,如图17所示。
用户自定义接收模块的用法为:把CAN Receive Fun模块拖到目标模型中,使其触发一个Function-Call Subsystem模块,配置接收的信息,接收信息需要和CAN BUS协议中配置的自定义接收信息一致,如图18所示。
5.5 MCU基本模块封装
MCU模块主要完成对芯片工作的晶振和系统工作频率进行配置,如图19所示。
除此之外,还需要完成SPI、SCI、定时器、看门狗的应用封装。这些底层驱动程序都是在MCU上进行验证过的代码,确认工作可靠,然后完成在Matlab下面的Simulink模块封装。
6 产品模型验证
针对车身控制器的产品开发,除硬件和软件开发环境设计外,还需要通过实际样件的试制、调试和软件测试,实现以下功能:①通过Simnulink进行控制逻辑模型的开发;②在Matlab环境中的RTW工具直接进行C代码生成;③通过CodeWarrior完成针对C代码的编译形成机器码;④通过车身控制器内部的Bootlaoder程序,利用CANape软件实现软件下载。
通过在试验室环境台架的测试验证,整个开发环境实现了预期的功能目标,整个开发过程工作可靠,可以用于产品软件的开发。
通过本文可以快速实现不同车型车身控制器的功能定义、算法仿真以及产品实现,整个过程统一集成在快速原型开发环境内,为用户提供了一个高效的产品平台,为一汽商用车车身控制器的平台化、系列化打下了很好的基础,并取得一定的经济效益成果。
7 结束语
本文主要论述基于模型的车身控制器产品设计实现,该车身控制器产品基于Freescale的MPC5604B芯片为平台的完整系统,由硬件驱动程序、故障诊断协议栈、嵌入式系统软件框架和接口程序以及Matlab/Simulink环境下的一套图形界面构成。通过Matlab/Simulink环境下的图形界面,可以配置驱动程序、故障诊断协议栈以及将用户在Matlab/Simulink环境下搭建的模型关联到嵌入式系统软件框架的某个接口,借助RTW T:mbeded Cttder,工具将图形界面翻译为C代码,通过BT下载代码。可根据车型功能需求开发逻辑层,灵活地控制输入输出的关系。