武汉工程大学邮电与信息工程学院毕业设计(论文)
3.2 虚拟示波器总体设计 3.2.1 虚拟示波器的工作原理
模拟信号经同轴电缆进入采集卡的输入通道,经过前置滤波电路、衰减电路、可变增益的放大电路,将信号处理成A/D转换器可以处理的标准电平,经过A/D采样量化转化成计算机可以处理的数字信号并缓存到卡上的存储器。其支持软件通过PC机的PCI总线接口控制模拟通道的阻抗匹配、放大器的增益选择、启动A/D转换及转换结束的识别,并将采集数据以DMA的方式传输到计算机内存,同时对数据信号进行分析处理、显示、存储及打印传输等[9]。
使用LABVIEW构建基于声卡的虚拟示波器的思路是很清晰的。实际的数据采集流程是:
(1) 初始化。对声卡中与数据采集相关的一些硬件参数进行设置;
(2) 声卡开始采集数据,并将采集到的数据暂存在先进先出的缓冲区中;
(3) 当缓冲区存满数据后,一方面将数据读取到用户程序的数组中,产生一个采集数据集合,并在程序中对数据进行各种处理;
(4) 另一方面,得到缓冲区满的消息后,通知声卡暂时停
18
武汉工程大学邮电与信息工程学院毕业设计(论文)
止采集外部数据,并进一步清空缓存里的内容。
虚拟示波器是采用基于计算机的虚拟技术,用以模拟通用示波器的面板操作和处理功能,也就是使用个人计算机及接口电路来采集现场或实验室信号,并通过图形用户界面(GUI)来模仿示波器的操作面板,完成信号采集、调理、分析处理和显示输出等功能。
虚拟示波器,是在数据采集硬件的支持下,配备一定功能的软件,完成波形的存储、分析、显示等功能。一般测试仪器由信号采集、信号处理和结果显示三大部分组成,这三大部分均由硬件构成。虚拟示波器也是由这三大部分组成,但是除了信号采集部分是由硬件实现之外,其它两部分都是由软件实现。
3.2.3 虚拟示波器的工作流程
虚拟示波器的程序流程框图如图3.1所示。
19
武汉工程大学邮电与信息工程学院毕业设计(论文)
初始化 声卡 信号采集 LABVIEW模块 波形显示 参数显示
图3.1虚拟示波器程序流程图
首先对设计中运用到的模块进行初始化,然后通过声卡对数据进行采集,把采集到的信号送入LABVIEW模块中,通过LABVIEW模块的程序运行下,把采集到的信号通过图形的形式,把波形显示出来。通过波形的显示,最后把波形的其他参数以数字的形式都显示出来。
该试验设计的虚拟示波器中,信号的传送,处理,显示是相当清晰的,先是信号发生器产生声卡所能识别的信号(信
20
武汉工程大学邮电与信息工程学院毕业设计(论文)
号的幅值不能超过1.5V,超过1.5V的信号应该先经过前置放大器进行幅值变化)[10]。
虚拟示波器的程序结构图见图3.2所示。
频谱分析 声卡 参数设置 数据采集 参数显示 函数信号 发生器 波形显示 图3.2 程序的结构图
3.3 虚拟示波器软件模块设计 3.3.1 数据采集模块
数据采集模块是虚拟示波器软件的硬件驱动部分,在这里主要是利用LABVIEW里面的声卡函数完成声卡的硬件参数设置、启动声卡采集数据、等待采样数据缓冲区满的消息、通知声卡停止采集等任务。
在该实验设计中,数据采集是利用声卡进行数据采集并进行A/D转换,LabVIEW中,有针对声卡数据采集的函数,如 “Sound Input Configure .VI”、“Sound Input Read .VI”、
21
武汉工程大学邮电与信息工程学院毕业设计(论文)
“ Sound Input Clear .VI”、“Sound Input star .VI”、“Sound Input stop.VI”等。
“Sound Input Configure.VI”: 图标如3.3所示。
图3.3 Sound Input Configure.VI
该函数的主要功能是设置声卡中与数据采集有关的一些硬件参数,如采样率,数据格式,缓冲区长度等。声卡的采样率由内部时钟控制,一般将采样频率设置为44100HZ,数据格式设置为16bit[11]。缓冲区长度可选默认值。
主要操作说明:
在block diagram:Functions → Graphics & Sound → Sound → Input → Configure 选择configure函数。
“Sound Input Configure.VI”前版面如图3.4所示。
22