APP下载

拖拉机整机控制器CCP 标定系统分析与实现

2021-01-29聂林同李军伟姜世腾阚辉玉

农业装备与车辆工程 2021年1期
关键词:驱动程序上位油门

聂林同,李军伟,姜世腾,阚辉玉

(255049 山东省 淄博市 山东理工大学 交通与车辆工程学院)

0 引言

近年来,随着农业现代化的不断推进,农用拖拉机正朝着重型化、智能化的方向不断发展。VCU 作为重型拖拉机控制系统的重要组成部分,是提高重型拖拉机智能化程度的关键部件。为保证控制效果,需要利用标定系统对VCU 控制策略中的控制参数进行标定[1]。针对某智能重型拖拉机VCU 的开发需求,本文以CCP 协议为基础,开发出一套用于参数监测与标定的标定系统。

1 标定系统的软件与硬件分析

CCP 是由欧洲自动化测试系统标准协会ASAM 制定的一种基于 CAN 总线的标定协议,主要应用于控制器的研发以及车辆的在线测试与测量,目前已经在很多汽车厂商中得到应用,采用CCP 协议的标定系统可以对电控单元进行快速而有效的标定。针对标定系统在拖拉机上的应用场景,分析其软硬件组成,并做相应的器材选择与软件开发。

1.1 软件组成

标定系统软件部分包括上位机标定软件与存在于下位机中的CCP 驱动程序。标定软件安装于PC 机中,为标定过程中的人为操作提供可视化界面及操作平台。CCP 驱动程序集成于待标定VCU 中,用于识别上位机以CAN 报文形式发送的标定命令,并按照命令内容执行对应操作,工作原理如图1 所示。

图1 CCP 标定系统工作原理Fig.1 CCP calibration system works

主设备向从设备发送的命令报文统称命令接收对象(Command Receive Object,CRO),从设备发送给主设备的报文统称为数据传输对象(Data Transmit Object,DTO),包括命令返回消息CRMDTO(Command Return Message)与用于DAQ(Data Acquistion)模式下的DAQ-DTO 消息[2]。

1.2 硬件组成

由于标定软件与CCP 驱动程序之间通过CAN 报文传递信息,因此上位机与下位机之间需要可以传递CAN 报文的通信工具。主设备为装有标定软件的PC 机,通过USB 口与外界通信,连接主从设备的通信工具选用广成USB 转CAN模块,用于将上位机USB 口输出的USB 信号转换为CAN 信号发送给下位机VCU。CAN 接口卡符合CAN2.0A/B 规范,支持5 kbps~1Mbps 之间的任意波特率,满足标定系统的使用需求,提高了主从设备之间的CAN 通信的可靠性。

2 上位机标定软件开发

本文中的上位机标定软件在VS2012(Visual Studio 2012)软件中使用C++语言编写[3]。上位机标定软件界面由设置区、数据区、绘图区及工作区4 部分组成,如图2 所示。其中,设置区用于配置 CAN 总线的波特率、上位机的 ID 及USBCAN 设备的连接与断开等;数据区用于显示每帧报文的发送与接收情况,包括报文发送与接收的时间、传输方向、ID、帧格式、帧类型、数据场长度、原始数据等信息,传输过程中所有的报文均可进行保存,以便分析问题;绘图区用于变量以波形图的形式显示,可以更直观地观测变量的变化情况;工作区提供CCP 协议里规定的操作命令。命令内容可手动修改,点击标有命令名称的按键即可发送相应命令,所有命令参数及数据都被打包在8 个字节的CAN 报文数据场内,通过CAN 报文发送给VCU。

图2 上位机标定软件界面Fig.2 Host computer calibration software interface

