预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于声卡的虚拟示波器设计1.引言:随着计算机技术和虚拟仪器技术的发展虚拟仪器逐渐成为现代仪器的发展方向其中大部分虚拟仪器都是基于各种数据采集卡的如NI公司的PCI-6221数据采集卡研华公司PCL-1800型数据采集卡ISA型数据采集卡AC1820。在对采样频率要求不高的情况下可以利用计算机的声卡进行数据的输入和输出。声卡是一个非常优秀的音频信号采集系统其数字信号处理包括模数变换器ADC(AnalogueDigitalConverter)和数模变换器DAC(DigitalAnalogueConverter)ADC用于采集音频信号DAC则用于重现这些数字声音。声卡已成为多媒体计算机的一个标准配置因此基于声卡的虚拟仪器具有成本低兼容性好通用性和灵活性强的优点可以不接受硬件限制安装在多台计算机上。本文利用LabVIEW8.2中的数字声音记录节点编程实现了基于声卡的虚拟双踪数字存储示波器采样速率为44.1KHz线路输入端口最高电压限制为1V对高于1V的信号采用比例运算放大电路衰减后输入能适合很多场合的需要。从数据采集的角度来看声卡是一种音频范围内的数据采集卡是计算机与外部的模拟量环境联系的重要途径。2.认识声卡【1】声卡的作用声卡的主要功能包括录制与播放编辑与合成处理MIDI接口3个部分【2】声卡的主要技术参数彩样的位数采样位数可以理解为声卡处理声音的解析度。这个数值越大解析度就越高录制和回放的声音就越真实。声卡的位是指声卡在采集和播放声音文件时所使用的数字声音信号的二进制位数它客观地反映了数字声音信号对输入声音信号的描述的准确程度。采样频率目前声卡的最高采样率是44.1KHz少数达48KHz。对于民用声卡一般将采样频率设为4档分别是44.1KHz22.05KHz11.025KHz和8KHz。22.05KHz只能达到FM广播的音乐品质;44.1KHz是理论上的CD音质界限48KHz则更好一些。对20KHz范围内的音频信号最高的采样频率才48KHz虽然理论上没问题但似乎余量不大。使用声卡比较大的局限性在于它不允许用户在最高采样频率之下随意设定采样频率而只能分4档设定。这样虽然可使制造成本降低但却不便于使用。用户基本上不可能控制整周期采样只能通过信号处理的方法来弥补非整周期采样带来的问题。缓冲区与一般的数据采集卡不同声卡面临的D/A和A/D任务通常都是连续状态的。为了节省CPU资源计算机的CPU并不是在每次声卡D/A或A/D结束后都要响应一次中断而是采用了缓冲区的工作方式。在这用工作方式下声卡的D/AA/D都对某一缓冲区进行操作。以输入声音的A/D变换为例每次转换完毕后声卡控制芯片都将数据存放在缓冲区中待缓冲区满时发出中断给CPUCPU响应中断后一次性将缓冲区内的数据全部读走。计算机总线的数据传输速率非常高读取缓冲区数据所用的时间极短不会影响A/D变换的连续性。缓冲区的工作方式大大降低了CPU响应中断的频率节省了系统的资源。一般声卡使用的缓冲区长度的默认指是8KB。这是由于对处理器来说在保护模式下内存以8KB为单位被分成很多页对内存的任何访问都是按页进行的CPU保证了在读写8KB长度的内存缓冲区时速度足够快并且一般不会被其他外来事件打断。设置8192字节或其整倍数大小的缓冲区可以较好地保证声卡与CPU的协调工作。3.LabVIEW软件简介LabVIEW软件是使用最早最广的虚拟仪器软件开发平台它继承了传统的编程语言中的结构化和模块化特点采用32位编译型图形化编程语言.能完成一般的数学运算和输入输出功能具有专门用于数据采集与仪器控制的库函数和开发工具尤其还带有专业的工具包.LabVIEW软件包给用户提供设计虚拟仪器的工作环境包括前面板和流程图同时还提供丰富的直观的调试工具集开发、调试与运行于一体.这为不熟悉文本式语言编程的设计者在测控领域建立计算机仪器系统提供了一个极为便捷、轻松的图形化设计环境.在国际测控领域LabVIEW普及率已超过了39%。(1)LabVIEW中相关声卡操作函数简介:SIConfig节点用于设置声卡的参数和数字声音格式如缓存区大小、采样速率、采样通道数(单通道或双通道)、样本位数(8bits或16bits)。本文虚拟示波器用双通道采集数据缓存区大小为32768bytes样本位数为16bits。SIStart节点驱动声卡开始采集数据SIRead节点从缓冲区读取数据。根据不同的数字声音格式读取相应数据格式的数组。SIStop节点停止采集数据SIClear节点释放声卡占用的计算机资源从LabVIEW8.0起LabVIEW中增加了许多EXPRESS的函数省去了过去我们采用循环结构采集数据的烦恼其中也有有关声卡采集数据的函数如图:直接双击它就可以在里面