摘 要: 利用USB数据采集卡作为与计算机通信的接口,介绍了一款采用USB接口实现信号发生器功能的虚拟仪器设计方案, 通过软件和USB数据采集卡性能的结合完成了信号的频率、幅度、相位的高精度调整。
关键词:USB;虚拟;数据采集;信号发生器
虚拟仪器是20世纪90年代初期出现的一种新型仪器,是计算机技术与仪器技术深层次结合产生的产物,是对传统仪器概念的重大突破,代表了当前测试仪器发展的方向之一。现在,部分高校已将虚拟仪器应用于电子信息类实验室建设。虚拟仪器应用于实验室的方案和想法,对实验室建设有很大帮助,同时基于虚拟仪器的测试具有如下优势:
①大大降低测量系统的建设费用、测量仪器个数及占用的实验室空间,使用更为便捷可靠;
②基于虚拟仪器的测试系统集成度高,能够在一次测量过程中获得多组数据;
③测试数据利用软件系统处理实现图形显示,便于实现系统扩展和网络化。 Int32 nDAChannel); // DA通道号(0-9)
2.2 数据信号D/A转换
本设计按一定的采样算法和操作系统内置的USB人机接口设备类HD的驱动程序来与数据采集卡进行通
信,利用C#编程技术设计了一个良好的面向USB总线接口控制设备的人机交互面板,如图3所示,使虚拟信号发生器的应用更加简洁。还可以随时编辑波形数据、完成波形数据的复杂编辑计算任务。通过向PC机外部的数据采集卡发送设置波形类型,波形频率、初始相位、幅值等参数的信息。
图3人机交互面板
数据信号D/A转换原码
switch (OutputRange) // 将原码转换为电压值
{
case USB2833.USB2833_OUTPUT_0_P5000mV: // 0 - +5V
nDAData = Convert.ToInt16(Voltage / (5000.00 / 4096));
break;
case USB2833.USB2833_OUTPUT_0_P10000mV: // 0 - +10V
nDAData = Convert.ToInt16(Voltage / (10000.00 / 4096));
break;
case USB2833.USB2833_OUTPUT_0_P10800mV: // 0 - +10.8V
nDAData = Convert.ToInt16(Voltage / (10800.00 / 4096));
break;
case USB2833.USB2833_OUTPUT_N5000_P5000mV: // -5V - +5V
nDAData = Convert.ToInt16(Voltage / (10000.00 / 4096) + 2048);
break;
case USB2833.USB2833_OUTPUT_N10000_P10000mV: // -10V - +10V
nDAData = Convert.ToInt16(Voltage / (20000.00 / 4096) + 2048);
break;
case USB2833.USB2833_OUTPUT_N10800_P10800mV: // -10.8V - +10.8V
nDAData = Convert.ToInt16(Voltage / (21600.00 / 4096) + 2048);
break;
default:
break;
}
3 结束语
基于USB数据采集卡的信号发生器的软硬件设计及开发,充分体现了USB便捷、热拔插、低成本、高抗干扰等特点。经测试该设备在分辨率,A/D转换速度,D/A转换时间,工作稳定可靠等各项指标所体现出来的虚拟信号发生器参数都能达到了与传统仪器的参数。现在市场上的数据采集卡有一种二合一采集卡,二合一,指的是数字模拟采集卡,AV+DV采集卡,数字、模拟二合一,数字输入输出,模拟接口输入(DV/AV/S-video) 输出。因此采用了数据采集卡组建虚拟仪器的方式,加上一定传感器和用户模式下的应用程序,就可以在同一硬件平台是组建虚拟多种不同虚拟仪器,如虚拟示波器、虚拟万用表、虚拟温度计等。因此这是一种较为理想的组建虚拟仪器的方式。
参考文献:
[1] 殷明,汪立伟.在电子信息类实验课程中使用虚拟仪器的思考[J].南京:电气电子教学学报2008.8
[2] 王中宇,葛尔矣,杨文平,等.一种小样本虚拟仪器测量不确定度评定新方法[J].计量学报,2008,29(4):387-392.
[3]张礼勇,刘思久,虚拟仪器与USB方式的探讨和实践[J].电子测量与仪器,2004,17(2):70-74.
[4] 郑兴凯,李宇成,郑勇.便携式多功能虚拟示波器设计[J]..工业控制计算机,2007.20(2):70-72.
[5] Harrison Lan.Thermal analysis of polymers using virtual instruments[J],Therm chimica Acta,Vo1.367-368M arch8.2001