基于LabVIEW的恒温晶振自动测试系统*
2021-10-09马帅帅邓嘉辉肖苗苗
马帅帅 邓嘉辉 雷 洁 肖苗苗
(航天科工防御技术研究试验中心 北京 100854)
1 引言
恒温晶振通过温控电路对器件内部的温度进行控制,从而让其内部石英谐振器的频率温度系数最小,以实现较高的频率稳定度,恒温晶振是目前频率稳定度和精确度最高的晶体振荡器。在对恒温晶振的性能进行评判时,频率稳定度指标是最重要的考量指标[1],对它的测试要在变温的条件下进行[2],因此针对恒温晶振的测试解决方案必然是一套基于温箱、矩阵开关、测试仪表、电源等设备的集成方案[3]。
随着计算机技术的进步,数字化仪器、智能化仪器也得到快速发展。在工程上越来越多的仪器希望与计算机连接并组成智能控制系统,以面对设备种类多、独立性高、操作复杂的窘境[4~5]。Lab-VIEW作为一种图形化编程语言,支持Windows系统,并借助于强大的VISA架构,向上/向下都展现出了良好的兼容性,方便工程师快捷地部署解决方案,目前已成为工业控制领域一门重要的编程语言[6~7]。
2 需求分析
本系统是基于试验室现有设备进行的数字化改造项目,在进行需求分析之前,先对现有设备进行了梳理,设备清单如表1所示。
表1 试验室现有设备清单
如上表所示,恒温晶振测试系统是基于Lab-VIEW语言,以矩阵开关和继电器作为控制装置,通过温箱、电源、频率计的程控指令,实现恒温晶振的自动测试。
对于频率稳定性的测试,恒温晶振一般有如下的测试要求:测量单个晶振某个温度下的频率时,当温箱的温度达到目标温度时,还要对器件加电一段固定的时间,再进行测试,依次类推完成M个温度点下的频率测试。在测试频率稳定性之余,还要测试器件的工作电流。
3 系统结构设计
从表1中可看出,恒温晶振测试系统的硬件平台包含6种设备,通讯接口有3大类,基于试验室现有条件搭建了如下的硬件平台。
图1 系统硬件平台
如上图所示,计算机在整个系统中作为上位机,通过USB-GPIB-HS+、USB转串口线、网线与仪器设备进行通信,矩阵开关等仪器设备作为下位机,以LabVIEW软件为上位机软件平台,基于它开发测试程序实现各个设备仪器之间的协同工作。
对于系统的软件结构设计,具体的软件流程图如图2所示。
图2 软件流程图
从图中可看出,软件的工作流程可以分解为以下步骤。
Step1:程序启动,设备自检,为变量m、n赋初值,分别为1、1,同时将其传递到下一步;
Step2:执行顺序结构,进入while循环1,执行其中的顺序结构,在其中嵌套了第二个while循环监控温箱内部温度,当温度达到第m个温度点时,事件结构进行响应,控制程控电源和继电器对N个器件同时加电一段固定时间;
Step3:继续执行顺序结构,进入while循环2,依次对矩阵开关的16个射频通道进行切换,同时控制频率计对每通道上器件的频率进行测试和采集;
Step4:继续执行顺序结构,进入while循环3,控制继电器,每次只对一只晶振加电,测试和采集电源端的输出电流,即为该晶振的工作电流;
Step5:对变量m进行加1操作,再次进入while循环1,重复上述步骤2~4,直至循环M次,保存数据,跳出循环,程序结束。
4 软件开发
4.1 温箱控制
系统中温箱仅支持UDP协议,温箱厂家非VXI联盟厂家,程控命令为非典型SCPI命令集,不支持VISA函数,需采用UDP函数进行封装。LabVIEW中支持基于UDP协议的仪器控制函数[8],如图3所示。
图3 UDP函数界面
4.2 继电器控制
系统中使用USB 6525作为继电器,在NI-MAX中创建数字任务,将其接入电源电路,在LabVIEW中进行调用即可,便捷高效。
4.3 射频程控开关等设备
系统中用到的射频程控开关、电源、频率计及电源均支持GPIB(IEE488.2)接口,具体连接方式如图4所示。
图4 多个GPIB接口连接示意图
其中射频开关的使厂家并未提供驱动程序,需使用VISA函数将其控制指令封装成子VI[9]。基于LabVIEW的软件系统框架如图5所示。
图5 系统框架图
从低层到顶层包括三部分:VISA库、仪器驱动程序、应用软件。VISA(Virtual Instrumentation Software Architecture)库是标准的I/O函数库及其相关规范的总称,一般称这个I/O函数库为VISA库[10~11]。VISA架构是VXI标准的核心架构,联通了应用层和物理层,简化了仪器控制的工作。VISA功能函数库是与仪器接口种类、编程语信及操作系统无关的I/O控制函数库,并且其应用程序很容易从一种开发平台移植到另一种平台。仪器驱动程序封装了计算机与仪器通信的硬件底层编程细节,为用户提供了容易理解的接口。每个仪器模块都有自己的仪器驱动程序,仪器厂商将其以源代码的形式提供给用户,可互换的虚拟仪器(IVI)驱动程序是更为复杂的仪器驱动程序[12~13]。
4.4 数据报表生成
LabVIEW中实现报表生成的方法主要有三种,分别NI公司的报表生成工具包、File I/O类函数以及专门的表格处理软件[9]。报表生成工具包因实现简单成为优先选择,用Excel预先编制好符合标准的报表,用LabVIEW完成测量、检定和数据处理等任务,把最终得到的数据、结论等,利用Lab-VIEW的程序间通信功能,传递到Excel上,并且把各项数据分别写入表格中预先规定好的位置,使数据得以保存。
4.5 主程序开发
基于模块化编程的理念,本系统中各个功能部分尽可能地切割成了一个个子模块,在降低代码量的同时又便于后期的维护。本系统基于硬件和功能两方面的考量,将系统分为主程序模块、矩阵开关模块、频率计模块、电源模块、继电器模块、频率计模块、温箱控制模块、报表生成模块等8个部分,在主程序模块中可以对其他模块的代码进行调用,开发起来十分方便,最终的程序主界面如图6所示。
图6 程序主界面
5 结语
软件化测试早已成为测试行业的主流方式,不仅可以提高效率也可以提升测试质量,在本项目中体现十分充分,同时LabVIEW软件以其跨平台的兼容性、仪器驱动的丰富性在系统集成领域使用十分广泛[14~15]。本文基于LabVIEW的恒温晶振测试系统,将原本繁杂的测试工作变得简单,大幅降低了工作人员的时间成本,将工作效率成倍提升。