蓝牙模块射频参数的自动测试方法
技术领域
本发明涉及基于虚拟仪器的自动化测试技术领域,更具体地涉及一种针对蓝牙模块的射频参数自动测试系统和测试方法。
背景技术
自动测试系统发展到今天已经经历了三个主要阶段。第一代是专用型测试系统,系统本身是针对具体的测试需求量身定制的,主要用于大工作量的重复测试,用于提高测试速度或者用于测试人员难以进入的恶劣环境。由于没有标准的总线接口,控制计算机与测试系统采用专有的接口进行连接;第二代是台式仪器积木型,IEEE488、VXI和PXI等标准总线的出现使得主控计算机通过通用总线接口与多台测试仪器相连,进行远程的资源调度成为了可能。系统中的仪器亦可作为独立的通用仪器来使用,仪器的灵活组合特性成为其一大优点,应用一些基本的通用仪器可以针对不同需求,灵活组建不同的自动测试系统;第三代是模块化仪器集成型,模块化的仪器通过VXI,PXI 总线组合而成,以这两种总线为基础,可组建高速、大数据吞吐量的自动测试系统。众多模块插入符合标准的总线机箱中,也大大缩小了体积。人机交互通过可编程的软件在计算机显示器上进行。
VISA是由一组用于研发的独立仪器通信操作组成,协议支持支持GPIB, VXI,Serial(RS-232),LAN和USB接口通信。VISA提供了用于控制仪器的标准化的应用程序接口(API),它可以使用程序发送指令并接收来自仪器和其他测试测量设备的数据。VISA对于仪器驱动程序开发者来说是一个可调用的操作函数集。它不区分仪器种类,VISA设计的IO库允许不同用户开发的软件运行在相同的系统上,其通用性得到了大大增强。VISA虚拟化了仪器,接口,底板,以及底层到设备的访问接口,资源管理器用于处理这些资源类型,抽象出不同的传输/总线类型。
发明内容
本发明的主要目的在于提供一种高效的蓝牙模块射频参数的自动测试系统和方法,解决批量生产测试过程中的效率低下问题,实现的蓝牙模块自动测试系统操作简便、运行效率高、方便管理等特点。
为实现上述目的,本发明提供如下技术方案:
本申请实施例公开一种蓝牙模块射频参数的自动测试系统,包括:
矢量信号发生器,提供标准蓝牙测试信号,测试模块接收灵敏度;
频谱分析仪,至少用于测试蓝牙模块载波频偏、误差矢量幅度、发射功率和发射功率谱密度;
功分器,分别与模块夹具、矢量信号发生器和频谱分析仪连接;
标准蓝牙模块,测试1m处RSSI波动;
模块夹具,用于固定和引出蓝牙模块的测试点,以进行批量测试。
网络交换机,分别与矢量信号发生器和频谱分析仪连接
主控PC机,分别与网络交换机和模块夹具连接,并接收远程数据库的生产配置参数。
优选的,在上述的蓝牙模块射频参数的自动测试系统中,还包括打印机,该打印机使用控制主控PC机远程操作,针对不同格式需求打印各模块对应的条形码和二维码。
优选的,在上述的蓝牙模块射频参数的自动测试系统中,打印机远程控制通过USB或串口完成。
优选的,在上述的蓝牙模块射频参数的自动测试系统中,所述生产配置参数使用Jason格式进行远程传输,控制主控PC机根据不同生产计划对待配置参数进行解析,然后根据主控PC机与射频模块的串口AT指令,通过串口配置射频模块的不同工作状态。
优选的,在上述的蓝牙模块射频参数的自动测试系统中,所述矢量信号发生器、频谱分析仪、主控PC机和网络交换机之间通过IP配制局域网。
优选的,在上述的蓝牙模块射频参数的自动测试系统中,标准蓝牙测试信号通过矢量信号发生器在Arbitrary Waveform模式中编写,扫描信号与接收回应信号通过示波器上的波形比对确保与标准模块发送信号保持一致,灵敏度测试时模块通过CRC校验的方式对接收到的数据包进行计数。
优选的,在上述的蓝牙模块射频参数的自动测试系统中,主控PC机根据不同生产计划建立不同目录,以Excel和截图的形式保存原始测量数据,并进行分类统计。
相应的,本申请还公开了一种蓝牙模块射频参数的自动测试方法,包括步骤:
(1)、获取远程服务器上的测试数据,根据需求选取不同的Plan ID,主控PC机根据不同Plan ID获取不同的配置计划,将待配置的下一条配置参数读取至内存;
(2)、控制标准蓝牙模块模拟实际过程中的数据包流程,通过多次统计数据测试待测试模块的RSSI值,发送控制频谱仪测量蓝牙三个频点的发射功率、发射功率谱密度以及载波频偏,然后进入频谱仪数字解调模式,读取误差矢量幅度,最后控制矢量信号源以固定的时间间隔发送多次标准蓝牙 Beacon格式的数据包,通过模块返回的接收次数来确定灵敏度是否达标,通过不断提高信号源的发射功率进行最大输入电平测试;
(3)、参数测试通过后将结果整理为Jason格式重新传回服务器,并与原始待配置数据进行比较,确认无误后保存原始测试数据,打印出模块的对应标签。
优选的,在上述的蓝牙模块射频参数的自动测试方法中,步骤(2)中,所有参数测试均在频谱仪中截图保留并传回主控PC机中显示并保存。
优选的,在上述的蓝牙模块射频参数的自动测试方法中,步骤(2)中, RSSI测试是在单独的线程进行。
与现有技术相比,本发明的优点在于:测试系统通过VISA控制协议连接多仪器,免去人工对仪器的繁杂参数设置过程,通过LAN口交换数据也避免了人为读数上的误差,通过不同指令的快速切换,用户无需关注测试仪器界面,直接可以从主控PC机上得出测试结果,通过Excel和截图整理可方便地对结果进行统计,最后通过对打印机编程的方式真正实现了测试流程的自动化。用户对参数配置后,可实现一键操作,针对每个测试项都有对应的重测机制,确保了测试结果的可靠性,大大提高了蓝牙模块测试自动化测试效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本发明具体实施例中蓝牙模块射频参数的自动测试系统的原理示意图;
图2所示为本发明具体实施例中蓝牙模块射频参数的自动测试方法流程图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
结合图1所示,蓝牙模块自动化测试系统包括矢量信号发生器、频谱分析仪、标准蓝牙模块、模块夹具、打印机、主控PC机和网络交换机。
矢量信号发生器是测试蓝牙模块接收灵敏度的仪表,用于提供标准蓝牙测试信号,测试模块接收灵敏度;本案中通过在仪器ARB模式中自定义的波形文件给待测模块提供输入信号。
在优选实施例中,矢量信号发生器采用E4438C信号源。
频谱分析仪配合Keysight公司提供的89600解调软件测试蓝牙模块载波频偏,误差矢量幅度(EVM),发射功率和发射功率谱密度,另外用户可根据不同测试需求,通过自定义滤波器、调制方式和码率方式测试自定义信号。
在优选实施例中,频谱分析仪采用N9020A频谱仪。
标准蓝牙模块,用于测试1m处RSSI波动。
模块夹具,用于固定和引出模块的测试点,方便进行批量测试。
主控PC机和网络交换机,各仪器通过交换机使用网线进行通信,控制主控PC机负责接收远程数据库的生产配置计划,协调测试流程,实现蓝牙模块的自动化测试以及数据整理。
本实施例中,测试系统主控PC机,通过交换机和网线保持各仪表之间的通信,自动测试程序控制用户需求测试项,模块配置参数通过Internet从远程服务器端获取,按照Jason格式解析,对待测模块的参数配置通过串口AT指令完成,测试完成后保存对应Excel报表和截图,并与远程服务器端的原始配置计划核对,确认无误后控制打印机生成对应条形码和二维码。
本实施例中,主控PC机开发使用VB.NET进行,串口控制通过调用.NET 中SerialPort类来实现,关键点在多仪器的协同控制、Jason格式的解析、打印机的编程和蓝牙Beacon数据包的编写。其中:
多仪器的协同控制通过在.NET平台中引用VISA COM 5.2Type Library来获取各仪器接口的使用方法,通过ReadString和WriteString来进行PC与仪器的数据交互。
Jason格式的解析分析语法格式进行,基本原则是数据在键值对中,数据由逗号分隔,花括号保存对象,方括号保存数组。解析函数通过下载NuGet 程序包管理器,安装Jason解析包。使用时从远程URL获取数据包,根据数据库定义的格式对各参数进行分类解析。
蓝牙Beacon数据的编写采用Keysight E4438C进行编写,调制方式为 GFSK,协议规定码率为1MHz。为了精确模拟实际数据包发送间隔,通过比特补零的方式设定包间隔,1个比特0对应1μm。矢量信号源通过RF Cable 连接模块,确保在标准工作模式下模块100%接收自定义数据包。
打印机使用控制主控PC机远程操作,针对不同格式需求打印各模块对应的条形码和二维码。
本实施例中,打印机的编程通过下载厂家提供的dll说明文件,安装驱动后直接调用dll中的函数,主要操作包括打开/关闭打印机端口、设置标签高宽间距等,把需要设置的参数单独画出UI界面,供操作者进行配置。
本实施例中,生产配置参数使用了Jason格式进行远程传输,控制主控 PC机根据不同生产计划对待配置参数进行解析,然后根据主控PC机与射频模块的串口AT指令,通过串口配置射频模块的不同工作状态。
本实施例中,仪器的远程控制交互功能基于虚拟仪器技术的多仪器控制系统,各仪器间通过LAN和交换机连接,通过IP配置建立小型局域网,各设备的控制指令来自Keysight用户手册,原始测试数据通过截图返回主控PC 机整理成文件夹备查阅。
本实施例中,用于测试模块接收灵敏度的标准蓝牙测试信号通过Keysight 矢量信号源E4438C在Arbitrary Waveform模式中编写,扫描信号与接收回应信号通过示波器上的波形比对确保与标准模块发送信号保持一致,灵敏度测试时模块通过CRC校验的方式对接收到的数据包进行计数。
本实施例中,控制主控PC机系统使用VB.NET开发,以建立局域网的方式完成PC、矢量信号源和频谱仪的连接。生产测试全程无需手动对仪器进行操作,可以实现一键按顺序测试,对于每一项指标出现问题都设计了自动重测机制。
本实施例中,数据整理功能指主控PC机根据不同生产计划建立不同目录,以Excel和截图的形式保存原始测量数据,并进行分类统计。
本实施例中,打印机远程控制通过USB或串口完成,控制指令参考厂家给出的驱动程序中函数说明,为方便单独打印,控制主控PC机设计了打印机配置界面,可灵活地根据不同需求改变打印机的配置参数。
本实施例中,在测试蓝牙模块三个信道的发射功率时,由于模块的信道切换间隔为800ms,若使用Keysight N9020A的扫频模式来触发三信道功率,捕捉时间很长,无法满足高效的测试需求。本系统采用了Burst Power捕捉方式,即在时域上捕捉符合一定电平的数据包,使用这种方式的该测试项理论测试时间可以保持在3s以内。
本实施例中,在进行远程数据库交互的过程中实现了网络超时的重新获取和重新上传功能,另外考虑到模块夹具与多硬件连接的不稳定的情况,在数据处理阶段,要对每个测试模块生成单独的目录,用来保存每一条测试项已经对应的原始截图,这里出现的问题是要保持数据的不重复性。在上传时,服务器端要进行比对,发布的测试信息和反馈的信息是否保持一致。程序出现意外崩溃,会丢失本次需要配置的数据,服务器端的比对可以回收因意外丢失的配置信息。
本实施例中,主控PC机与模块进行通信时需要协商通信协议,具体协议指令如表1所示。从表中看出,主控PC机既可以通过串口配置射频模块的寄存器,也可以读取指定的寄存器,通过表1中的指令,可以方便确认模块的工作状态,需要注意的是,在所有生产测试流程完成以后,通过发送ENDU 指定可以结束模块MCU对串口数据的响应,让模块进入低功耗的工作状态。
表1串口AT指令格式
串口AT指令 |
指令说明 |
AT |
串口测试,返回OK |
AT+UUID= |
写入32位UUID,AT+UUID?为查询命令 |
AT+MAJR= |
写入4位major,AT+MAJR?为查询命令 |
AT+MINR= |
写入4位minor,AT+MINR?为查询命令 |
AT+DATE= |
写入10位生产日期,AT+DATE?为查询命令 |
AT+HWVR |
写入硬件版本号,AT+HWVR?为查询命令 |
AT+FWVR |
获取固件版本号 |
AT+FWTM |
获取固件版本日期 |
AT+WRXP= |
写入2位RXP |
AT+ENDU |
关闭串口操作 |
AT+WKEY= |
写入32位challenge key |
AT+RMAC |
查询MAC地址 |
AT+INTV= |
设定每秒钟发射次数,AT+INTV?为查询命令 |
AT+TXPR= |
设定发射功率等级,AT+TXPR?为查询命令 |
本实施例中,对每一步测试都写入了日志文件进行记录。通过每一步的状态提示可以方便查看那个环节出现了异常。尤其在对模块的寄存器配置阶段,测试程序在配置之前都记录了从服务器获取的生产计划,这样程序异常退出时可以自动读取上一次的配置信息。从服务器信息获取、模块寄存器配置、仪器测量、数据整理到最后的上传打印环节,每一步都做好了单独的重试按钮。生产测试模式下,每一个环节出现了异常都会自动重试,直到本环节完成进入下一个步骤。
测试仪器、打印机、测试夹具以及数据库的读取和测试结果操作都在一台PC上完成,通过PC端对多仪器设备的远程控制,简化射频模块测试流程,提高测试精度和效率。其控制步骤为:
Ⅰ、用户通过仪器连接按钮确保测试仪器、打印机、远程数据库的连接正常;
Ⅱ、获取远程服务器上的测试数据,用户根据需求选取不同的Plan ID,主控PC机根据不同Plan ID获取不同的配置计划,将待配置的下一条配置参数读取至内存;
Ⅲ、点击测量开始通过串口对模块进行配置,配置成功后返回使能信号,先控制标准模块模拟实际过程中的数据包流程,通过多次统计数据测试待测试模块的RSSI值发送控制频谱仪测量蓝牙三个频点的发射功率、发射功率谱密度以及载波频偏,然后进入频谱仪数字解调模式,读取误差矢量幅度 (EVM),最后控制矢量信号源以固定的时间间隔发送1000次标准蓝牙 Beacon格式的数据包,通过模块返回的接收次数来确定灵敏度是否达标,通过不断提高信号源的发射功率进行最大输入电平测试;
Ⅳ、参数测试通过后将结果整理为Jason格式重新传回服务器,并与原始待配置数据进行比较,确认无误后通过Excel和截图的方式保存原始测试数据,打印出模块的对应标签。
步骤Ⅲ中所有参数测试均在频谱仪中截图保留并传回主控PC机中显示并保存,避免了操作人员在PC前对数据进行简单快速地人工审核,通过远程控制指令截图的方式大大提高了系统工作效率。
步骤Ⅲ中RSSI测试是在单独的线程进行,因测试周期较长,故通过单独配置线程的方式在模块配置完成后即开始统计数据,待模块其他参数测量完成后返回统计结果。多线程并行的测量过程大大提高了模块的测试效率。
本实施例中,总流程运行时间为10s左右(考虑到仪器控制指令所需的延时)。
综上所述,本发明所设计的蓝牙模块自动测试系统,解决了多仪器状态下射频模块参数测量的复杂性,测试仪器通过交换机与PC相连,PC统一协调工作,大大提高了工作效率,通过建立数据库记录的制度,大大确保了生产测试过程的精确性。有效地解决了多模块测试中的效率问题。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。