基于LabVlEW和PXl的汽车数字仪表测控系统设计
扫描二维码
随时随地手机看文章
引言
在汽车智能数字仪表的开发过程中,数字仪表所需要采集的信息量比较多,各种车型的信息参数又差别较大,这些问题的存在给仪表的实车测试和参数标定带来了困难。为了在开发过程中能够快速有效地测试系统的各项功能,提高系统开发效率,我们设计了一套测试系统,它能够模拟产生汽车上的各种参数信息,快速地对设计仪表进行全面的测试,节约台架或实车测试时间,降低测试风险。
系统设计
汽车智能数字仪表测试系统的开发要求针对不同的车型,能够模拟产生出仪表所需的各种采集信号信息,并且能够通过CAN接口与被测仪表进行通信。本文介绍的测试系统包括以下主要功能: 车速里程表的脉冲信号模拟产生;
发动机转速表的脉冲信号模拟产生;
车辆燃油表信号模拟产生;
车辆水温表信号模拟产生;
各种车灯、车窗、车门等车身开关信号模拟产生。
数字仪表具有CAN通信接口,作为一个CAN节点,可以与车上CAN网络上的其他节点进行通信。
系统硬件设计
数字仪表测试系统的硬件系统主要包括主控制器、PXI板卡、信号接线盒、数据通信转换板卡、供电电源以及被测试仪表等主要部分。NI提供的PXI模块化板卡设备具有体积小、速度快、易扩展等特点,因此在硬件设计方面我们采用了PxI板卡发生汽车仪表所需的各种信号。汽车数字仪表的里程表和发动机转速表需要采集的是数字脉冲信号,不同的车型由于采用的传感器不同,所输出的脉冲信号高电平从3V~12V不等,为了能够测试设计仪表的信号范围适用性,采用PXI一6624板卡,配合外部供电电路,能够产生仪表所需采集的数字脉冲信号。PXI一6624是工业级隔离的32位定时器/计数器:PXI接口板卡,具有8路隔离的通道,我们采用C o u t e r 0和Counterl作为车速表和转速表的脉冲信号提供通道。燃油表和水温表采集的是模拟信号,PXI一6233能够输出4路10V模拟电平信号,PXI一6713能够输出8路10V模拟电平信号,我们选择PXI一6713的2个模拟输出通道作为信号提供通道。由于仪表上的开关量信号比较多,他们之间产生的干扰随着也比较大,我们选用PXI一8528R对仪表的开关量进行控制,PXI一6528是高速隔离的数字I/O通道,输入和输出通道分别独立,有效的抑制了信号之间的干扰。
仪表参数的标定以及作为CAN节点与车上其他CAN节点的数据通信,采用一块数据通信转换卡来完成,该卡的主要功能是完成串口信号一CAN信号之间的转换功能,开发数据通信转换卡的目的一是为了节约成本,二是考虑到大多数PC没有CAN接口。通过这个板卡对被控仪表的特征参数,如车辆的特征系数、传感器的传感系数、发动机的速比以及仪表的一些标定参数等进行设定。由于目标车型不确定,仪表的一些特征参数需要实车测试才能最后标定,所以该板卡可作为以后仪表参数标定用。整个测试系统硬件功能框图如图1所示。
系统软件设计
仪表测试系统软件采用N I公司的LabVIEW 8.20平台进行设计,本系统采用LabVIEW的图形化程序语言,以一种很直观的方法建立前面板人机界面和程序框图。前面板是用户可见的,类似传统仪器的操作面板,利用工具模板从控制模板中添加输入控制器和输出指示器,控制器和指示器种类可选择。程序框图是支持虚拟仪器实现其功能的核心,对程序框图的设计涉及节点、数据端口和连线的设计。连线代表数据走向,节点则是函数、Ⅵ子程序、结构或代码接口。本测试系统考虑到仪表整体功能测试和模块功能测试的需要,整个系统主要包括界面模块和各个功能测试模块,根据信号类型将仪表功能测试分为:车速表测试模块、发动机转速表测试模块、燃油表测试模块、水温表测试模块、开关量测试模块、CAN通信测试模块以及参数设置模块等主要功能模块。汽车仪表测试系统的软件总体功能框图如图2所示。
界面模块
测试平台左侧是各种模块功能测试的切换按键,可以切换到单个功能模块的测试项目。右侧主界面模拟汽车仪表板的显示界面,如车速表、转速表、水温表、燃油表、里程指示以及各种报警和开关信号等信息显示。在进行测试实验中,工作人员通过主界面即可观测到仪表测试的整体功能,主界面如图3所示。
模块测试设计
车速表的测试需要预先了解设定目标车型的特征参数,如车辆特征系数、车速传感器的传感系数等,然后通过数据通信卡(cAN总线信号)将特征参数下载到被测仪表,按照测试要求产生脉冲信号,信号的幅值、频率可以通过手动/自动进行调整,车速信号具备超速报警提示功能,根据设定的超速门限值,高于该门限值时,通过主界面前面板上的超速报警灯闪烁提示。测试过程也可以手动/自动进行,测试结果存档以备查询。软件测试状态转移图见图4。
车速表测试模块的设计采用状态机设计模式,主要分为开始、获取参数、手动/自动选择、采集(手动)、检查时间(自动)、输出信号和停止等状态。其中参数的获取主要是获取前面板上特征系数和传感系数的参数值,通常,这两个值在仪表参数标定的时候需要在线修改。检查时间是指按照程序规定的时间输出规定的信号,本系统中采取'V'模式阶梯状的车速变化趋势对仪表进行测试,见图5。
发动机转速表测试模块类似于车速表测试模块,区别在于它的特征参数不同,根据特定车型的情况,通过数据通信卡(CAN总线信号)将发动机转速比下载到被测仪表,然后对其进行测试。
燃油表的测试需要预先设定目标车型的燃油测试范围以及燃油门限报警值,通过数据通信卡(CAN总线信号)将参数值下载到被测仪表,然后按照测试要求开始测试跟据设定的燃油门限值,低于该门限值时,通过主界面前面板上的燃油报警灯闪烁提示。测试过程可以手动/自动进行。燃油表的测试采用状态机的设计模式,主要分为开始、获取参数、手动/自动、采集、检查报警、输出信号等状态。水温表的测试同燃油表,在此不做具体说明。
CAN通信测试模块
所有的模块测试之前首先需要对该模块的参数进行初始化,如进行特征系数、传感系数、发动机速比、超速门限、燃油门限、水温门限以及测量范围等参数的设置。数据通信采用CAN协议,鉴于成本方面考虑,我们在LabVIEW上对串口进行操作,然后通过数据转换板卡输出cAN信号,cAN信号直接与被测仪表进行数据通信,因此,需要定义一个简单的CAN通信协议。测试系统作为CAN网络上的一个节点,节点ID号可以根据需求自行设定,数据区域由命令字、数据长度、数据、校验位组成。图6和表1是仪表参数设定CAN通信简单协议。
结语
采用NI系列PxI板卡以及灵活方便的LabVIEW软件平台,使得我们在短期内构建一套汽车数字仪表产品开发、测试、评估多功能于一体的测试平台,通过对实际仪表的测试,结果表明该套测试系统能够快速准确地完成对被测仪表的各项功能测试,并且该系统具备可扩展性,可以很方便地移植到其他产品的测试方案中,为我们后续汽车电子产品的研发积累了测试经验。