1.要求仪器具有单次触发存储显示方式; 2.要求仪器的输入阻抗大于100kΩ,垂直分辨率为32级/div,水平分辨率为20点/div;设示波器显示屏水平刻度为10div,垂直刻度为8div; 3.要求设置0.2s/div、0.2ms/div、20μs/div三档扫描速度,仪器的频率范围为DC~... 1.要求仪器具有单次触发存储显示方式;
2.要求仪器的输入阻抗大于100kΩ,垂直分辨率为32级/div,水平分辨率为20点/div;设示波器显示屏水平刻度为10div,垂直刻度为8div;
3.要求设置0.2s/div、0.2ms/div、20μs/div三档扫描速度,仪器的频率范围为DC~50kHz,误差≤5%;
4.要求设置0.1V/div、1V/div二档垂直灵敏度,误差≤5%
一、硬件设计
基于GPIB的数字示波器自动检定系统的硬件由GPIB控制器、FLUKE5500A、被检定数字示波器和PC机以及打印机等外围设备组成。
控制器
GPIB是惠普公司于20世纪60年代末、70年代初开发的实用仪器接口系统。由于对测试仪器的控制很方便,并且具有较高的传输速度(1Mbps),GPIB于1975年被定为IEEE488标准,1987年修定为IEEE488.1—1987。GPIB总线是数字化的24脚并行总线,有8根线是地线和屏蔽线,另外16根线是TTL电平信号传输线,包括8根数据线、5根接口管理线和3根数据传输控制线。GPIB使用8位并行、字节串行、异步通讯方式,所有字节通过总线顺序传送。
GPIB系统设备有控者、讲者和听者三种属性。实际设备具有其中的一种、两种或三种。作为控者,它可以通过寻址指定
连接到总线上具有讲者属性的器件成为讲者和具有听者属性的器件作为听者,包括指定它自己。讲者能通过总线向其他器件发送数据。听者能从总线上接收讲者发送
的数据。一般来说在GPIB系统中计算机是控者,具有讲、听、控三种属性。为避免总线冲突,IEEE488规定一次只能有一个讲者,但可以同时有几个听
者。由于GPIB系统中各器件的工作速度可能相差悬殊,为了保证多线消息能够双向、异步、可靠地传输,GPIB母线中设置了三条握手线,分别为数据有效
线、未准备好接收线和未收到数据线。
在本系统中采用的GPIB控制器是贝卡科
技公司开发的BC-1401-2型USB-GPIB接口控制器,它带有USB接口,把USB总线转换成GPIB总线,操作GPIB仪器。其特点是:完全符
合IEEE488.1和IEEE488.2国际标准,支持PCI、USB、Ethernet工业标准;数据传输率为900kbps,适合PC机与仪器之间
的高速数据传输;提供了一套I/O GPIB操作函数库,其函数与ISA总线的ES1400系列接口控制器相同;提供了一套符合VPP规范的虚拟仪器软件架构VISA(Virtual Instrument Software Architecture)函数库,实现了凡是采用VISA函数开发的应用程序,在更换不同厂家的不同型号的GPIB接口控制器时,应用程序不需要作任何修改;该接口控制器可以用C/C++、VC++、VB、LabView、LabWindows/CVI、HP-VEE、Delphi等多种语言编制测试程序,方便而灵活。
主控PC
PC作为系统的“主控者”,通过发布命令给GPIB接口控制器实现对FLUKE5500A和被检定示波器的控制,主要包括以下几个方面的内容:仪器的初始化、复位、仪器参数设置;命令FLUKE5500A产生标准信号,同时被检示波器显示;读取/保存仪器数据并传给PC等。
二、软件设计
平台选择
软件是本数字示波器自动检定系统的核心,软硬件能否稳定、协调地工作是系统能够对数字示波器快
速、可靠检定的基础。本系统采用性能稳定的Windows2003 Server操作系统、SQL
Sever2005(开发版)数据库以及Visual.
NET2005作为开发平台,以C/C++作为编程语言,同时在驱动程序方面选用NI公司的Lab
Windows/CVI7.0做部分程序的驱动开发。同时采用MAX(Measurement&Automation)作为IVI驱动配置程序。
VISA和IVI
VISA是VXI plug&play联盟制定的I/O接口软件标准。制定VISA的目的是确保不同厂商、不同接口标准的仪器能相互兼容、可以通讯和进行数据交换。其显著特点是:VISA是采用了先进的面向对象编程思
想来实现的;它是当前所有仪器接口类型功能函数的超集成,而且十分简洁,只有90多个函数;VISA作为标准函数,与仪器的I/O接口类型无关,方便程序
移植。对于驱动程序、应用程序开发者而言,VISA库函数是一套可以方便调用的函数,可以控制各种设备如GPIB、VXI、PXI等。
IVI(Interchangeable Virtual Instrument)是IVI基金会为了进一步提高仪器驱动程序的可执行性能,达到真正意义上的仪器互换,实现应用程序完全独立于硬件而推出的仪器驱动程序编程接口。IVI系统由
IVI类驱动程序、具体驱动程序、IVI引擎、IVI配置实用程序、IVI配置信息文件五部分组成。类驱动程序实现了上层统一功能的封装,面对的是操作
者,而具体驱动程序完成与具体仪器的通信。测试程序是调用类驱动程序,用类驱动程序调用具体驱动程序来实现测试程序和硬件的无关性。IVI引擎完成状态缓
存、仪器属性跟踪、分类驱动程序到具体驱动程序的映射功能。IVI配置实用程序是采用软件MAX创建和配置IVI逻辑名,在测试程序中通过传送逻辑名给一
个分类驱动程序初始化函数,将操作映射到具体仪器及仪器驱动程序。IVI配置信息文件记录了所有逻辑名和从类驱动程序到具体仪器驱动程序的映射信息。其结
构如图2所示。
测试架构
测试软件模块:
测试软件分为测试数据管理模块、测试参数管理模块、测试程序模块三部分。测试数据管理模块是管理对仪器的检定日期、
检定人员、对具体仪器的已检定项目、检定的数据等。测试参数管理是在数据库中管理具体仪器的各检定项、检定项的标准值等。测试程序模块是根据用户在软面板
上选定的测试参数,调用相应的测试仪器进行测试,把测试数据和数据库中的标准相比较,判断是否合格。
测试软件结构化流程:
在开机系统自检后,
检定操作员在软件界面上选择/输入需要检定的仪器型号,程序由仪器型号在数据库中调出相应的检定项目、被检项目的标准值、被检仪器与FLUKE5500A
和GPIB控制器的连接图。检定员按连接图(FLASH动画)连接仪器,在确认连接正确后,检查是否有IVI驱动程序,在安装驱动程序后运行MAX配置工
具,完成配置后即可运行相应的测试程序,把测试结果保存到数据库,并打印相应的合格/不合格报告。其流程图见图3。
开发IVI驱动程序:
对于IVI仪器,厂家会提供IVI驱动程序只需要编写少量代码即可实现对仪器的检定,主程序简单,便于管理。IVI基金会的目标是支持95%的仪器。基于IVI技术的数字仪器的检定将会是仪器检定的必然之路。
但是并不是所有的仪器都支持IVI。对于非IVI仪器,使用LabWindows/CVI中的IVI驱动开发向导把
仪器程控命令树中所有底层命令封装成一系列带有图像面板的高层函数,完成IVI驱动程序的开发,使它成为IVI仪器。其特点是前期开发IVI驱动程序工作
量大,但是后期测试程序开发和维护工作量少。
数据库
数据库管理主要包括用户管理、被检仪器型号管理、检定项目管理、检定报告管理、检定项目指标管理以及数据查询6个模块。
数字示波器是数据采集,A/D转换,软件编程等一系列的技术制造出来的高性能示波器。数字示波器一般支持多级菜单,能提供给用户多种选择,多种分析功能。
还有一些示波器可以提供存储,实现对波形的保存和处理。
目前高端数字示波器主要依靠美国技术,对于300MHz带宽之内的示波器,目前国内品牌的示波器在性能上已经可以和国外品牌抗衡,且具有明显的性价比优
势。