基于LabVIEW的晶体振荡器测试系统
扫描二维码
随时随地手机看文章
石英晶体振荡器是一种用于稳定频率和选择频率的重要电子元件,也简称为“晶振”。由于石英晶体振荡器具有体积小、重量轻、可靠性高、具有很高的频率稳定性和良好的温度特性,因此被广泛应用于通信、广播、导航、电子对抗及精密测量仪器中。目前,大多数测试人员对晶体振荡器的测量还采用手工测试。无论在初测、老化测试还是终测中,测试人员需要先连接好测试电路,然后将晶体振荡器放入夹具,打开稳压电源并不断地调整示波器显示的波形,在各项指标都满足后开始从频率计中读取数据并手工记录。有时为了得到稳定精确的数据,还要等待一段时间再读数,可见操作步骤十分繁琐,并且容易造成人为误差。为了简化测试工作,提高工作效率及提高测试数据的可靠性,本文介绍的是一种在LabView虚拟仪器平台上开发的晶体振荡器测试系统,该系统可以实现自动协调测量仪器,自动数据采集并处理,自动生成电子表格等功能,具有高度的灵活性、可靠性及可操作性。
1 系统总体概述
该系统是在LabVIEW虚拟仪器平台上开发的晶体振荡器测试系统,它可以测量晶体振荡器的输出频率、高电平、低电平、上升时间和下降时间,可以观测输出波形并计算频率精度。它还可以自动记录数据,具有友好的人机操作界面。
系统将各个测试仪器连接在一起,通过PC端下达指令来操控各个部分协调工作,该系统的工作流程如图1所示。
2 设计方案
该设计由两部分组成,即硬件部分和软件部分。硬件部分主要由具有程控功能的直流稳压电源、示波器、频率计构成,软件部分则为在LabVIEW平台上开发的控制程序及操作界面。下面将对各部分进行详细说明。
2.1 硬件工作原理
该系统利用计算机通过GPIB标准串行接口连接Agilent6054A示波器、Agilent 3031A稳压电源和Pendulum CNT90频率计,控制每个设备工作并从中读取数据。系统硬件连接图如图2所示。
晶体振荡器则放在专用夹具上,这里以表面贴装晶体振荡器为例,夹具引脚图如图3所示,1号引脚为空引脚,作为参考点,2号引脚为接地引脚,3号引脚为输出引脚,连接示波器和频率计,4号引脚为供电引脚,接稳压电源。
2.2 软件设计
本设计的软件部分主要基于NI公司的LabVIEW平台开发的,LabVIEW是通过图形编译(Craphics,G)语言来编写程序的,程序类似流程图,这为编程人员提供了一个直观的编程环境。它可以充分发挥计算机的能力,具有强大的数据处理功能,用户可以根据自己的需要来创造并模拟出各种仪器。
在LabVIEW中,VISA称为虚拟仪器软件体系结构(Virtual Instrument Software Architecture),作为LabVIEW程序中驱动程序间相互通信的底层功能模块,可以连接不同标准的I/O设备,是一个用来在串口通信设备、VXI设备、GPIB设备以及其它基于计算机设备之间通信的函数库。在本次设计中,所选用的三种型号的仪器在LabVIEW中的Instrume nt Drivers选项卡中都可以安装已经开发好的驱动模块,这样就简化了驱动开发的过程。
2.2.1 图形功能界面设计
利用LabVIEW的图形操作界面设计功能,为该系统设计了一个友好的人机操作界面,如图4所示。
1)参数设置部分,其中包括:频率精度判限、重测频率精度判限、电源电压、钳位电流、标称频率。其中频率精度判限用来判断频率精度是否超出范围;电源电压是设置晶体振荡器的供电电压;钳位电流是限制最大电流的参数;标称频率为晶体振荡器的标准频率。
2)路径设置,为数据存储提供存储位置。
3)波形示意图,可读取示波器信号,供测试人员分析波形。
4)输出结果部分,该部分包括:测试频率、最高电平、最低电平、上升时间和下降时间。可扩展其他数据结果。
5)控制部分,该部分包含两个按钮,“测试”和“重测”,还有一个超范围指示灯,用来提醒是否超出范围,由测试人员决定是否进行重测。
6)数据记录窗口。在该窗口中,会横向显示每个晶振的五种测试数据,在第一列会为每次测量的晶振自动编号,重测不计入其中,方便测试人员核对数量。
2.2.2 DC稳压电源控制模块
在该设计中,分别为DC稳压电源、示波器、频率计设计了3个控制模块的子VI,用来单独调用。其中电源控制模块的程序如图5所示。电源模块只需要输入两个参数,分别是“电源输出电压”和“钳位电流”。从程序中可以看到,安装的驱动中已经集成了驱动和设置的模块,例如“HPE363Xa Initialize.vi”,“HPE363Xa close.vi”,“HPE363 1a getting started.vi”等,这些模块可以在程序中直接调用,只需设置所需的参数即可。如果模块中没有预留所需功能的连线端,只需重新引出即可,极大地简化了开发的过程,其他设备的编程也类似。
2.2.3 示波器控制模块
示波器控制部分的程序如图6所示。这里调用的模块主要有:“ag6000a Initialize.vi”,用于初始化设备的各种参数;“ag6000a Autosetup.vi”,用于将示波器设置为自动读取模式;“ag6000a Read Single Waveform.vi”,用于读取示波器采集到的波形;“ag6000a Read Waveform Measurement.vi”,用于读取波形中所包含的数据。该部分主要功能是控制示波器输出“最高电平”、“最低电平”、“上升时间”和“下降时间”4种参数并读取示波器的波形。在这里也设置了超时参数,如果5秒内没有控制信号传输进来,程序将由于超时自动终止。
2.2.4 频率计控制模块
频率计控制部分的程序设置如图7所示。图中用到的模块的功能与上一部分类似,其中“pecnt90 Configure Measurement.vi”,模块可以设置仪器测量时的各种参数,在测试类型一项应该选择“频率(Frequency)”,该模块也可修改采样时间等参数。该部分的主要功能是控制频率计采集晶体振荡器的频率并将其输出。同样地,这里也设置了5秒超时功能。
由于系统在为晶体振荡器加电时,电压瞬间达到设定值,为了避免瞬间电压不稳定对测试结果造成影响,特别在这里添加了延时1秒读数的设计,使系统在晶体振荡器稳定工作后,才开始读数。延时部分程序如图8所示。
3 实际测试与数据分析
为了验证系统测试的可靠性,进行了大量的实际测试。通过实际测试,对系统做出了诸多改进。该系统具有如下优点:
1)速度快
在实际测试中,我们对比了手动测试和系统自动测试所花费的时间。正常情况下,手动测试1个晶体振荡器平均需要1分钟,在进行批量测试时,必然会耗费大量时间和精力。而使用该系统进行测试,平均测试一个晶体振荡器的时间为5秒,节省了90%的时间,这是因为自动测试节省了人工观察、记录示波器数据和等待频率计读数稳定的时间,也节省了计算数据的时间。
2)精度高
人工测试时,由于测试频率一直在细微地变化,导致测试人员在记录数据时晶体振荡器的各项数据已经发生变化,这就使得各项测试结果不匹配,导致计算时产生误差。而该系统由于使用计算机控制,各个设备协调工作,处理速度非常快,读数准确,不会出现上述情况,这就大大提升了测试的精度。此外该系统计算的数据精确度非常高,读数精确到小数点后六位,实际测试中,例如计算频率精度,计算公式为:
计算结果的单位为ppm,由公式可知:该计算结果精确到百万分之一。在手工测试的条件下,例如一种精度要求在1 ppm以内的晶体振荡器,通常计算结果为20 ppm以上,计算准确性非常低,而该系统计算结果全部在要求范围内。测试结果如表1所示。
3)可靠性强
为了检验可靠性,我们特别对同一批晶体振荡器进行了10次测试,每次测试间隔10分钟以上,实验结果表明,每次试验结果的偏差都不超过0.00001%。此外,使用该系统连续测试200个已检验合格的晶体振荡器,并保持系统持续工作5小时,没有发现任何异常,可见该系统的可靠性非常强。
4 结束语
晶体振荡器的测试技术在电子工业领域是非常实用的。传统的手工测试、人工记录已经满足不了更高的生产效率。该系统可以很好地解决这一问题,并具备高精度、高速度等特点,可以满足正常的测量需求,达到了自动化测试的目的。该系统也具备一定的扩展性,例如可以连接多个测试通道,让系统自动切换通道进行测试等。本文对其他自动化测试系统的开发也具有一定参考价值。