本文中的拖拉机VCU 使用S12XEP100 单片机作为控制核心,使用CodeWarrior 开发环境。为了让上位机标定系统获得VCU 里变量的内存地址、数据类型以及长度等信息,需要将CodeWarrior 开发环境下的MAP 文件转换为A2L文件。A2L 文件是ASAM 协会制定的用来描述电子控制单元内部数据的一种数据库文件,该文件包含电子控制单元内部的变量及参数信息。通过Vector 公司开发的ASAP2 编辑器将MAP 文件转换为A2L 文件。本文中开发的上位机标定软件中设有加载A2L 文件的接口。如图3 所示,在上位机标定软件中加载A2L 文件后可以直观地看到各个参数的大小及地址信息,并对需要标定或监测的参数进行手动选取。

图3 A2L 文件加载窗口Fig.3 A2L file loading window

3 CCP 底层驱动程序开发

实现CCP 系统的功能需要解决对指定数据数值的获取、修改及存储等问题,因此CCP 底层驱动程序需要支持CCP 协议中规定的两种数据采集模式:Polling(轮询)模式和DAQ 模式,并且提供数据下载与Flash 数据存储功能。为实现以上功能,本文选取并实现了如表1 所示的12条CCP 命令。

表1 CCP 命令及意义Tab.1 CCP order and meaning

CCP 驱动代码只负责解释并执行基于CCP规范的CRO 命令,并组织返回的DTO 消息。它需要CAN 驱动代码的支持[4]。

3.1 Polling 模式

Polling 模式是一种“一问一答”的交互方式,该模式实现简单,占用VCU 资源比较少,由标定软件向VCU 连续发送命令SET_MTA 与UPLOAD 来实现。如图4 所示。

图4 轮询模式实现原理Fig.4 Implementation principle of polling mode

VCU 的CCP 驱动程序读取CAN 驱动程序接收到的CCP 命令报文,通过命令的CMD 代码识别命令,当读取的CMD 码为0x02 时,识别当前命令为SET_MTA 命令,将该命令中的4~7 Byte 内容保存下来作为后续内存读取的一个起始地址。接着读取下一条上位机标定软件所发送报文中的CMD 码为0x04 时,识别当前命令为UPLOAD,该命令的第2 字节为要上传的数据字节大小。此时根据上一条SET_MTA 命令设置的起始地址,上传特定字节大小的数据,标定软件解析接收到的报文,在相应窗口显示上传的数据。至此,本文中设计的标定系统的Polling 模式已实现。

3.2 DAQ 模式

DAQ 是一种高效的数据上传模式,该模式下VCU 可以自主地按照一定的周期向标定软件上传数据[5]。本文在底层驱动程序中实现DAQ 列表、ODT 列表及DAQ-DTO 的创建。DAQ 列表是同一上传周期的数据的集合,一个DAQ 列表下可包含数个ODT 列表。在ODT 列表中存放需要上传的数据在VCU 内存中的存放地址、长度等信息,在DAQ 模式初始化完毕后开始上传数据时,通过ODT 列表中的数据信息构建对应的DAQODT 报文进行上传。在标定软件中启动DAQ 模式时,标定软件会根据选定的需要上传的数据及数据上传周期向VCU依次发送数条初始化命令,在底层驱动中自动创建对应的DAQ 及ODT 列表。DAQ 列表初始化完成后,由DAQ 数据发送函数读取需要上传的参数的值并组织DAQ-DTO 向标定软件上传,该函数由定时器驱动。至此,标定系统的DAQ 模式已实现。

3.3 数据下载与FLASH 数据存储

当利用标定软件对VCU 中某个标量进行标定时,需要利用数据下载功能,该过程与Polling模式的实现形式类似,由标定软件向VCU 连续发送命令SET_MTA 与DNLOAD 来实现。SET_MTA 命令设定数据下载地址,DNLOAD 命令将自身所携带的值写入该地址。CCP 驱动程序通过识别该两条命令的CMD 代码来执行对应操作。

若想实现标定数据的非易失性存储,需要将数据写入到FLASH 存储器中。在向其写入数据时,必须先擦除,然后才能写入数据。由于FLASH 存储器的充放电特性,使得它的读写次数有物理上的限制。当闪存芯片的某个物理存储区块达到读写指定的最高次数时,该块区将被设定为不再使用的区域,所以在极度频繁地使用下,FLASH 存储器容量有可能越来越小[6]。

