基于虚拟仪器技术的模拟信号发生器简化设计
2013-08-06曾荣白巍于杰王成
曾 荣 白 巍 于 杰 王 成
(中国华阴兵器试验中心,陕西 华阴 714200)
1.引言
测试准备和设备调试时一般要使用信号发生器进行模拟测试,同时以此检测设备状态,因此采用与实测信号一致的信号进行系统验证无疑是最理想的。传统的信号发生器大多依靠硬件实现信号发生,价格在数千到数万元不等。而在动态测试领域,由于测试对象、测试参数的千差万别,仅仅依靠传统的信号发生器对所有设备进行检测实现起来难度较大,并且一般的信号发生器只有正弦、余弦等函数信号,不能产生我们期望的各种特殊要求的信号,无法完全满足我们的使用要求。因此,可以考虑采用虚拟仪器技术并利用已有的硬件设计满足实际需求的信号发生器。
2.技术实现
虚拟仪器技术的特色即在于使用基本的硬件设备,通过灵活的软件编程,来实现多种需求,尤其是特殊需求的仪器功能。在虚拟仪器的数据采集设备上,除了标准的信号输入端口外,一般都具有模拟信号输出的端口。因此,利用这些输出端口,在不增加硬件成本的前提下,利用程序将以往的测试数据通过计算机的控制,“虚拟”出实测的模拟信号并由模出端口输出,再由相应的测试设备采集,可以检验整套系统。
这种方法既充分利用了硬件设备,节约了经费,又最大限度地发挥了软件是核心的特点。
2.1 原理框图
图1 原理框图
信号发生器软件通过控制计算机的PCI总线,向NI6070数据采集卡发出指令,控制板上的DAC电路将计算机输出的数字信号转换为模拟信号,并由两路模拟输出口输出,可以产生两路独立的输出信号,经BNC-2090输出信号,可以连接任何BNC接口的模拟输入端。既可产生标准函数波形(如正弦波、三角波、方波、锯齿波等),又可产生用户定义的波形。
图2 软件界面
2.2 硬件组成
A:NI6070数据采集卡
输入参数:16-ch SE/8-ch DI模入,12-bit精度,最高1.25MS/s采样率,各路增益和输入范围可单独设定;输出参数:2-ch、12-bit、1MS/s更新率模出。
B:BNC-2090多功能连接器用于将各种由BNC端口的输入转换到NI6070数据采集卡的输入端,或将NI6070数据采集卡的模拟输出转换到BNC端口。
C:SH-6868电缆:连接NI6070数据采集卡(输入输出端口为双排68针插座)与BNC-2090(BNC接口与双排68针插座相互转换)。
2.3 软件设计
软件在图形化编程软件LabView的平台上完成,由主程序和功能子程序组成,分为以下几个模块:
A:硬件设置:设置仪器地址、输出信号的刷新率、缓冲长度等,一般使用软件的默认设置;
B:信号选择:选择标准函数信号或是测试数据信号作为输出信号;函数信号:包括正弦波。余弦波、三角波、方波、锯齿波,并可以设置信号幅度、信号频率、信号点数、直流偏置和相位等;数据信号:选择需要的数据作为源数据;
C:输出方式:选择单次或是连续输出;
D:输出控制:控制输出通道的开关、信号的输出、信号的清除等。
主要功能有:可产生最高更新率1MS/s;可产生多种标准函数的波形;可根据实测数据产生相应的波形;可同时产生双通道波形;可单次或连续产生波形;
需要说明的是,由于数据采集卡输入输出信号的标准范围为±10V,而DAC转换数据信号是按照实际的数据进行的(如数据中的最大值是1000,则其转换后的数据波形仍然是1000),如果完全按照这样进行,在软件的显示是正常的,但是在输出端却因为信号过载而得不到正确的数据。因此,需要将数据在进入DAC之前进行相应的衰减,使其符合输入输出的要求,并且能够正确反映源数据。同时在数据采集端,也要对放大器等进行相应的参数设置,使采集的数据正确地转换为相应的数据。
3.应用实例
我们分别采用模拟信号发生器的函数信号和某火炮膛压曲线的实测数据作为数据源,使用模拟信号发生器软件控制并由模拟输出端将其输出,并使用不同的测试系统进行数据采集进行验证。测试系统分别是专用火炮膛压测试系统和我们使用LabVIEW语言编制的一个数据采集系统,数据采集部分使用的是NI6070采集卡。采集的数据分别有不使用电荷放大器(采集电压信号)和使用电荷放大器(采集电荷信号,相当于实测模拟)的数据,将所得数据与实测数据的波形进行比较,得出了非常满意的结果。
图3 某火炮的实测膛压曲线
图4 由实测数据模拟输出的膛压曲线
图5 专用火炮膛压测试系统测试的模拟数据
图6 新编制的测试系统测试的模拟数据
由以上数据可以看出,计算机“虚拟”出的模拟信号与实际的测试信号是一致的,既验证了信号发生器设计的正确性,同时也验证了新设计的采集系统的可靠性。
4.结束语
采用虚拟仪器技术设计的信号发生器不仅具有一般的信号发生器的功能,更具有其所不具备的能力,在不增加成本的情况下,不失为一种有效的方法。况且,即便是有了类似的基于虚拟仪器设备,仍然只具有一般的函数信号功能,如果需要进行实测信号的模拟测试,也可以使用本文的方法。
[1]L ab V I EW D ata A c q uisition B asics M anual[M].N ational I nstruments,2010.
[2]刘思久,张礼勇.自动测试系统与虚拟仪器原理·开发·应用[M].北京:电子工业出版社,2009.
[3]李武晋.基于L abwindows/C V I的多路模拟信号发生器设计[J].仪器仪表与分析监测,2008(2):47-48.
[4]邓芳芳.P X I模拟信号输入/输出模块[D].成都:电子科技大学,2012.
[5]王磊,房健,金伟剑.基于L abwindows的模拟和数字信号测试系统设计[J].科技创新导报,2012(25):30-31.