本发明涉及通信类电子产品的生产制造领域,具体涉及一种基于反编译开发的因特尔方案无线功率测试方法和系统。
背景技术:
因特尔芯片在无线测试领域属于较为小众的芯片类型,相关的项目及资料都比较少,行业内比较通用的做法是,依赖于设备商提供的产测程序,以供工厂生产使用,这样带来的问题是可维护性差、可扩展性也较差,而且设备商提供的测试程序非常冗余,测试效率也不高,重测率也较高,因此非常有必要开发自研高效的测试程序。
因特尔芯片商会提供一款名为lantiqdut的应用软件,用于辅助技术人员,手动对芯片进行测试。对这款应用软件进行分析发现,这款软件主要是通过调用lq_dut.dll文件实现的,并且,芯片商有提供这份lq_dut.dll文件的导数函数。但是,如何调用这些导出函数及参数的设定部分,却缺失了。所以需要分析明确lantiqdut是如何调用lq_dut.dll文件内的功能函数实现功率测试的过程。
技术实现要素:
本发明的目的在于提供一种基于反编译开发的因特尔方案无线功率测试方法和系统,解决目前设备商提供的产测程序可维护性差、可扩展性也较差、测试程序非常冗余、测试效率不高以及重测率较高的问题。
为解决上述的技术问题,本发明采用以下技术方案:
一种基于反编译开发的因特尔方案无线功率测试系统,包括pc,所述pc的网口通过网线连接有无线终端测试仪,无线终端测试仪的射频端口通过射频线与被测器件相连;
所述pc内安装有自动化产测平台,用于加载测试程序对被测器件进行测试;
所述pc内安装有reflector工具,用于形成反编译reflector环境;
所述pc内安装有lantiqdut手动测试工具,用于形成lantiqdut环境。
进一步的技术方案是,所述无线终端测试仪的射频端口通过射频线连接有功分器,所述功分器通过射频线与被测器件相连。
更进一步的技术方案是,所述自动化产测平台内设有对接控制模块,所述对接控制模块包括dut控制模块、swfs测试项目模块和js脚本模块。
更进一步的技术方案是,所述测试程序与reflector工具对lantiqdut手动测试工具中的lq_dut.dll库函数中功率发射过程进行解析的过程相匹配,所述测试程序包括posttest模块、insertdut模块、txverify模块和removedut模块。
更进一步的技术方案是,所述测试程序执行的测试步骤依次包括开始加载测试、插入dut测试、功率验证测试和卸载dut。
更进一步的技术方案是,所述无线终端测试仪为iqxel无线终端测试仪或wt208无线终端测试仪。
一种基于反编译开发的因特尔方案无线功率测试方法,包括如下步骤:
s1、系统拓扑搭建:在pc上安装自动化产测平台,并使pc平台通过网线连接无线终端测试仪,使无线终端测试仪、功分器和被测物通过射频线依次相连;
s2、用vs2008开发环境来形成反编译环境和lantiqdut环境:下载reflector并选择相应的.net版本安装到pc上,对dll进行反编译,安装所需版本的lantiqdut安装包,将安装后的lantiqdut路径加入到环境path变量中,运行lantiqdut;
s3、进行因特尔方案无线功率测试:依次进行开始加载测试、插入dut测试、功率验证测试和卸载dut。
与现有技术相比,本发明的有益效果是:基于一台无线终端测试仪和一台pc,基于因特尔最新的lq_dut.dll,结合反编译解析工具,开发自研的因特尔测试程序,该程序是基于无线终端测试仪iqxel/wt208和lantiqdut中lq_dut.dll文件进行测试,可以有效地对因特尔芯片方案进行测试,即可实现众多无线终端产品功率测试,降低了程序冗余,增强了程序的可扩展性,可编辑性,极大地提高了测试效率,降低了测试重测率。
附图说明
图1为本发明基于反编译开发的因特尔方案无线功率测试系统的结构框图。
图2为本发明基于反编译开发的因特尔方案无线功率测试方法的流程图。
图3为本发明因特尔方案无线功率测试方法的流程图。
图4为本发明软件模块部分的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1-4示出了本发明基于反编译开发的因特尔方案无线功率测试方法和系统的实施例。
实施例1:
本实施例提供一种基于反编译开发的因特尔方案无线功率测试系统,该系统包括pc,pc的网口通过网线连接有无线终端测试仪,无线终端测试仪的射频端口通过射频线与被测器件相连;在pc上安装有的软硬件包括自动化产测平台、reflector工具和lantiqdut手动测试工具,其中自动化产测平台用于加载测试程序(即是测试软件)对被测器件进行测试,reflector工具用于形成反编译reflector环境,lantiqdut手动测试工具用于形成lantiqdut环境。
reflector工具来实现反编译,洞悉测试的内部逻辑,并结合自身的测试平台机制来设计和开发自研测试程序。reflector是由微软员工lutzroeder编写的免费程序。reflector的出现使.net程序员眼前豁然开朗,因为这个免费工具可以将.net程序集中的中间语言反编译成c#或者vb代码。除了能将中间语言转换为c#或vb以外,reflector还能够提供程序集中类及其成员的概要信息、提供查看程序集中中间语言的能力以及提供对第三方插件的支持。
无线终端测试仪的射频端口通过射频线连接有功分器,功分器通过射频线与被测器件相连。功分器的一端有一个口,用于与无线终端测试仪的射频端口连接,功分器的另一端会分成多个口,分别与被测器件的不同天线连接。
自动化产测平台内设有对接控制模块,对接控制模块包括dut控制模块、swfs测试项目模块和js脚本模块。dut控制模块负责对于测试dut进行控制,属于自动化产测平台的功能模块之一;swfs测试项目模块负责对于所有测试项目进行管理,并依次执行,属于自动化产测平台的功能模块之一;脚本模块用于提供可编辑接口,令开发人员可以通过js脚本的方式,在不改动源代码的情况下,对测试指令,测试逻辑及测试结果等,作出自定义的修改,属于自动化产测平台的功能模块之一;这三个模块都是属于自动化测试平台的功能模块,测试程序是通过自动化测试平台调用,因此自动化测试平台提供这几个功能模块给测试程序使用。
测试程序与reflector工具对lantiqdut手动测试工具中的lq_dut.dll库函数中功率发射过程进行解析的过程相匹配,测试程序包括posttest模块、insertdut模块、txverify模块和removedut模块,其中测试程序上还有平台接口部分,平台接口部分用于提供dut控制模块接口和提供swft测试项目模块,测试程序执行的测试步骤依次包括开始加载测试、插入dut测试、功率验证测试和卸载dut。reflector工具对lantiqdut手动测试工具中的lq_dut.dll库函数中功率发射过程进行的解析包括创建测试流、功率参数设置、测试流终止等。
将测试程序开发好之后融入到厂内测试平台中,保证兼容性,满足生产测试需求。测试程序是基于因特尔提供的标准动态链接库的底层接口函数,完全实现自定义的开发和功能模块的裁剪,便于对测试程序进行自行维护、开发定制功能、对测试过程进行优化和降低重测等。
无线终端测试仪为iqxel无线终端测试仪或wt208无线终端测试仪。
基于一台无线终端测试仪和一台pc,基于因特尔最新的lq_dut.dll,结合反编译解析工具,开发自研的因特尔测试程序,该程序是基于无线终端测试仪iqxel/wt208和lantiqdut中lq_dut.dll文件进行测试,可以有效地对因特尔芯片方案进行测试,即可实现众多无线终端产品功率测试,降低了程序冗余,增强了程序的可扩展性,可编辑性,极大地提高了测试效率,降低了测试重测率。
因特尔方案是指产品的无线功能使用因特尔无线芯片的方案。
实施例2:
本实施例提供一种基于反编译开发的因特尔方案无线功率测试方法,包括如下步骤:
s1、系统拓扑搭建:在pc上安装自动化产测平台,并使pc平台通过网线连接无线终端测试仪,使无线终端测试仪、功分器和被测物通过射频线依次相连;
s2、用vs2008开发环境来形成反编译环境和lantiqdut环境:下载reflector并选择相应的.net版本安装到pc上,对dll进行反编译,安装所需版本的lantiqdut安装包,将安装后的lantiqdut路径加入到环境path变量中,运行lantiqdut;
s3、进行因特尔方案无线功率测试:依次进行开始加载测试、插入dut测试、功率验证测试和卸载dut。
实施例3:
ate自动化测试设备为例。
1、先进行系统拓扑搭建:
(1)在一台测试电脑上安装自动化产测平台ate_release。该平台可以加载测试程序对被测物进行测试,并且安装反编译reflector解析环境。
(2)准备一台iqxel无线终端测试仪或wt208无线终端测试仪(以4个射频端口为例),多根射频线、多根扣线、多个功分器和网线。
(3)以被测物为2t2r为例(2t:2根天线发送信号,2r:2根天线接受信号)。
(4)测试电脑网口拉一根网线连接仪表总网口,然后将仪表的射频端口引出射频线,射频线再接上一个功分器,功分器再接上两个射频线(该射频线需加上扣线或者顶针直接接在被测物ap模块的两个扣子上面即可)总共用线情况为:3根射频线、1个功分器以及2根扣线或者顶针。
(5)分别接通仪表和被测物电源,搭建环境完毕。
2、反编译环境:
(1)下载reflector,双击reflector.exe,如果有选择默认版本的.netframework,根据需要选择即可。所选择的版本不同则出现的默认程序集也会不同,例如可以选择.net3.5。
(2)点击file-open选择要反编译的dll,打开后程序集的命名空间会出现在列表中。
(3)点击树形列表中的类,右边就会出现相应的反编译代码,反编译的就是lq_dut.dll里面的api链接库,反编译后的代码和原代码基本没有什么区别。
3、lantiqdut环境:
(1)安装所需版本的lantiqdut安装包。
(2)将安装后的lantiqdut路径加入到环境path变量中。例如:c:\programfiles\lantiq\dut。
(3)打开lantiqdut,看是否能正常运行。
4、具体测试模块节点详细设计过程:
(1)开始加载测试(posttest)
使用共用的posttest测试文件,此项目中不进行任何和因特尔芯片相关的操作,此项目仅进行loss检查,统计对象生成,算法生成等操作。
此项目为板测必须的项目,必须放到第一个测试项目加载一次即可,不可重复加载。
即是posttest模块用于对loss进行检查、统计对象生成和算法生成。
(2)插入dut(insertdut)
此测试项目做了以下工作:加载封装的qlib库,加载与dut通信的dll文件(就是lq_dut.dll),并连接dut。
usertransportdll:与dut通信的dll文件,即lq_dut.dll文件。
ip_wlancard:dut端开启的通讯服务的ip和编号,格式为ip:wlancard。
ip指的是被测板的ip地址,wlancard,一般情况下,2g为0,5g为2。
即是insertdut模块用于加载通讯库、设置通讯参数和建立通讯连接。
(3)功率验证(txverify)
此测试项目用来tx验证。
其中验证的模式、速率、天线、信道均与其他芯片的板测配置一样,不再详述。
所验证的powerlimit、evmlimit、freqoffset和mask也与其他芯片的板测配置一样,不再详述。
verifypower/evm/freqoffset/mask:是否验证对应的项目。
averagetimes:平均次数,即测试时取几次测试的平均值。
不支持多流测试。
11ac支持2g频率测试。
即是txverify模块用于设置tx测试参数以及判断tx测试结果。
验证的模式为无线模式,速率为无线速率。
无线模式主要包括11b、11g、11a、11n、11ac等,无线速率在不同模式下对应不同的速率,例如:11b模式下的1m、2m、5.5m、11m;11n模式下的mcs0~mcs7等。
天线指的是产品的不同天线,例如一个产品有多个天线,即包括有天线1、天线2、天线3等。
信道指无线的工作信道,例如2g的信道1~信道14。5g的信道36~信道165。
verifypower/evm/freqoffset/mask为无线的产品的测试指标,分别为发送功率、误差矢量幅度、频率误差和发送信号频谱模板。这四个指标分别配置测试指标的上下限,用于判断产品是否达标。
(4)卸载dut(removedut)
此测试项目做以下动作:卸载dut数据,端开dut连接,卸载已经加载的dll库。
需要注意的是:测试完成后(无论pass还是fail),平台都会自动运行断开dut连接和卸载dll。但还是建议运行此项目。
即是removedut模块用于关闭通讯连接和释放通讯库。
(5)平台接口部分主要如下:
dut控制模块:为了实现各种dut的通用性,要求dut模块只要实现了icommoninteraction接口即可。
swfs测试项目模块:构造cfunctionforscript类,用于将dut模块的icommoninteraction接口映射到js脚本中(function),构造ccommoninteractioninterfacemanage类,用于管理dut模块的操作指针的产生和释放。
js脚本:dut控制模块的调用都是通过cnicfunctionforscript类提供的js对象进行操作的,从而实现dut控制过程。控制流程部分在js中有以下目的:可以通过不修改源代码即可实现流程的变更,dut控制模块的代码可以最小程度的修改。
实施例4:
以smartrgsr905acnft测试站为例。
步骤如下:
(1)在一台pc上安装ate_release测试平台,打开ate_release测试平台。
(2)准备一台iqxel或者是wt208仪表(以4个射频端口为例),多根射频线、多根扣线、多个功分器和网线。
(3)smartrgsr905ac为2t2r产品。
(4)测试电脑网口拉一根网线连接仪表总网口,然后将仪表的射频端口引出射频线,射频线再接上一个功分器,功分器再接上两个射频线(该射频线需加上扣线或者顶针直接接在被测物ap模块的两个扣子上面即可)总共用线情况为:3根射频线+1个功分器+2根扣线或者顶针。
(5)分别接通仪表和被测物电源,搭建环境完毕。
(6)通过ate_release测试平台调用,打开测试软件。
(7)添加posttest测试项,手动测量测试线损,并在posttest设置页面进行填写。
(8)添加insertdut测试项,在insertdut设置页面,配置加载的动态库名称,dut端开启的通讯服务的ip和编号。
(9)添加txverify测试项,在txverify设置页面,配置需要测试的模式,速率,天线,信道,并设置powerlimit,evmlimit,freqoffset,mask测量值的pass范围,并勾选verifypower/evm/freqoffset/mask是否进行测试,以及设置averagetimes参数,选择是否需要多次测量。如果需要测试多个不同的模式,速率,天线,信道的话,需要添加多个txverify测试项。
(10)在所有测试项最后,添加removedut测试项,用于测试完成后的动态库资源释放。
(11)完成所有的测试配置。
(12)点击开始测试按钮,测试平台会自动调用测试程序,按照配置好的测试项顺序依次执行。如果全部测试通过,则pass,如果有测试项目不达标,则fail。
尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开、附图和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变形和改进外,对于本领域技术人员来说,其他的用途也将是明显的。