基于MPC5746R的燃料电池发动机控制器标定系统设计

马天才 杨柳明 叶川 杨月华

Automobile Technology - - CONTENTS -

【摘要】针对以NXP MPC5746R作为主芯片的燃料电池发动机控制器( FCU),开发了基于XCP协议的标定系统:利用MCAL开发了符合AUTOSAR架构标准的下位机底层CAN驱动和FLASH 驱动,并将其与自主开发的XCP驱动进行集成;采用CANape软件设计了标定系统的上位机,实现了A2L文件的生成与编辑;传输层采用CAN总线。测试结果表明:标定系统完成了数据的实时上传与显示,实现了标定数据的下载与FLASH刷写的功能。主题词:燃料电池 控制器 标定U469.72 A 10.19620/j.cnki.1000-3703.20180051中图分类号: 文献标识码: DOI:

Design of Controller Calibration System for Fuel Cell Engine Based on MPC5746R

Ma Tiancai1,2, Yang Liuming1,2, Ye Chuan1,2, Yang Yuehua1,2 1. School of Automotive Studies, Tongji University, Shanghai 201804; 2. Clean Energy Automotive Engineering Center, ( Tongji University, Shanghai 201804) Abstract A calibration system with the XCP protocol was developed for Fuelcell Control Unit (FCU) based on the【 】MPC5746R. MCAL was utilized to develop the CAN driver and FLASH driver in line with AUTOSAR architecture standards. Then it was integrated with self- developed driver of the XCP. With CANape, the host computer was designed for calibration system, which had the functions of A2L file generation and editing. CAN was adopted as the transport layer. The test results show that the calibration system can complete the real- time data upload and display, as well as the calibration data download and Flash operation. Key words: Fuel cell, FCU, Calibration

1 前言

燃料电池汽车拥有续航里程长、加氢速度快等独特优势,与纯电动汽车相比,其在性能上更接近传统的内

Fuelcell Control燃机汽车[1- 2]。燃料电池发动机控制器(

Unit,FCU)

作为各辅助系统的控制中枢,需要对散热风扇、水泵、氢气减压阀、排水电磁阀、空压机等各执行器进行控制,其标定结果直接影响电堆的工作条件。通过使用标定系统,不仅能实时观察各控制参数对控制效果的影响,也能随时修改标定参数,从而提高标定效率。

FCU

因而,对 标定系统的研究与设计十分必要。

CAN CAN

近年来,国内很多高校基于 标定协议(

Calibration Protocol,CCP)

和通用的测量与标定协议

Universal Measurement and Calibration Protocol,XCP)

( 进 行了相关标定系统的开发设计:刘运潇[3]选取飞思卡尔

MC9S12XEQ512 CCP

作为主芯片,基于 手工开发了下位

CCP CAN LabVIEW

机 驱动和 驱动,使用 设计了上位机

XC2365A

标定界面;杨攀[4]选用英飞凌 作为主芯片,基

CCP, CANape Simulink

于 使用 作为上位机,并使用 完成

CCP XC2785

了 底层驱动的编写;梁恒[5]采用英飞凌 芯

XCP Visual Studio C#

片,基于 在 平台上使用 语言开发了上位机标定程序,完成了标定系统的设计。本文针对燃料电池发动机高安全性与高实时性的

32 MPC5746R,

要求,选用 位汽车级芯片——恩智浦 通

MCAL AUTomo⁃

过 配置生成符合汽车开放系统架构(

tive Open System ARchitecture,AUTOSAR)

的底层驱动,

XCP CANape

结合 协议包与 上位机,完成标定系统开发,实现了数据实时显示与在线标定的功能。

2 架构与协议 2.1 AUTOSAR架构

AUTOSAR

的核心思想可概括为“统一标准、分散实现、集中配置[6]”,通过建立统一标准使各厂商在一个开放的平台下工作。不同厂商可采用满足标准的不同实现方式制作模块化的软件,由整车厂将这些模块整合起来,加入应用层软件,进行相应配置后,完成软件开发。1 AUTOSAR 3

如图 所示, 架构可具体分为 个部分: 图1 AUTOSAR架构框架a.

应用层。应用层算法以软件组件的形式进行设计,每个软件组件都具有标准化的应用程序接口并通过运行时环境层进行通信。

b. RTE) RTE

运行时环境层( 。 提供基础的通信服务,支持软件组件间以及其与基础软件层间的通信。

c. BSW) BSW 4

基础软件层( 。 被划分为 个部分:

ECU MCAL)