CCP 协议以编程命令逐条将数据烧写至VCU的FLASH 中,这种方式较为灵活,但是会造成对FLASH 频繁擦写的问题。针对本文VCU 的标定特点,本文采用一种独立于CCP 协议之外的数据存储方式:对数据标定以后,通过数据下载命令将修改以后的数值下载到RAM 中数据的原地址,当CCP 命令执行函数识别到数据下载命令时,即记录当前的下载数据的地址到预先定义的指针数组中,数组中已有该地址不重复记录。指针数组大小根据程序中需要标定的数据量定义。当CCP 命令执行函数命令识别到上位机发送的断开连接命令时表示本次标定结束,随后将指针数组中所有指针所指向的数据一次性写入FLASH 中。这样可以一次性写入多个FLASH 页,从而减少了对FLASH 的擦写次数。在控制器重新上电时会将FLASH 中存储的值写到数据在RAM 的原地址中。

4 系统应用

在对整机控制器调试过程中,需要对系统关键变量及参数进行采集和标定,以便调整控制策略中的相应参数,提高控制效果。电子油门在拖拉机驾驶过程中作用重大,为了提高拖拉机驾驶的安全性和稳定性,拖拉机上的电子油门均采用两路 5 V 独立电源供电。同样地,为了防止电子油门损坏引起重大事故,电子油门的输出信号也是由两路信号组成,他们之间具有一定的比例关系,在工作中可以形成“互相监督”的作用。

目前工厂中电子油门总成输出信号曲线一般通过对应车型的特点、经验数据、供应商数据来设计,并通过实车测试、标定来完善。本文中为完善重型拖拉机VCU 中的电子油门处理策略,需要标定出理想的电子油门总成输出信号曲线,使得本文所研究的拖拉机整车控制器安装于实车时,驾驶员踩下油门踏板可以获得理想的响应。如图5 所示,在上位机标定软件中选定两路踏板信号与车速信号,并设置为DAQ 上传模式,在控制策略使用不同参数的电子油门总成输出信号曲线时观察车速的响应情况。在参数1、2、3 对话框处填写地址及参数值可修改相应地址上的参数值。不断修改参数不断观察实车响应来确定最佳的电子油门总成输出信号曲线。

图5 参数的监测与标定Fig.5 Monitoring and calibration of parameters

通过标定、测试最终确定的两条电子油门总成输出信号曲线分别为Signal1=0.01545x+0.375,Signal2=0.0309x+0.75,如图6 所示。

图6 电子油门总成输出信号曲线Fig.6 Electronic throttle assembly output signal curve

5 结语

本文开发的基于CCP 协议的重型拖拉机VCU 标定系统实现了设计目标,在实车试验中,系统可以实时监测VCU 中重要参数的状态,还可以快速标定影响性能的各个参数。本文所开发的标定系统具有如下优点:

(1)在实现标定功能的前提下所设计的底层驱动程序代码大小共55 kB,比Vector 公司的Free CCP driver 少16 kB,节省占用内存空间。在向FLASH 中写入数据时,本文中批量写入的方式比采用命令逐条写入对FLASH的擦写次数少,提高FLASH 寿命。

(2)上位机友好的人机交互界面和有效的数据管理功能提高了监测与标定效率。

(3)以CCP 协议和CAN 通信协议为基础的标定系统在数据传输的过程中具有较高的稳定性。

猜你喜欢

驱动程序上位油门
驾哥
阻止Windows Update更新驱动程序
计算机硬件设备驱动程序分析
汽车改装车上装油门的几种控制方法
特斯拉 风云之老阿姨上位
基于ZigBee和VC上位机的教室智能监测管理系统
坐诊专家
基于VC的PLC数据采集管理系统
妙用鼠标驱动
驱动程序更新与推荐