[摘要] 为提高电控系统开发过程的“透明性”,本文完成了自动变速车辆电控系统过程信息在线监测系统的开发,并成功应用到机械式自动变速器的样车开发中,在保证产品质量的同时又达到了快速开发的目的。
关键词:自动变速 电控系统 在线监测
前言
在机械式自动变速器(AMT)控制系统的软件开发过程中,往往需要经历较长时间的调试,通过不断调整控制算法及相关控制参数,以达到预期的综合控制效果。从保证产品质量、缩短开发周期及降低开发成本考虑,建立一个“透明”的可视开发环境显得尤为重要。
1 对AMT 过程信息在线监测系统的要求
AMT 信息在线监测对象是控制系统工作过程中来自于各传感器的车辆状态信息。监测这些信息的目的是为了方便控制系统开发、调试等相关人员对系统的“微观”动态过程进行全面的分析。因此,AMT在线信息监测系统应能满足如下基本要求:
(1) 实时性高。AMT 起步/换档过程都很短:一般起步最多不超过3s,而换档时间就更短,一般在1s左右完成,控制周期都在50ms 以内。要真实反映系统“微观”工作过程,在线监测系统数据更新周期也应在50ms 以内。
(2) 信息量大。AMT 控制对象是整个车辆动力传动系统,在其工作过程中要对发动机、离合器及变速器进行综合控制,需要通过传感器采集各种车辆状态信息,包括:手柄位置、加速踏板位置、制动信号、节气门开度、车速、发动机转速、输入轴转速、离合器位移、选档位置、换档位置、转向盘转角和液压系统温度等。尽管每次采集的数据量并不是很多,但为充分了解系统动态控制过程,需要存储各信号的历史记录;又由前分析得知数据更新周期较短,所以总的信息量大。
(3) 信息重现性好。开发及调试人员经常要在事后分析控制系统行为特性,以便进一步提高产品性能;另外用户(即委托开发方)也需要评估AMT 产品性能。这都要求在线监测系统能详细地把所有过程信息记录下来,并能方便灵活地让开发及调试人员或用户有选择地全部或部分重现这些信息。
(4) 移动性强。作为一种交通工具,车辆本身具有很强的移动性,这要求在线监测系统的载体应是可移动的,台式机已不能满足实际应用的需要。
(5) 具有故障诊断功能。传感器在AMT 控制中起到提高闭环控制精度及稳定性的作用。传感器故障将对闭环控制产生严重破坏,甚至可能使控制系统瘫痪。另外,执行机构发生故障亦会对AMT 的功能实现产生严重影响。在线监测系统应能及时地诊断出传感器及相关执行机构故障,以便开发、调试及维修人员及时排除故障。
2 AMT 过程信息在线监测系统的总体方案
2.1 传统AMT 测试系统
传统AMT 测试系统一般采用图1 所示结构。来自于AMT 车辆的过程信息经传感器、信号转换、整形、放大电路后通过磁带机在线记录到磁带上,然后再通过磁带机经数据采集卡由采样程序离线将记录在磁带上的信息采集到微机中进行分析和处理。 (图片)
图1 传统AMT 测试系统 实践证明,传统测试系统具有实时性差、成本高、存储量小、影响控制系统性能、信息冗余等缺点[1 ]。
事实上,AMT 控制系统也要完成过程信息的采集工作,传统测试系统完成的工作实际上是AMT 控制系统数据采集与处理接口层完成工作的低效重复,未能有效地实现信息资源的共享。
综上分析,传统AMT 测试系统不能适应过程信息在线监测的需要,不便于开发、调试人员及时了解产品性能,对保证产品质量、缩短开发周期及降低开发成本极为不利。
2.2 AMT 过程信息在线监测系统总体方案
2.2.1 系统结构
为克服传统AMT 测试系统的缺点,考虑对AMT 在线信息监测的要求,采用图2 所示结构。AMT ECU(80C196KC 单片机)作为下位机,便携式电脑作为上位机,二者之间通过标准串行通信总线RS-232C 进行通信。(图片)
图2 AMT 在线信息监测系统 对比图1 和图2 可以看出:在线信息监测系统的数据采集、处理、存储及显示全部在线完成,实时性好;该系统省去了传统测试系统中的磁带机和数据采集卡,而便携式电脑本身是AMT 控制系统开发、调试过程中的标准配置,串行通信基本上没有附加成本,从而大大降低了设备成本;便携式电脑存储容量很大,有效地突破了AMT 传统测试系统信息存储的瓶颈;信号转换、整形、放大电路输出端负载稳定,不会造成控制系统性能的变化;通过串行通信实现信息共享,使系统结构更加合理和规范。
2.2.2 功能分解
根据系统结构,可将系统功能分解为两部分:下位机在线信息采集、处理及数据发送;上位机在线数据接收、存储、动态显示和回放。具体地说,下位机根据采样定理及控制算法的要求,按一定采样周期将转换、整形、放大后的传感器信号经数据采集与处理接口层采集到AMT ECU 中的综合信息库(位于RAM中),该层兼完成传感器故障诊断功能,而执行机构的故障诊断则在驱动控制层实现,故障代码存入综合信息库[1 ],这些信息除供实时控制使用之外,还由通信接口层通过单片机TxD 引脚发送至串行通信数据总线上;上位机通过串行端口接收数据存入输入缓冲区,后台线程以轮询(Polling)方式从输入缓冲区中读取数据,前台线程完成对后台线程的调度、过程信息的实时动态显示(包括数据显示及动态曲线绘制)及数据存储和回放等功能。
2.2.3 数据传输格式
RS-232C 总线是按位串行的通信总线[2 ],并不限制所传送的数据类型和数据帧长。RS-232C 标准数据传输格式如图3 所示,约定为起始位、若干数据位、奇偶校验位和停止位。(图片)
图3 RS-232C 标准数据传输格式 3 AMT 过程信息在线监测系统软件开发
3.1 下位机通信模块
80C196KC 实现串行通信较为简单,为减少通信过程对系统控制的影响,采用T2 定时器中断的方式实现下位机向上位机的数据传送。通信模块由初始化和中断服务程序两部分组成。初始化部分完成数据发送准备工作,包括设置数据块首地址及总长度、选择P2.5 引脚的TxD 功能,选择异步串行工作方式、设置通信速率、允许T2 溢出中断、装载定时时间常数等。中断服务程序负责完成数据块的发送。下位机通信模块流程如图4 所示。(图片)
图4 下位机通信模块流程 3.2 上位机软件
与DOS 环境相比,Windows 因其界面友好、操作简便、性能稳定等优点而倍受人们青睐。考虑到上位机的两个主要功能就是实现过程信息的实时动态显示(包括数据显示及动态曲线绘制)和回放,对图形用户界面的要求很高,因此,选用Windows 作为上位机软件平台的运行环境。
Windows 对设备的管理采用统一模式,各种设备都用相应的设备驱动程序进行管理,由设备驱动程序与各种硬件打交道,限制了应用程序对硬件的直接访问,因此,在Windows 环境下实现串行通信比在DOS下实现串行通信要复杂得多。另外,在线信息监测系统在接收串口数据的同时,既要完成相关数据及图形的动态显示,又要保证能及时响应用户对监测系统的控制,这需要引入多线程技术及线程间同步机制。
3.2.1 Win32 下串行通信类的实现
Win32 API(Application Programming Interface)提供了二十多个与串行通信相关的函数 [3 ]。如果在程序中直接使用,一方面极不方便,另一方面还会因结构复杂降低软件质量。从软件重用(Reusing)、降低程序复杂度及便于使用的角度出发,本文用C++语言实现了串行通信类CComm,它封装了前述的大部分函数。CComm 类的UML(Unified Modeling Language,一体化建模语言,已成为面向对象技术的工业标准)描述如图5 所示。(图片)
图5 串行通信类CComm 的UML描述图 对Win32 API 的封装为Windows 环境串行通信应用程序的开发提供了极大的方便。在实际应用中,只需申明一CComm 的实例(Instance),对其相应成员函数进行简单调用即可实现AMT 在线监测系统上位机端的串行通信需求。
图6 是在线监测系统使用CComm 类从串行口接收数据的对象协作图(Collaboration Diagram)的UML描述。从图中可以看出,要从串行口接收数据,只需简单地对CComm 类的一个实例顺序调用五个成员函数(设置端口号、设置波特率、打开串行口、读取数据、关闭串行口)即可,而把大量的实现细节封装在CComm 类的内部。(图片)
6 从串行口接收数据的对象协作图 3.2.2 多线程技术及线程同步机制的引入
Windows 9X/NT/2K 是属占先式多任务系统,其多任务的基本单元是线程。线程是可由系统调度的最小执行单位,一个进程(Process)可由多个线程组成。系统调度程序将CPU 时间划分为许多小的时间片,并按一定的优先级将时间片分配给各个线程。各线程在各自的时间片内使用CPU,从而实现了微观上轮流执行、宏观上并发运行的多任务效果[4 ]。在AMT 在线监测系统中使用多线程,即创建专门的后台通信线程实现对串行口的访问,主线程根据用户选择动态显示AMT 的过程信息(包括图形和数据)及响应用户操作实现对后台通信线程的控制(包括起、停、暂停、恢复等)。实践证明,这种方法是行之有效的。
在AMT 在线监测系统中,主线程和后台线程是通过内存共享来实现数据共享的,即串行口接收数据的存储地和主线程图形绘制及数据显示所用数据的来源地对应同一块内存地址。由于线程的占先性和无法预测性,为保证数据的正确性不被破坏,本文采用临界段(Critical Section)来实现AMT 在线监测系统主线程和后台线程之间的同步(Synchronization)。临界段是Win32 的同步化对象之一,能有效保证一次只能有一个线程可对某一共享资源进行访问。在监测系统中,一旦后台通信线程获得对共享数据存储区的访问权,立即用临界段将其锁住,当数据成功写入存储区后才解锁,在解锁之前主线程无法访问共享存储区。在主线程读取共享存储区时临界段的使用方法与之类似。
3.2.3 上位机软件开发
综合以上各项技术,本文以面向对象的方法用Visual C++开发了便携式车载数据采集与回放系统(Portable Vehicle Data Collection and Playback System,PVDCS),作为AMT 过程信息在线监测系统的上位机软件平台。
PVDCS 的使用案例如图7 所示,包括五个组成部分:设置定制、数据采集、数据回放、视图控制和文件管理。(图片)
图7 PVDCS 的Use Case 图 设置定制(Settings Customizing)对象类图的UML 描述如图8 所示,主要完成串行端口的配置(端口号、波特率等)、串行通信数据包协议定制(头部标识项内容及长度、各数据项长度及含义、尾部标识项内容及长度)、曲线绘制属性配置(一个窗口绘制图形数量、一屏允许显示的数据采样点总数、是否显示图例、各数据项绘制位置、绘制颜色、线型及宽度、各图形的坐标范围等)、图形窗口数据更新周期设置等功能。(图片)
图8 设置定制对象类图的UML描述 数据采集(Data Collection)实现串行口数据接收的起动、停止、暂停、恢复及与之同步的AMT 过程信息图形绘制、数据显示更新等功能。
回放(Playback)用于事后分析,与数据采集过程中的AMT 过程信息图形绘制、数据显示更新相比增加了定点搜索功能。
视图控制(View Control)实现数据采集/回放过程图形、文本显示方式的选择和切换。
文件管理(File Management)实现数据存储、文件载入、向其它数据分析软件进行数据转换、图形拷贝、图形打印等功能。
3.3 应用情况
本文所开发的AMT 过程信息在线监测系统已成功应用于SC6350 小客车AMT 样车的开发过程,图9 为PVDCS 在线监测过程中的一个显示界面。该系统工作稳定可靠、数据准确度高,增强了AMT 电控系统开发、调试过程的“透明性”,便于开发、调试相关人员及时分析控制系统性能,提高了产品开发、调试的工作效率,对缩短开发及调试周期、保证产品质量在实践手段上提供了有力的支持。(图片)
图9 PVDCS 在线监测过程显示 另外,由于在开发过程中就考虑到通用性,本系统上位机软件PVDCS 不需进行任何改动即可用于其它车辆电控系统及工业现场控制系统过程信息的在线监测。
4 结论
从保证产品质量、缩短开发周期及降低开发成本考虑,建立一个“透明”的可视开发环境对AMT 控制系统开发显得尤为重要。
本文针对传统AMT 测试系统的缺点及对AMT 过程信息进行在线监测的要求,提出了以AMT ECU为下位机、便携式电脑为上位机、二者通过串行通信总线进行通信来实现AMT 过程信息在线监测的总体方案。
从功能和实现上将监测系统软件划分为下位机通信模块和上位机软件两部分。在80C196KC 单片机上编写了下位机通信模块,运用面向对象技术及多线程技术完成了基于Win32 平台的上位机软件PVDCS 开发。
本文所开发的AMT 过程信息在线监测系统已成功应用于SC6350 小客车AMT 样车的开发过程,起到了辅助分析、提高工作效率、缩短开发周期的作用,实用价值高。
参考文献
1 阴晓峰.车辆动力传动力自动操纵系统体系结构及支撑软件开发的研究:[博士学位论文].长春:吉林大学,2002.6
2 汪健主编.MCS-96 系统单片机原理及应用技术.武汉:华中理工大学出版社,1999.1
3 Microsoft Cooperation. MSDN Library. 2000.7
4 周之英编著.现代软件工程.北京:科学技术出版社,2000.6
5/8/2005
|