Motion Control, PXI/CompactPCI, LabVIEW, Distributed I/O
The Challenge:
在汽车智能数字仪表的开发过程中,数字仪表所需要采集的信息量比较多,各种车型的信息参数又差别较大,这些问题的存在给仪表的实车测试和参数标定带来了困难。为了在开发过程中能够快速有效的测试系统的各项功能,提高系统开发效率,我们设计了一套测试系统,它能够模拟产生汽车上的各种参数信息,快速的对设计仪表进行全面的测试,节约台架或实车测试时间,降低测试风险。
The Solution:
利用NI公司的软硬件产品,结合一块自行研发的数据通信转换卡构成数字式仪表在线测试系统,系统模拟数字仪表测试所需要的车辆的各种状态参数和信号,包括模拟、数字、开关量及CAN等信号,驱动待测数字仪表,模拟车辆相关状态工作并反馈数字仪表的工作状态信息。通过NI公司的LabVIEW软件平台对整个测试系统进行开发,最终提供了一个完整的汽车智能数字仪表的测试方案。
系统设计
汽车智能数字仪表测试系统的开发要求针对不同的车型,能够模拟产生出仪表所需的各种采集信号信息,并且能够通过CAN接口与被测仪表进行通信。本文介绍的测试系统包括以下主要功能。
1)车速里程表的脉冲信号模拟产生
2)发动机转速表的脉冲信号模拟产生
3)车辆燃油表信号模拟产生
4)车辆水温表信号模拟产生
5)各种车灯、车窗、车门等车身开关信号模拟产生
6)数字仪表具有CAN通信接口,作为一个CAN节点,可以与车上CAN网络上的其他节点进行通信。
系统硬件设计:
数字仪表测试系统的硬件系统主要包括主控制器、PXI板卡、信号接线盒、数据通信转换板卡、供电电源以及被测试仪表等主要部分。NI公司提供的PXI模块化板卡设备具有体积小、速度快、易扩展等特点,因此在硬件设计方面我们采用了PXI板卡产生汽车仪表所需的各种信号。汽车数字仪表的里程表和发动机转速表需要采集的是数字脉冲信号,不同的车型由于采用的传感器不同,所输出的脉冲信号高电平从3V-12V不等。为了能够全面测试设计仪表的信号,采用PXI-6624板卡,配合外部供电电路,产生仪表所需的一系列数字脉冲信号。PXI-6624是工业级隔离的32位定时器/计数器PXI接口板卡,具有8路隔离的通道,我们采用Couter0和 Counter1作为车速表和转速表的脉冲信号提供通道。燃油表和水温表采集的是模拟信号,PXI-6233能够输出4路10V模拟电平信号,PXI-6713能够输出8路10V模拟电平信号,我们选择PXI-6713或者PXI-6233的2个模拟输出通道作为燃油表和水温表的模拟信号提供通道。由于仪表上的开关量信号比较多,如刹车、左右转向灯、燃油报警、水温报警以及左右车门开关信号等,他们之间产生的干扰也比较大。我们选用PXI-6528对仪表的开关量进行控制,PXI-6528是高速隔离的数字I/O通道,输入和输出通道分别独立,有效的抑制了信号之间的干扰。
采用一块数据通信转换卡来完成仪表参数的标定以及作为CAN 节点与车上其他CAN节点的数据通信,该卡的主要功能是完成串口信号与CAN信号之间的转换功能,开发数据通信转换卡的目的一是为了节约成本,二是考虑到大多数台式机或笔记本没有CAN接口。通过这个板卡对被控仪表的特征参数,如车辆的特征系数、传感器的传感系数、发动机的速比以及仪表的一些标定参数等进行设定。由于目标车型不确定,仪表的一些特征参数需要实车测试才能最后标定,所以该板卡可作为以后仪表参数标定用。
整个测试系统硬件功能框图如图1所示。
图1 仪表测试系统硬件功能框图
系统软件设计:
仪表测试系统软件采用NI公司的LabVIEW 8.20平台。LabVIEW是基于图形化编程语言的虚拟仪器软件开发平台,具有功能强大的函数模块库,特别适用于测试和控制系统的开发。结合NI的硬件模块,能够方便的进行采集和分析相关测试数据。考虑到仪表整体功能测试和模块功能测试的需要,整个系统主要包括界面模块和各个功能测试模块。根据信号类型将仪表功能测试分为:车速表测试模块、发动机转速表测试模块、燃油表测试模块、水温表测试模块、开关量测试模块、CAN通信测试模块以及参数设置模块等主要功能模块。汽车仪表测试系统的软件总体功能框图如图2所示。
图2 仪表测试平台软件总体功能框图
1.界面模块
测试平台左侧是各种模块功能测试的切换按键,可以切换到单个功能模块的测试项目。右侧主界面模拟汽车仪表板的显示界面,如车速表、转速表、水温表、燃油表、里程指示以及各种报警和开关信号等信息显示。在进行测试实验中,工作人员通过主界面即可观测到仪表测试的整体功能。主界面前面板如图3所示,控制框图如图4所示。
图3主界面前面板
图4 主界面功能控制框图
2.模块测试设计
车速表的测试需要预先了解设定目标车型的特征参数,如车辆特征系数、车速传感器的传感系数等,然后通过数据通信卡(CAN总线信号)将特征参数下载到被测仪表,按照测试要求产生脉冲信号,信号的幅值、频率可以通过手动/自动进行调整,车速信号具备超速报警提示功能,根据设定的超速门限值,高于该门限值时,通过主界面前面板上的超速报警灯闪烁来提示。测试过程也可以手动/自动进行,测试结果存档以备查询。
图5 模块软件测试状态转移图
车速表测试模块的设计采用状态机设计模式,如图5所示。主要分为开始、获取参数、手动/自动选择、采集(手动)、检查时间(自动)、输出信号和停止等状态。其中参数的获取主要是获取前面板上特征系数和传感系数的参数值。通常,这两个值在仪表参数标定的时候需要在线修改。检查时间是指按照程序规定的时间输出规定的信号,本系统中采取三角波模式的车速变化趋势对仪表进行测试,它的控制框图如下图6所示。
发动机转速表测试模块类似于车速表测试模块,区别在于它的特征参数不同。根据特定车型的情况,通过数据通信卡(CAN总线信号)将发动机转速比下载到被测仪表,然后对其进行测试。
燃油表的测试需要预先设定目标车型的燃油测试范围以及燃油门限报警值,通过数据通信卡(CAN总线信号)将参数值下载到被测仪表,然后按照测试要求开始测试。根据设定的燃油门限值,低于该门限值时,通过主界面前面板上的燃油报警灯闪烁提示。测试过程可以手动/自动进行。
燃油表的测试采用状态机的设计模式,主要分为开始、获取参数、手动/自动、采集、检查报警、输出信号等状态。水温表的测试同燃油表,在此不做具体说明。
图6 车速测试模块控制窗口
3.CAN通信测试模块
所有的模块测试之前首先需要对该模块的参数进行初始化,如进行特征系数、传感系数、发动机速比、超速门限、燃油门限、水温门限以及测量范围等参数的设置。数据通信采用CAN协议,鉴于成本方面的考虑,我们在LabVIEW上对串口进行操作,然后通过数据转换板卡输出CAN信号,CAN信号直接与被测仪表进行数据通信,因此,需要定义一个简单的CAN通信协议。测试系统作为CAN网络上的一个节点,节点ID号可以根据需求自行设定,数据区域由命令字、数据长度、数据、校验位组成。以下图7为CAN通信前面板图,表1是仪表参数设定CAN通信简单协议。
图7 CAN通信测试前面板
表1仪表测试参数设定CAN协议
测试结果分析
通过对现有车辆安装的数字仪表进行测试,各项关键指标如速度传感器和发动机转速传感器的测量误差均满足国标QC/T 727-2004的要求。同时作为CAN节点,根据特定的CAN应用协议,能够有效实现汽车仪表的参数设定及CAN网络通信。
总结
采用NI的PXI平台以及灵活方便的LabVIEW软件系统,使得我们在短期内构建了一套汽车数字仪表产品开发、测试、评估多功能于一体的测试平台。通过对实际仪表的测试,结果表明该套测试系统能够快速准确的完成对被测仪表的各项功能测试,并且该系统具备可扩展性,可以很方便的移植到其他产品的测试方案中,为我们后续汽车电子产品的研发积累了测试经验。
参考文献:
[1] 雷振山. LabVIEW 7 Express 实用技术教程[M]. 北京:中国铁道出版社,2004.
[2] 周浩敏,王睿.测试信号处理技术[M].北京:北京航空航天大学出版社,2004.
[3] 杨乐平,李海涛,赵勇等. LabVIEW高级程序设计[M].北京:清华大学出版社,2005.
[4] National Instrument Co. LabVIEW Programmer Reference Manual[Z]. 1998.