基于GPIB接口的时钟测试仪内部晶振频率自动测试系统
2012-07-17浙江省计量科学研究院
/ 浙江省计量科学研究院
0 引言
在电能表生产领域,计时的准确性非常重要,因为计时性能涉及用电计量的准确性,关系到千家万户的切身利益,因此在电能表生产过程中确保计时性能符合国家标准意义重大。时钟测试仪作为电能表时间准确性的测试仪器,其计量性能好坏对使用企业所生产的电能表计时性能具有重要影响,因此电能表生产企业每年都有大量时钟测试仪送检。时钟测试仪计量具有测试时间长、数据多、台件数多等特点,如果采用手工测量,需要对不同时钟测试仪进行手工切换,并且每隔1 h需要进行人工读数,工作效率比较低,需要人员长时间守候,因此采用自动测量可以克服这些缺点,减少人工干预和工作强度,大大提高测量效率。
1 时钟测试仪
时钟测试仪以内部石英晶体振荡器作为时间基准,能够显示日差、周期及频率,它由波形整形电路、分频电路、电子控制电路、显示电路等组成,主要应用于电能表频率及秒脉冲信号的测量等[1]。
2 自动测试系统硬件平台
根据JJF(浙)1011-2007《时钟测试仪》,需要测量内部晶振频率变化特性、内部晶振频率准确度、瞬时日差测量误差和频率测量准确度等指标。其中瞬时日差测量误差和频率测量准确度两项指标只需在规定预热时间后对时钟测试仪进行读数即可,加上时钟测试仪不带通信接口,因此本系统只对内部晶振频率的频率变化特性和准确度两个指标进行测量。根据规范需要,配置铷原子频率标准(型号MRT-H-101)、通用计数器(型号CNT-91)等标准器。由于需要对多台时钟测试仪同时进行测量,需要配置电子切换开关,本系统采用安捷伦公司的型号为3499A的开关控制系统,它配备有GPIB(General-Purpose Interface Bus, 通用接口总线)接口,可以进行编程控制,并同时对多台设备进行选通切换。
系统框图如图1所示,将需要进行计量的n个时钟测试仪分别接入到开关控制系统的n个输入口,开关控制系统的输出口与通用计数器连接,铷原子频率标准的10 MHz输出接至通用计数器外参考频标输入口,计算机通过GPIB接口卡与通用计数器和开关控制系统连接。测量过程中,计算机控制开关控制系统对多路输入的时钟测试仪信号进行切换,在同一时间内只有一路时钟测试仪信号通过开关控制系统输入到通用计数器。同时,计算机通过GPIB接口卡控制通用计数器工作状态,并读取测量数据以供后期处理。
图1 系统框图
3 自动测试系统
整个系统由硬件平台和软件系统构成。硬件平台如图1所示,由计量标准设备、GPIB接口卡、GPIB电缆和计算机组成。软件系统以硬件平台为基础,采用Visual Basic 6.0进行设计开发,通过GPIB接口对仪器进行控制并完成自动测量功能。
软件系统主要分为仪器控制、数据采集、数据处理和输入输出等部分。
3.1 仪器控制
选定合适指令集来实现对设备的控制。GPIB转换卡选择安捷伦公司的GPIB转USB卡,型号为82357A,使用该卡配套的Agilent IO Libraries作为通信接口。该库带有三种指令集,分别是SICL、VISA和 VISA COM。经过实验,三种指令集对最近几年新出的设备支持较好,VISA和 VISA COM 对旧型号的设备存在兼容性问题,出现一些指令不支持的情况。SICL对旧型号设备兼容性较好,未出现指令不兼容情况,选用SICL指令集作为该系统的控制指令集。
3.2 数据采集
JJF(浙)1011-2007规定进行内部晶振频率变化特性测量时,需要在预热完成后每隔1 h进行测量,共测量8次,每次取3次测量结果的平均值,因此计算机每隔8 h需要对开关控制器进行操作。 首 先 应 用“Call iwrite(3499A,"OPEN (@000)"+Chr$(10),11,1,0&)”指令[2,3]对通道0进行开启。开启过程具有延时,因此不能马上进行数据读取,需要在程序中插入延时指令,这里采用编写延时子程序timedelay实现延时1 s后读取数据功能。当通道0所在时钟测试仪被接入通用计数器后,计算机通过命令设置通用计数器测量模式、取样时间等工作参数,设置完毕后应用“Call iwrite (CNT91,":MEAS:FREQ?"+Chr$(10),11,1,0&)”指令进行频率测量读数采集,根据规范采集三组数据进行平均计算,采集完毕后,应用“Call iwrite(3499A,"CLOSE (@000)"+Ch r$(10),11,1,0&)”指令关闭通道0,同时开启通道1进行数据采集,步骤同前。依次对所有通道进行数据采集并存储数据供后续处理。在8 h时间段内,每隔1 h重复一次上述步骤,每个通道的时钟测试仪可以得到8组数据。
依据校准规范,被校准时钟测试仪在达到预热后,用通用计数器直接测量频率值,得到内部晶振频率准确度。计算机程序可利用内部晶振频率变化特性测量的空隙时间进行测量,利用“Call iwrite(3499A,"OPEN (@000)"+Chr$(10),11,1,0&)”指令分别开启各个通道,每个通道各测量10次,应用“Call iwrite(CNT91,":MEAS:FREQ?"+Chr$(10),11,1,0&)”指令进行数据采集并存储。
3.3 数据处理
在用程序对通用计数器进行频率测量读数采集后,返回程序数据格式为字符型,形如“+9.99984523373E+04”,需要进行转换为可用的长实数格式。在程序中采用移位函数Left、取字符函数Mid、字符串转换函数Val和四舍五入函数round将字符型转换为长实数,并根据需要取有效位数,形如“99998.452”。数据转换后按照规范的公式计算内部晶振频率变化特性和准确度。
3.4 输出实现
为保证数据输出准确有效,采用Visual Basic OLE Automation和Microsoft Word Visual Basic,使用指令方式实现对WORD格式原始记录调用并将测量结果写入原始记录,校准完毕后生成WORD格式原始记录。采用该方法避免使用录制宏方式导致的代码冗长效率低的弊端。程序在测量过程中将测量结果实时写入WORD格式原始记录并实时显示。通过这种方式,使用户非常方便监视系统运行状况和测量数据。
4 性能分析
为验证和分析时钟测试仪自动测试系统性能,对人工和自动两种方式进行比较。在相同预热时间和环境条件下,同一台时钟测试仪分别进行自动方式和人工方式测量,结果如表1,频率变化特性差异1.0×10-9,小于评定的测量结果相对扩展不确定度 2.0×10-8。
表1 两种方法内部晶振频率变化特性比较
5 结语
本文提出了基于GPIB接口的时钟测试仪内部晶振频率自动测试系统实现方案,充分利用系统资源和指令集,对程序进行数据采集、数据处理和输出方面的优化,使时钟测试仪测量效率大幅度提高。
[1]浙江省质量技术监督局.JJF(浙)1011-2007[S].杭州:浙江省质量技术监督局,2007.
[2]Agilent Inc.Agilent SICL User's Guide[M/OL].http: //cp.literature.agilent.com/litweb/pdf/E2094-91001.pdf, 2003-04.
[3]Agilent Inc.3499A/B/C Switch/Control System User's Manual English Version [M/OL].http://cp.literature.agilent.com/litweb/pdf/03499-90017.pdf, 2009-03.