基于声卡的虚拟示波器设计

基于声卡的虚拟示波器设计

1.引言:随着运算机技术和虚拟仪器技术的进展,虚拟仪器逐步成为现代仪器的进展方向,其中大部分虚拟仪器差不多上基于各种数据采集卡的,如NI公司的PCI-6221数据采集卡,研华公司PCL-1800型数据采集卡,ISA型数据采集卡AC1820。在对采样频率要求不高的情形下,能够利用运算机的声卡进行数据的输入和输出。声卡是一个专门优秀的音频信号采集系统,其数字信号处理包括模数变换器ADC(Analogue Digital Converter)和 数模变换器DAC(Digital Analogue Converter),ADC用于采集音频信号,DAC则用于重现这些数字声音。声卡已成为多媒体运算机的一个标准配置,因此基于声卡的虚拟仪器具有成本低,兼容性好,通用性和灵活性强的优点,能够不同意硬件限制,安装在多台运算机上。本文利用LabVIEW8.2中的数字声音记录节点,编程实现了基于声卡的虚拟双踪数字储备示波器,采样速率为44.1KHz,线路输入端口最高电压限制为1V,对高于1V的信号采纳比例运算放大电路衰减后输入,能适合专门多场合的需要。

从数据采集的角度来看,声卡是一种音频范畴内的数据采集卡,是运算机与外部的模拟量环境联系的重要途径。

2.认识声卡 【1】声卡的作用

声卡的要紧功能包括录制与播放,编辑与合成处理MIDI接口3个部分 【2】声卡的要紧技术参数 彩样的位数

采样位数能够懂得为声卡处理声音的解析度。那个数值越大,解析度就越高,录制和回放的声音就越真实。声卡的位是指声卡在采集和播放声音文件时所使用的数字声音信号的二进制位数,它客观地反映了数字声音信号对输入声音信号的描述的准确程度。

采样频率

目前,声卡的最高采样率是44.1KHz,少数达48KHz。关于民用声卡,一样将采样频率设为4档,分别是44.1KHz,22.05 KHz,11.025 KHz和8

KHz。22.05 KHz只能达到FM广播的音乐品质;44.1 KHz是理论上的CD音质界限,48 KHz则更好一些。对20 KHz范畴内的音频信号,最高的采样频率才48 KHz,尽治理论上没咨询题,但看起来余量不大。使用声卡比较大的局限性在于,它不承诺用户在最高采样频率之下随意设定采样频率,而只能分4档设定。如此尽管可使制造成本降低,但却不便于使用。用户差不多上不可能操纵整周期采样,只能通过信号处理的方法来补偿非整周期采样带来的咨询题。

缓冲区

与一样的数据采集卡不同,声卡面临的D/A和A/D任务通常差不多上连续状态的。为了节约CPU资源,运算机的CPU并不是在每次声卡D/A或A/D终止后都要响应一次中断,而是采纳了缓冲区的工作方式。在这用工作方式下,声卡的D/A,A/D都对某一缓冲区进行操作。以输入声音的A/D变换为例,每次转换完毕后,声卡操纵芯片都将数据存放在缓冲区中,待缓冲区满时,发出中断给CPU,CPU响应中断后一次性将缓冲区内的数据全部读走。运算机总线的数据传输速率专门高,读取缓冲区数据所用的时刻极短,可不能阻碍A/D变换的连续性。缓冲区的工作方式大大降低了CPU响应中断的频率,节约了系统的资源。

一样声卡使用的缓冲区长度的默认指是8KB。这是由于对处理器来讲,在爱护模式下,内存以8KB为单位被分成专门多页,对内存的任何访咨询差不多上按页进行的,CPU保证了在读写8KB长度的内存缓冲区时,速度足够快,同时一样可不能被其他外来事件打断。设置8192字节或其整倍数大小的缓冲区,能够较好地保证声卡与CPU的和谐工作。

3.LabVIEW软件简介

LabVIEW 软件是使用最早最广的虚拟仪器软件开发平台, 它继承了传统的编程语言中的结构化和模块化特点, 采纳32 位编译型图形化编程语言.能完成一样的数学运算和输入输出功能, 具有专门用于数据采集与仪器操纵的库函数和开发工具, 专门还带有专业的工具包. LabVIEW 软件包给用户提供设计虚拟仪器的工作环境, 包括前面板和流程图, 同时还提供丰富的直观的调试工具, 集开发、调试与运行于一体. 这为不熟悉文本式语言

编程的设计者在测控领域建立运算机仪器系统提供了一个极为便利、轻松的图形化设计环境. 在国际测控领域LabVIEW 普及率已超过了39%。

(1)LabVIEW中有关声卡操作函数简介:

SI Config节点 用于设置声卡的参数和数字声音格式,如缓存区大小、采样速率、采样通道数(单通道或双通道)、样本位数(8 bits 或16 bits)。本文虚拟示波器用双通道采集数据,缓存区大小为32768bytes,样本位数为16bits。

SI Start节点 驱动声卡开始采集数据

SI Read节点 从缓冲区读取数据。按照不同的数字声音格式,读取相应数据格式的数组。

SI Stop节点 停止采集数据

SI Clear节点 开释声卡占用的运算机资源

从LabVIEW8.0起,LabVIEW中增加了许多EXPRESS的函数,省去了过去我们采纳循环结构采集数据的苦恼,其中也有有关声卡采集数据的函数,如图:

直截了当双击它,就能够在里面配置各种采集数据时的有关参数了,如图:

4.系统设计

(1)因为声卡输入的电压不能超过1V,故需要外加电路将信号将比例缩小,故采纳比例运算电路,在同相和反相两种比例运算电路中,同相比例运算电路只能将电压信号放大,而反相比例运算电路可将电压信号缩小,但反相比例运算电路的输入阻抗较小,不符合示波器的差不多原则,而同相比例运算电路又正好具有高输入阻抗,故采纳两种比例运算电路混合的电路,电路图如下:

U?1K??1K?1??1???????1K??20K?U10??10U0

由公式可得出,输入信号都缩小为原先的1/10进入了声卡的采集,同时信号反相,通过程序中的相应模块,可将信号还原,在LabVIEW中显示出来。

(2)程序设计的前面板如图所示,相应的程序在附件中提供

程序框图的截图:

5.总结

声卡虽能较好地实现示波器的功能,但在实际应用中,它也存在许多缺陷。因为外接了相应的运放电路,因此在实际的测量过程中通过了从信号到电路,从电路再到声卡的过程,与一般的示波器,或是采集卡的示波器相比,中间多了一个环节,也就意味着受到外界干扰的机会也就增大了。我们在对上面的设计进行实际应用的时候也经常显现上一秒与下一秒的波形产生剧变的情形。另外由于声卡自身缺陷,对能测量的信号的范畴和幅度的限制都比较高。在本设计中,比例运算放大电路作为中间级解决了部分波形较小的咨询题。但在信号源的频率测量方面,对兆级的信号源的频率测量时不可能得到正确的结果。当采样频率设为48KHz时,理论上能测量的信号的最高频率为24KHz。但声卡作为运算机的常用硬件,在被测信号的各项参数要求不高的时候仍旧是一个不错的选择。

附图一:在程序中运行时的波形

附图二:用示波器测量的波形:

附图三:比例运算放大电路实物图:

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4