基于USB的虚拟示波器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第20卷第11期 武汉科技学院学报Vol.20 No.11 2007年11月 JOURNAL OF WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING Nov. 2007 基于USB的虚拟示波器的设计
马双宝
(武汉科技学院电子信息工程学院,湖北武汉430073)
摘要:本文在介绍虚拟仪器的基础上提出了一种基于USB的高速虚拟数字式存储示波器的设计思路,
并着重对虚拟示波器的软件设计流程图以及部分程序源代码进行了分析与设计,最后总结了虚拟示波
器的性能指标。该虚拟示波器具有功能强大,操作简单、高速数据采集等优点。
关键词:USB;虚拟示波器;LabView 8.2;高速
中图分类号:TP273 文献标识码:A 文章编号:1009-5160(2007)-0033-03
常规仪器是由各种功能硬件组合而成,仪器的功能由厂家定义,越来越难满足现代测试技术的需要[1]。虚拟仪器提出“软件即仪器”的新理念,一块数据采集卡加上相应的软件即可实现仪器的功能,仪器的功能由软件来定义。虚拟仪器实质是将传统仪器硬件与最新计算机软件技术结合起来,以实现并扩展传统仪器的功能,它在智能化程度、处理能力、性价比等方面均比传统仪器具有优势。
示波器的使用越来越广泛,有必要设计高速的性价比高的示波器,本文设计一款基于USB的高速数字式虚拟存储示波器,USB串行通信接口使其具有高速的数据传输速率、热插拔等优点。
1 虚拟示波器整体设计
图1 虚拟示波器的整体设计框图
图1是虚拟示波器的整体设计框图,虚拟示波器整体分为硬件和软件两大部分。硬件部分包括信号输入单元、信号调理和保护电路、12位模数转换器AD7892、USB控制芯片CY7C68013以及电源部分,其实质是一块USB数据采集卡;软件部分包括驱动程序和实现虚拟示波器功能的用户软件。硬件和软件相互结合,构成一个整体。
系统工作过程:虚拟示波器有2个输入通道,输入的信号根据需要进行信号调理,对输入的信号进行放大或者衰减,倍数为0.1倍,1倍,10倍,100倍之间进行选择,同时在调理电路中还带有保护电路;调理电路的输出信号通过12位的模数转换器AD7892进行采样,USB控制器 CY7C68013通过可编程IO口(GPIF)将模数转换的结果送到内部的端口2中,在控制器的固件程序中以批量传输模式将采集结果经过USB串行总线送至PC机的内存中;在PC机中驱动程序为虚拟示波器用户软件对数据采集卡的操作提供了一个句柄,同时提供了数据采集卡的读、写、控制等操作的驱动函数;在虚拟示波器用户软件中通过调用相应的驱动函数来对数据采集卡进行操作,采集数据,在用户软件中对数据进行分析、处理、显示等操作,实现示波器的所有功能。
收稿日期:2007-09-18
作者简介:马双宝(1979-),男,助教,研究方向:智能仪器.
武汉科技学院学报 2007年
342 虚拟示波器软件设计
虚拟示波器的硬件部分实现信号的采集传输,软件部分实现示波器的所有功能,体现了虚拟示波器的“软件即仪器”的理念。系统中的虚拟示波器软件采用LabView8.2集成开发环境作为平台,LabView8.2是一种图形化的语言和开发环境 ,它被公认为是标准的数据采集控制软件,包括三个部分:程序前面板、框图程序以及图标/连接端口,是专门用来设计虚拟仪器的集成开发环境[2]。
2.1虚拟示波器的软件设计思想
虚拟示波器的所有功能都由软件来定义,因此具有很大灵活性,图2为虚拟示波器软件设计的流程图。驱动程序将硬件部分采集的数据暂存在内存中,在虚拟示波器软件中对数据再次进行高分辨率的采集,同时进行数据插补以提高虚拟采样频率,所谓数据插补是在原来采样点之间进行增加数据采集的点数,从而提高信号的采样频率,提高信号的分辨率。该采样频率为信号的虚拟采样频率,可以在前面板中进行设置。
在连续对信号进行采样后,虚拟示波器对信号进行测量,信号测量部分包括波形的动态显示、信号的触发控制、信号滤波、信号的电压、频率等各种参数的测量、信号的相位分析、信号的频谱分析以及信号的功率谱分析,同时示波器还带有一个信号可选择,频率、幅值可调的信号发生器。采样的数据可以存放在文件中,当连续信号采集停止后可对文件中的波形数据进行回放,即实现示波器的存储功能。
图2 虚拟示波器的软件流程图
图3 虚拟示波器的前面板
2.2虚拟示波器的前面板
虚拟示波器的前面板如图3,图中为示波器的功能,正在对一个通道的信号进行实时采集,显示的是一个幅值为1V 、频率为100Hz 的正弦波形图。图中的设置为零电平触发,通过调节水平档位、垂直档位可以改变波形的扫描时间和电压范围,水平档位调节时间,垂直档位调节信号的幅值,垂直位移调节信号在垂直轴上的位移。信号测量模块有电压量测量、相位测量以及功率测量三个子界面,分别对信号进行分析和处理。电压测量部分包括最大值、最小值、峰-峰值、过冲、占空比等电压参数的测量;相位测量部分包括FFT 变换、频谱分析、相位分析等。“读盘”和“写盘”实现波形的回放和存储功能。
2.3 虚拟示波器的部分源代码分析
触发控制是示波器中一个比较设计模块,也是一个比较难理解的模块[3]。示波器要保证扫描信号与被测信号同步,就必须进行触发控制,根据设置的触发条件,在被测信号寻找满足触发条件的时刻,只有当被测信号
第11期 马双宝:基于USB 的虚拟示波器的设计
35满足这些条件时才启动扫描,这样扫面信号与被测信
号才能同步。在程序设计中将被测信号不断地与这些
条件相比较,一旦有满足条件的时刻即开始扫描信
号,波形开始显示。
该虚拟示波器中的触发控制模块程序代码如图
4,WAVE IN 是波形数据的输入,经过一个IF 语句
判断是否触发,为真时进行触发,同时设置触发通
道,在前面板中进行选择,触发条件通过电平和极
性来设置,将信号通过slope 子模块不断与触发电
压进行比较,一旦满足触发条件,即将采集的信号
进行输出,WAVE1 out 输出触发后的信号。 3 小结
基于USB 的虚拟数字式存储示波器功能强大,能够实现传统示波器的所有功能,表1为该虚拟示波器的性能指标。
表1虚拟示波器的性能指标
数据采集
硬件采集分辨率为16bit ,虚拟采样频率高达1GHz 。 采样通道
左通道,右通道,左通道&右通道。 电压参数测量
交流有效值,直流分量,峰-峰值,最大值,最小值等。 时间/频率参数测量
频率,周期,正宽度,负宽度,上升时间,下降时间,占空比等。 信号分析
频谱分析,相位分析,功率谱分析,滤波分析等。 波形存储
以文件的形式存储,回放完整的波形。 波形触发控制
控制和改变信号是否触发,触发电平的大小和极性。 时基幅值控制
控制和改变信号的水平和垂直档位。 信号发生器
类型、频率、幅值可调的信号。
虚拟示波器还具有用户界面操作简单,性价比高,功能升级周期短、参数测量精度高等优点。在实际的学习和科研中能够替代传统的示波器,具有很广泛的应用前景。 参考文献:
[1] 杨乐平.虚拟仪器技术概论[M].北京:电子工业出版社,2003.
[2] 梁海泉.基于虚拟仪器平台的多通道示波器设计[J] .自动化仪表,2007,(2).
[3] 邓炎,王磊.LabVIEW7.1测试技术与仪器应用[M].北京:机械工业出版社,2004.
图4 触发控制程序