基于LabVIEW和USB声卡的直流信号采集设计
扫描二维码
随时随地手机看文章
摘要:针对普通声卡无法采集直流信号现状,文中介绍了在虚拟仪器LabVIEW环境下,以CM108音频芯片为核心,结合A/D芯片PCM1801,通过I2S数据格式传输实现直流信号采集的一种方法。
关键词:USB声卡:LahVIEW;直流信号;I2S
作为多媒体计算机的基本硬件——声卡,其A/D转换功能已经成熟,而且被广泛作为数据采集器应用。目前主流声卡采样精度为16位,比普通12位的数据采集卡的采样精度还要高,而且采样频率也达到44.1K,完全满足低频信号的采集需要。USB声卡是近年流行起来的产品,其通过USB接口与计算机连接进行数据的录制或播放,A/D功能与电脑内置声卡相似。用声卡作为数据采集卡,不仅价格低廉,兼容性好、性能稳定、通用性强,软件特别是驱动程序升级方便,而且在LabVIEW软件中有现成的驱动程序,使用起来也十分方便。但是无论是电脑声卡还是USB声卡,都只能接受音频范围(20Hz~20k Hz)内的交流信号,不能对直流信号进行采集。这是声卡代替专用的数据采集卡的瓶颈所在。
鉴于声卡采集的这一局限,本文介绍了在LabVIEW软件环境下,结合USB声卡,通过添加外围电路实现USB声卡采集直流信号的功能,并给出了实验测试结果。
1 硬件组成与设计
该方法的硬件设计结构原理如图1所示。
硬件设计主要包括USB声卡芯片CM108外围电路、A/D芯片PCM1801电路和信号调理电路等三部分构成。直流信号由信号调理电路进入外置的A/D转换器——PCM1801,把模拟信号转变为I2S格式的数字信号,所得数据通过I2S总线传送给声卡,再经USB总线传送到PC机进行处理、显示,从而达到直流信号采集的功能。
1.1 信号调理电路设计
在信号采集过程中,若直接把直流信号输入到PCM1801的模拟通道,会出现直流信号被“湮没”的现象。因为PCM1801的模拟输入端是采用交流耦合输入,要使得直流信号顺利输入,必须去掉隔离电容。但去掉隔离电容,模拟输入端的电平会发生偏移。在与信号源直接相接时,信号电平不再适合此时PCM1801的输入电平范围要求了。因此需要在信号输入PCM1801之前将输入信号电平进行平移,提高到PCM1801的输入电平范围内。本文利用NE5532运算放大器对输入信号进行电平平移操作,并提供瞬态电流隔离功能,其电路图如图2所示。图中的参考电压VREF由PCM1801内部提供,其中NE5532采用±5V电源供电。
1.2 A/D芯片PCM1801电路设计
鉴于CM108内部只有一个ADC,支持单声道录音,其I2S数据输入也只接受单声道的数据,因此本设计采取了单通道采集。CM108内部ADC嵌入了低通数字滤波器,当直流信号经过滤波器后会完全被滤掉。鉴于这一情况,本文调用外部ADC对直流信号进行采集,含有直流信号的数据由I2S总线从外部传送CM108。I2S总线拥有3条数据线进行传输:1条双向数据传输线,1条命令选择线和1条时钟线。对应有3个主要信号:串行时钟SCLK,命令选择信号WS(LRCK)和串行数据SD。为了实现两个不同没备之间的数据传输同步,还增加一个土时钟信号MCLK。
要实现直流信号的采集,ADC的选择是关键本文选用了PCM1801芯片作为外部的ADC。该芯片的采佯频率为48K,采样位数16位,支持I2S格式数据输出。其最大特点就是可以通过硬件设置,关闭内部低通数字滤波器,允许直流信号通过,从而实现直流信号采集的功能,而且该芯片工作电压为+5V,可南电脑USB电源提供,使用方便。设计中PCM1801工作模式设置为从模式,所需要的时钟信号全部由CM108提供,其工作的外部电路如图3所示。
1.3 CM108音频芯片外围电路设计
CM108是高集成度的USB音频芯片,其内部嵌入了USB2.0接口电路,可把音频数据转变为USB数据流传送到PC机中进行相关处理。该芯片支持即插即用,PC机上无需任何驱动,十分方便。而且CM108可以通过硬件设置,关闭其内部的ADC,调用外部的ADC,可使声卡的采集功能得到进一步扩展,这也是本文的设计思路。CM108芯片支持16佗的I2S格式数据输入,工作模式为主模式,能够向外提供I2S数据传输的时钟信号。外部ADC把含有直流信号的模拟信号转变为I2S格式的数字信口,数据冉以I2S的数据格式传输到CM108内部由USB总线传送到PC机进仃处理和显示。这样含有直流信号的数字信号就可以绕过CM108内部的低通数字滤波器而被采集到并传到PC机、CM108芯片电源直接由PC机USB接口+5V电源提供。
2 软件设计
考虑到USB声卡的软件驱动问题,本文选用NI公司LabVIEW软件来编写PC机采集软件。原因在于LabVIEW软件函数库丰富,配有声卡驱动节点,直接调用即可,无需再次编写,而且开发界面简单,图形语言编程,编程十分方便,再加上界面风格与传统仪器相似,人机交互界面直观友好。
鉴于以上情况,本文使用了基于LabVIEW环境下的虚拟示波器作为PC机的采集软件。它主要实现了数据的采集、存储以及实时信号的显示,其操作界面如图4所示,功能按键类似真实示波器,操作方法与其实示波器一样。
3 测试与结果
实验测试所需的信号由DS345信号发生器来产生,利用PC机上的虚拟示波器对输入信号进行记录、显示以及数据的储存。测试时,在DS345上设置波形、频率、幅度等参数。
首先直接输入直流信号,利用改进后的USB声卡对其进行采集,在电脑得到的图像如图5所示。图5(a)是-0.1V的直流电压信号,图5 (b)是+0.1V的直流电压信号。由图可以看到直流电压信号很好地得到了采集,而且图像平直,噪声干扰影响也比较小。图表中每一格代表电压大小为0.1V。
设置Upp—0.2V、f—100 Hz的三角波信号,并在原信号加上0.1V的直流偏置电压,输出混频信号,运行虚拟示波器程序,观察PC机上显示的波形。测试过程中,分别利用原电脑声卡和改进后的USB声卡进行采集,比较所得到两组波形,如图6所示。图6(a)是电脑声卡采集到的波形,可以看到三角波形没发生偏移,因为电脑自身声卡采集不到含有混频三角波信号的直流成分;而图6(b)是改进后USB声卡采集得到的波形,清晰地看到三角波形向上平移了0.1V,说明实现了混频三角波信号的直流成分的采集。
4 结束语
本文设计基于虚拟仪器环境下,采用LabVIEW语言编写PC机的信号采集程序,结合USB声卡芯片CM108,利用I2S总线通过硬件设置扩展了外部ADC——PCM1801,扩展了USB声卡的信号采集功能。改进后的USB声卡与普通声卡相比,采样频率达到了48K,采样精度16位,不仅采样频率和采样精度得到了提高,而且也克服了直流信号被滤掉问题,初步实现了直流信号采集功能。同时本设计结合虚拟仪器的实验平台,安装方便,成本低廉,在采集低频低压信号实验中得到很好的应用。