发明内容
本发明针对上述情况,提供一种适用于射频模块产品测试可灵活扩展的自动测试系统平台,它适应于不同厂商不同型号测试仪器、不同产品、不同测试指标和测试方法的可灵活扩展的射频模块产品自动测试系统平台,用于支持不同射频模块产品的自动测试应用。
为了达到上述目的,本发明采用的技术方案为:一种适用于射频模块产品测试可灵活扩展的自动测试系统平台,包括通用驱动程序库、自动测试方法库、自动测试配置平台、自动测试终端,其中,
通用驱动程序库为由一系列屏蔽不同厂商、型号、协议差异的测试仪器及射频模块的差异,可方便扩展的程序库;
自动测试方法库为提供统一调用接口,屏蔽不同函数方法的方法名称、参数数量及参数类型的差异的方法库;
自动测试配置平台,通过此平台用户可动态配置产品的测试数据、测试指标范围、测试项目、测试方法等,实现产品自动测试软件的快速开发;
自动测试终端,它根据自动测试配置平台配置的产品自动测试信息,控制测试仪器和射频模块自动完成产品的测试数据采集、结果判断、数据存储、测试报告生成等操作。
所述通用驱动程序库采用面向对象的设计思想,使用VISA库和设备厂商提供的驱动库相结合的开发方法,以动态链接库的形式进行封装,为上层软件提供不同厂商、不同型号的矢量网络分析仪、频谱仪、电流表、信号源、噪声分析仪、功率计以及不同射频产品及控制板的驱动服务。
所述自动测试方法库采用面向对象的设计思想,将自动测试系统所用到的所有方法按照标准的方式进行封装,屏蔽不同方法中方法名称、参数个数及参数类型的差异,给上层应用程序提供标准统一的调用接口;
所述自动测试配置平台为用户提供产品测试数据、测试指标范围、测试项目的定义,以及访问ATML(自动测试方法库)中所有方法的接口平台,用户可将ATML(自动测试方法库)中的方法按照任意顺序和逻辑关系配置出自动测试系统;
所述自动测试终端自动识别系统中所连接的测试仪器,根据自动测试配置平台配置的产品自动测试信息,控制测试仪器和射频模块自动完成产品的测试数据采集、结果判断、数据存储、测试报告生成等操作。
本实用新型具有如下优点与效果:
1.极大的提高射频模块产品等生产过程需要复杂测试的产品的生产测试效率;
2.采用构建化和通用化思想,使用灵活方便,极大的提高了开发自动测试系统的研发效率。
3.本发明具有通用化程度高、操作简单、灵活、可重用等特点。
具体实施方式
见图1所示,一种适用于射频模块产品测试可灵活扩展的自动测试系统平台,包括通用驱动程序库、自动测试方法库、自动测试配置平台、自动测试终端,其中,
通用驱动程序库为由一系列屏蔽不同厂商、型号、协议差异的测试仪器及射频模块的差异,可方便扩展的程序库;
自动测试方法库为提供统一调用接口,屏蔽不同函数方法的方法名称、参数数量及参数类型的差异的方法库;
自动测试配置平台,通过此平台用户可动态配置产品的测试数据、测试指标范围、测试项目、测试方法等,实现产品自动测试软件的快速开发;
自动测试终端,根据自动测试配置平台配置的产品自动测试信息,控制测试仪器和射频模块自动完成产品的测试数据采集、结果判断、数据存储、测试报告生成等操作。
所述通用驱动程序库采用面向对象的设计思想,使用VISA库和设备厂商提供的驱动库相结合的开发方法,以动态链接库的形式进行封装,为上层软件提供不同厂商、不同型号的矢量网络分析仪、频谱仪、RF信号源、噪声分析仪、功率计以及不同通信模块的驱动服务。
所述自动测试方法库采用面向对象的设计思想,将自动测试系统所用到的所有方法按照标准的方式进行封装,屏蔽不同方法中方法名称、参数个数及参数类型的差异,给上层应用程序提供标准统一的调用接口;
所述自动测试配置平台为用户提供产品测试数据、测试指标范围、测试项目的定义,以及访问ATML中所有方法的接口平台,用户可将ATML中的方法按照任意顺序和逻辑关系配置出自动测试系统;
所述自动测试终端自动识别系统中所连接的测试仪器,根据自动测试配置平台配置的产品自动测试信息,控制测试仪器和射频模块自动完成产品的测试数据采集、结果判断、数据存储、测试报告生成等操作。
本发明实现方法为:
1:采用面向对象和泛型的开发思想,对不同厂商不同型号测试仪器,不同型号的产品通信协议在驱动层封装成动态链接库,以统一的API接口显示提供给上层调用。该步骤的作用是实现驱动程序的通用化。对上层而言,看到的测试仪器只有频谱仪、信号源、矢网仪等类型之分,而没有AgilentE4443A、R&S FSP-3、R&S FSP-7等不同厂商、不同型号之分;
2:在通用驱动库的基础之上,采用面向对象的开发思想,将驱动的所有API函数和自动测试系统所用到的其他综合方法按照标准的方式进行封装。该步骤的作用是屏蔽不同方法中方法名称、参数个数及参数类型的差异,给上层应用程序提供标准统一的调用接口;
驱动子系统运行在公司统一的0316平台上,所有的驱动库都以动态链接库(DLL)的形式存在于系统中,为各个终端提供所有的设备操作支持。驱动体系结构图如图2.
功能:
驱动直接操作的对象就是具体的设备。
驱动的主要功能如下:;;;通讯;,实现与数字万用表间的通讯;实现与NTS模块产品间的通讯
能实现与罗德信号源的正常通讯。
能实现与罗德频谱仪的正常通讯;
能实现与安捷伦信号源的正常通讯;
能实现与安捷伦频谱仪的正常通讯;
能实现与安捷伦噪声仪的正常通讯;
能实现与数字万用表的正常通讯;
能实现与NTS模块产品的正常通讯;
能实现与NTS 0313系统老化控制板的正常通讯;
能实现与NTS模块产品的调试校准功能;
能为配置和自动测试终端提供所需要的驱动配置方法;
驱动的辅助功能有如下几个(见图3):
自动加载NTS模块产品驱动库并创建该产品所支持的功能接口函数。驱动子系统主要包括:信号源驱动库(SGDriver.dll)、频谱仪驱动库(PSADriver.dll)、噪声仪驱动库(NFADriver.dll)、网络仪驱动库(ENADriver.dll)、产品驱动库(产品名+Driver.dll)、产品调试校准驱动库(产品名+AD.dll)、产品管理驱动库(NTSProducts.dll)、老化驱动库(AgedDriver.dll);驱动方法库(NTSScriptLib.dll)几大部分。
所有的驱动库都以动态链接库(DLL)的形式进行封装。降低产品驱动之间的耦合性,按照“开-闭”的设计原则:软件实体应当对扩展性开放,对修改关闭。特意提供一个产品驱动库管理的动态库,主要负责动态加载产品驱动库,实现再新增加一个新的产品驱动库时,不用修改上层软件就可以实现与新产品的通讯,大大增强系统的兼容性和可扩展性。驱动库及方法库功能结构框图见图4
从方便性、易用性和维护性等方面考虑,采用通过配置指导生产的思想,要求上层应用软件不能直接调用底层的驱动库(除老化驱动),只能通过驱动方法库配置驱动方法,然后再通过驱动方法库调用、执行底层驱动方法。因此驱动方法库必须为应用软件提供统一的API接口函数,用来配置和执行驱动方法。主要包括:创建方法、设置方法的输入参数、执行方法、获取方法的输出参数,释放方法资源等API接口功能函数。
3:自动测试配置平台,采用快捷开发和搭积木的思想。基于ATML,用户可在此配置平台上快速的定义自动测试系统,包括:测试数据、测试指标、测试项及测试方法等,配置的所有信息存储于数据库;
提供的主要功能有:
配置管理模块的子功能模块分为:
测试数据配置模块:配置自动测试终端用于存储测试记录的数据库前后台数据表和维修前后数据的字段信息;
线损项配置模块:配置自动测试终端设置线损的线损项目;
测试项配置模块:配置自动测试终端所使用的所有测试项,测试方法类型,以及测试项在某种测试方法类型下的测试方法信息;
测试指标配置模块:配置测试项的测试数据的上限、下限以及参考站点和参考工位;
4:自动测试终端,根据自动测试配置平台定义在数据库中的信息,在基于自动测试驱动和系统数据库,为最终的产品提供自动测试功能的一个终端操作模块。自动测试子系统根据配置终端所配置的测试项以及测试方法在自动测试终端上完成相应的产品测试任务,并把测试数据保存到相应的数据字段中,并进行结果判断、数据存储和测试报告生成等。该步骤的作用是系统中测试项和测试方法都是灵活可变的,大大提高子系统的灵活性、可扩展性和稳定性。自动测试终端体系结构图见图5.
自动测试的主要功能如下:
●通讯接口管理:本系统的通讯接口主要包括:串口(模块、万用表)、GPIB(罗德信号源、罗德频谱仪、安捷伦信号源、安捷伦频谱仪、安捷伦网络仪、噪声仪)和LAN(安捷伦信号源、安捷伦频谱仪、安捷伦网络仪)三大类,对测试仪器而言要求系统能自动识别测试仪器并创建其驱动实例;而对于模块产品来说主要通过手动的方法创建其驱动实例;并都能实现正常的通讯。
●测试项管理:以通道为基础显示模块的测试项目,显示模块测试项目的顺序,可以移动或删除测试项目。
●自动测试:根据测试项和相应的测试方法自动配置测试仪器和产品完成测试任务,返回测试数据,如果有不通过的测试项需提供重新测试该测试项。
●测试数据保存:根据配置信息把测试数据保存到相应的数据库字段中。
自动测试的总体结构是基于C/S结构。
自动测试主控类的功能:自动测试操作GUI主菜单、工具条、界面创建、识别测试仪器;设备控制与通讯模块;模块状态控制模块;自动测试模块;测试数据保存模块;本地参数保存模块;界面显示模块等几部分组成。图6为自动测试终端客户端用例图。图7为自动测试终端功能结构框图。
首先测试管理模块从数据库里读取模块的测试项和测试方法等信息,界面显示模块根据这些信息在界面上表现出来。
其次设备控制与通讯模块根据配置文件中的IP地址初始化测试仪器,为自动测试模块作好准备。
最后自动测试模块根据测试项管理模块和设备控制与通讯模块,通过驱动子系统实现对仪器和产品的控制,完成测试任务,然后把测试数据上传给界面显示模块和测试数据保存模块。图9为自动测试框图。
以上4个功能模块构成了一个完整的自动测试系统平台。