>
首页 » 业界动态 » 汽车碰撞试验测控系统的开发研究

汽车碰撞试验测控系统的开发研究

作者:白中浩,曹立波  时间:2006-10-31 01:04  来源:
摘 要:介绍了利用虚拟仪器技术在LabVIEW平台上开发研制的汽车碰撞试验测控系统,分析了开发中遇到的采样数据丢失问题产生的原因,利用C++与汇编语言嵌套程序和LabVIEW中的子函数调用等方法成功地解决了该问题,并在试验系统中得到了验证。

关键词:虚拟仪器;汽车碰撞;数据采集

引言

针对本实验室自行开发研制的汽车碰撞试验装置,作者应用虚拟仪器技术,在LabVIEW平台上开发出了与其配套的湖南大学汽车碰撞试验测控系统软硬件部分。

基于LabVIEW的汽车碰撞试验测控系统开发策略

汽车碰撞试验具有瞬时性、大减速度、不易预测,特别是不能重复做等特点,因此,对于试验测控系统的实时性、稳定性和可靠性要求特别高。本文开发的汽车碰撞试验控制与数据采集系统是在实时数据采集的同时实现实时试验设备控制。

考虑到试验需要高速采集海量数据,同时实现实时控制,基于PCI总线较高的数据传输速率(132MB/s),系统采用PCI-9118多功能数据采集卡来完成数据采集与控制任务。采集卡采用12位模拟输入,满足了汽车碰撞试验法规SAEJ211中数字化长度不小于10位(含一个符号位)的要求,保证了数据处理过程中合理的精度。采集卡具有16个单端模拟输入通道,最大330kHz的数据传输率,支持DMA方式和双缓冲区(double buffer)模式数据采集。所开发的汽车碰撞试验测控系统硬件工作原理如图1所示,LabVIEW测控系统启动后,数据采集卡被初始化,开始采集数据信号,当触发装置被触发(无论是系统自动触发或是人为触发),采集卡从DI端口采集到高电平信号,系统把采集的信号分别进行计算、判断、显示(或存储)。当达到试验要求的条件时驱动执行器动作,从而实时控制各种碰撞试验设备。

图1 汽车碰撞试验测控系统硬件原理框图

系统采用模块化设计(见图2),把数据采集、速度信号的判断与计算、数据的存盘、数据的滤波、加速度的频谱分析等分别设计成不同的模块,开发出相应的程序(Vis),通过主控模块协调各个模块之间的配合,实现了汽车碰撞试验中的数据采集—实时计算—实时判断—实时控制—数据后处理等功能。同时,各个模块之间既有一定的制约关系,又各自自成体系可以单独运行,既有利于系统的维护又节约了系统再开发的投资,为系统再开发打下了基础。

图2 汽车碰撞试验测控系统程序设计结构

采样数据丢失问题

为了使汽车碰撞试验在不同实验室所获得的数据具有可比性,汽车碰撞试验法规CMVDR294与SAEJ211要求测量系统达到最高频率等级CFC1000,即试验中加速度、力及位移的采样频率应不低于8250Hz。由于系统模拟输入(AI)采用异步DMA传输方式,采集的数据直接传入循环缓存区(circular buffer),当循环缓存区全部填充了数据后,数据被复制到另外的一个用户缓存区(user buffer),同时清空循环缓存区,其运行过程如图4。

  PCI-9118采集卡每个模拟输入通道只能以相同采样频率采集数据,其采样频率为:
f i = F/N
其中:fi为各个模拟输入通道的采样频率;F 为采集卡的采样频率;N为模拟输入通道的数量。

用户缓存区的数据通过数组重组子函数(Decimate 1D Array),分为不同的通道,其中的速度信号数组经循环(ForLoop)判断和计算,得到试验车辆的实时速度——执行器动作的重要依据。当数组进行ForLoop循环时,因为ForLoop的优先级最高,循环强占CPU屏蔽一切中断,直至该数组循环结束。然而,从图3 可以看出系统的数据采集采用DMA方式传入循环缓存区,当缓存区充满时,无论CPU是否响应复制数据到用户缓存区的中断请求,循环缓存区中的数据将被清空。如果CPU不响应该中断请求,该缓存区中的数据将丢失。因此,为了防止丢失数据,必须保证CPU在缓存区充满时已经被ForLoop 释放,这就要求必须协调好循环与缓存区的大小关系。缓存区的填充时间与采集卡的采样频率成反比,采集卡的性能及采样频率的要求决定了每个模拟输入通道的采样频率不小于8250Hz。也就是说,速度信号的判断和计算循环必须大于8250Hz,才能不丢失数据。

图3 Double buffer运行原理框图

图4 汽车碰撞试验测控系统界面

数据丢失问题的解决

为了尽可能的提高运算速度,系统采用C++语言与汇编语言混合编程,生成LabVIEW平台上可以调用的DLL文件。通过LabVIEW中Call Library Function子函数调用此DLL文件。

对比试验证明,汇编与C++混合编程可以很大程度上提高程序的执行速度。但是,由于较高的采样频率,缓存区中的数据还是有丢失。由于试验法规并没有要求速度信号的采样频率,只要求保证试验速度的精确度(误差不超过(2%),所以可以通过降低速度信号的采样频率来达到循环和缓存的协调。因为采集卡性能的限制,必须在软件中实现分通道不同频率采集。在LabVIEW中,子函数Decimate 1D Array (数组重组)的功能是把数组均分为N 组,其中第一组为原数组中的第1、N+1、2N+1.个数,第二组为第2、N+2、2N+2.个数。经过反复调试,通过子函数Decimate 1DArray,把采集到的数据进行再重组,即可以达到速度通道降低采样频率的目的。

为了进一步达到提高程序执行效率,更精确实现实时控制的目的,数据在重组、滤波之前进行存储,从而达到减少硬盘读写次数、提高存储速度的目的。试验结束后,再调用数据后处理模块——滤波、频谱分析等,进行试验数据的分析。由于试验的瞬时性,其实时控制的精度要求比较高,因此,在采样频率一定的条件下,缓存的大小与控制精度成反比。理论上应该是缓存越小控制精度越高,但是,试验证明,缓存越小丢失数据的可能性越大,速度的判断计算要求越快。为了达到最佳效果,经过反复调试系统,发现缓存的充满时间为80ms左右时控制的精度符合要求,数据没有丢失。

结 论

利用了虚拟仪器技术,作者在较短的时间内在LabVIEW平台上开发出了汽车碰撞试验的控制与数据采集系统软件,为实验室节约了资金,成功地完成了数据采集与处理等各项任务。开发的汽车碰撞试验系统软件控制界面如图4 所示。本系统开发完成后,已经为国内多家公司进行了整车或零部件碰撞试验研究,经过多次的试验证明,系统可靠性好,控制精度高,数据的采集分析功能较完备,试验过程符合CMVDR294与SAEJ211要求,系统能够实时控制,采集的数据没有丢失。

相关推荐

浅析目前虚拟仪器监测系统的特点及优点

虚拟仪器  监测  2013-12-19

智能仪器仪表发展新趋势:虚拟仪器兴起

仪器仪表  虚拟仪器  2013-08-01

nextboard助力中科大虚拟仪器实验室建设

NI全方位助力哈尔滨工业大学教学和创新实践

NI  虚拟仪器  CompactRIO  PXI  2011-12-12

虚拟仪器在位移测试系统中的应用

Lonworks网络虚拟监测系统研究

虚拟仪器  通信  2011-08-31
在线研讨会
焦点