服务层、 抽象层、微控制器抽象层( 和复杂驱动层。服务层将各种基础软件功能模块以服务的形

ECU MCAL

式封装起来,供应用层调用。 抽象层封装了

MCU MCU

和 外围设备的驱动,并将对 外围设备的访问

ECU MCAL

进行了统一,使上层应用与 硬件布局无关。

MCU

包含了访问 和内部外设的驱动,使上层软件独立于使用的微控制器,以便应用程序的移植。该部分软件由相应芯片制造商提供。复杂驱动层可以直接访问

MCU,

从而实现一些复杂的传感器和执行器操作。

2.2 XCP

XCP 2003 CCP

在 年被提出,它建立在 的研究基础

X”

上,其中“指的是传输层可使用多种通讯方式,如

CAN FlexRay Ethernet(UDP/IP TCP/IP) USB

、 、 和 、 和串口

SPI SCI) XCP 3 XCP (和 等。[7] 消息帧由 个部分组成: 帧

XCP XCP 2

头、 报文包和 帧尾,如图 所示。 XCP XCP

其中, 帧头和帧尾根据 传输层协议不同

XCP XCP

发生变化,而 报文包的格式和内容由 协议层

XCP

定义,固定不变,故 协议支持多种传输方式。

3 下位机软件设计3.1 底层驱动

为实现在线标定功能,下位机需使用软件地址重定

FLASH

位的方法:标定开始前,将存储在 中的待标定参

RAM RAM

数拷贝至 中;标定过程中,直接在 中进行读

RAM FLASH写;标定结束后,将 中的参数写入 中保存[8- 9]。在具体实现方式上,为保证下位机软件的可移植性、可

MCAL

重用性和功能安全性,本文使用 配置工具,生成

AUTOSAR CAN FLASH

符合 架构要求的 驱动和 驱动。

FLASH

以 模块配置为例,其驱动开发过程如下。

3.1.1 FLASH MCAL

模块 配置

FLASH FLASH

模块的配置内容主要包括 通用设置、

FLASH FLASH 3

具体配置、 版本信息设置,如图 所示。 3 FLASH图 模块配置框架FLASH

的读、写函数均通过异步方式实现,即调用

FLASH

读或写函数后只是将需要读写的 地址、数据缓

FLASH

存区地址、读写长度等信息传递给底层的 驱动,

MCAL

而并未立即执行相应的读写操作。因而需要在

FLASH Fls_JobEnd⁃

配置时启用 工作结束的通知函数(

Notif FLASH

函数),使 在完成相应工作后调用该函数。

FLASH

这是设计 读、写任务函数以及状态转移的基础。

FLASH

本文结合实际的标定需求,考虑到 的大小

16 KB

对 刷 写 速 度 的 影 响 ,配 置 了大小 为 的

FLS_DATA_ARRAY_0_PART_2_M00 FLASH[

数据 10]。

3.1.2 FLASH

模块读、写任务函数

FLASH MCAL

前文 模块 配置过程中,设置了

FLASH

工作结束通知函数。在该函数中根据当前

FLASH FLASH

的状态,进行相应的状态转移以完成 模

FLASH FLASH

块的读取任务。在 进行读任务时, 状态

FLASH

机被设置为 读状态,根据当前的状态依次执行读任务函数和验证函数,在工作结束后完成各状态的切

FLASH 4

换,最后到达 最终状态。状态设置如图 所示。

写任务与读任务类似,不再赘述。

3.2 XCP驱动

XCP XCP

驱动需要完成对 模块的初始化、协议的

XCP DAQ DAQ

解析、 报文的打包与解包、 的分配、 的发送、标定数据的下载等功能。

3.2.1 XCP

命令处理机

5 XCP

命令处理机的工作流程如图 所示。 命令处

CAN

理机的主要任务是根据上位机发送 帧数据场的第

1

个字节判断当前上位机发送的命令类型,并按照协议的要求,解析数据场中其他的命令参数,并作出相应的回复。接收到连接命令时,下位机将如下信息填入数据缓冲区中:当前可用的功能、使用的通信模式、上位机

XCP DAQ

命令的最大字节数、上位机 的最大字节数及

XCP

当前下位机使用的 协议版本和传输层版本。 如接收到标定命令,若修改的数据地址属于

FLASH, RAM

则使用软件地址映射的方法,修改其在

FLASH

中存放的值,与上位机断开连接后再进行 相应扇区的擦写。

3.2.2 DAQ

处理机

DAQ 6

处理机的工作流程如图 所示。下位机根据

DAQ

上位机的命令先将所有 分配到不同的事件中。根

DAQ

据不同事件的发送周期将满足要求的 打包发送。 FLASH

该过程中,如遇地址在 区域的情况,则进行软件

RAM

地址映射,通过增加偏移量读取其在 中存放的值,

FLASH

避免对 扇区进行读取操作。在同一事件中所有

DAQ

记录发送完毕后, 处理机状态切换为发送成功。

4 标定系统测试4.1 安全访问功能测试

对标定系统而言,安全性是首先需要保证的。下位机需要识别正在总线上发送消息的上位机是否有权

DAQ

限对本机进行标定,是否有必要向上位机发送 。具体实现过程为:上位机确定需要下位机解锁的资源

XCP GET_SEED

后,按 的要求发送 命令,请求下位机给

SEED

出所请求资源的 值,并通过一定的密钥算法求

UNLOCK

出对应的密钥;上位机使用 命令,将密钥发送给下位机;下位机将密钥与自身计算出的密钥进行比较,决定解锁需要使用的资源或断开与上位机的连

CANape dll

接。 中密钥算法以 文件的形式导入。下位机通过使用相同的密钥算法,可以保证上位机正常解锁标定资源。

4.2 数据采集功能测试

Vector ASAP2

在进行数据采集前,可通过使用

Editor map

工具提取下位机编译生成的 文件中的变量名

CANape A2L

和地址信息,生成 能读取的 文件。

7

数据采集测试的结果如图 所示。被采集的变test7 0~0.7 test8= 0.7, test7

量满足如下关系: 在 间波动,

test8 test9 DAQ 3

与 相加得到 。在 模式下,这 个变量都分配在同一个事件通道,被同时采集,因而可以保证

test9=test7+ test8 Polling 3

其对应关系,即 。在 模式下,个变量数据的上传周期虽然也被设置为相同的值,但

UPLOAD

变量并不是同时集中采集的,而是在接收到

SHORT_UPLOAD

或 命令后依次发送给上位机。由于

3

上传存在先后顺序,因而个变量间的对应关系无法满足。

4.3 在线标定功能测试

为验证系统的标定功能,设计了应用层算法

y=ax+ FLASH 3 b,其中ax、和b分别与存储在 中的 个标

cal3 cal2 cal1 RAM

定量 、、 的 备份相对应。在标定窗口中修改标定量的值,观察相应的axby、、、是否发生变

8

化。测试结果如图 所示,各变量随着标定量的变化而变化,说明软件地址映射功能正常,上位机能通过

FLASH RAM

地址访问存储在下位机 中的变量,应用层

RAM

算法也能通过软件映射使用存放在 中的参数,在线标定功能基本实现。

5 结束语

MCAL AUTOSAR CAN

本文基于 配置了符合 架构的

FLASH

驱动模块与 驱动模块,设计了相关状态机与接口

XCP DAQ

函数,并开发了 驱动的命令处理机和 处理机,

MPC5746R

完成了 芯片的标定系统设计,实现了通信安

DAQ

全访问、数据在线标定和 上传数据的功能。

参考文献

[1] Yamashita A, Kondo M, Goto S, et al. Development of HighPressure Hydrogen Storage System for the Toyota“Mirai” [C]// SAE 2015 World Congress & Exhibition, 2015. [2] 付甜甜. 丰田燃料电池车Mirai——未来[J]. 电源技术, 2015(2):229-230. [3] 刘运潇. 基于CCP的通用型ECU标定系统研究和设计[D]. , 2013.上海:上海交通大学[4] . CCP ESP [D].杨攀 基于 协议的 在线标定系统的研究 长, 2016.春:吉林大学[5] . XCP梁恒 基于 协议的发动机电子控制单元通用标定平[D]. , 2013.台的开发 杭州:浙江大学[6] , , .魏学哲 戴海峰 孙泽昌 汽车嵌入式系统开发方法、体系[J]. , 2012, 40架构和流程 同济大学学报(自然科学版) 7):1064-1070. ( [7] ASAM MCD- 1 XCP V1.5.0[EB/OL].[2017]. https://www. asam.net/standards/detail/mcd-1-xcp/. [8] , , . XCP ECU冯占军 丁锋 谭啟寅 基于 协议的 控制器标定[J]. , 2013(11):16-18.系统开发 上海汽车[9] , . XCP ECU [J].肖亚迪 肖兵 基于 协议的 标定系统开发 计, 2015(2):600-603.算机测量与控制[10] NXP MPC5746R Reference Manual Rev6.1[EB/OL]. [2016- 11- 30].https://www.nxp.com/cn/products/proces⁃ sors- and- microcontrollers/power- architecture- processors/ mpc5xxx-55xx-32-bit-mcus/ultra-reliable-mpc57xx-32bit- automotive- and- industrial- microcontrollers- mcus/au⁃ tomotive- industrial- engine- management- mcu: MPC5746R?tab=Documentation_Tab. (责任编辑 斛畔) 2018 1 20修改稿收到日期为 年 月 日。

图 命令处理机流程

Newspapers in Chinese (Simplified)

Newspapers from China

© PressReader. All rights reserved.