ATEUnitRemote的使用说明
ATEUnitRemote程序使用作为TCP服务器端,为产测程序提供了仪器接口。
使用ATEUnitRemote时,要在ATEUnit的程序文件夹中打开ATEUnitRemote,因为该程序依赖同目录下的库文件。
ATEUnitRemote的基本使用
初始使用,先要进行配置。点击“Configuations”按钮进入配置界面。如下:
选择要使用的VST卡,并将进打勾选中。选中时,还可以配置该卡对应连接的NI 5541配置。如下:
配置完成后,点击“Save”按钮。界面关闭后,主程序加自动读取新配置。如果非点“Save”进行关闭,改动的配置将不保存。
配置将保存在ATEUnit目录中的ATEUnitRemote.xml文件中,每次启动时将自动加载该配置文件。
在程序的最下面状态栏中,将显示当前配置的VST卡和是否使用NI 5541。
点击“Start”将加载VST卡并启用服务,注意,其时不要有其它程序占用将使用的VST,不然后导致启动失败。
线损校准
为了更加准确的对设备进行测试,ATEUnitRemote提供了方便的线损校准工具,用于校正测试线路径的损耗。点击主界面的“Cable Loss”将打开该工具。需要注意的是,该工具测试时需要调用VST卡的功能,所以,要先打开(Start)服务。如果未打开服务,该工具只能查看目录下的校准文件,而无法进行新测试。
该工具有界面分为几个部分:
- 最左上角,为文件操作区域,可加载、保存、删除校准文件。
- 文件操作区域下面为端口选择区域,可选择VST卡、5541的端口,选择后,下面的表格将显示当前选中端口的内容。
- 上面的中间为连接向导区域,用于指导在测试线损过程中,如何连接测试线。
- 上面的右侧为日志区域,用于提示状态信息。
- 下面的数据区域,用于显示和更改线损及相关功能。
线损的文件保存在ATEUnit目录的CableLoss子目录中,以cableloss_xxx.xml作为文件名,其中xxx为本程序下拉列表中显示的名称。
在第三个Tab页中,有一些高级工具,目前提供了转发QDART线损文件的工具:
在最左上角的下拉列表中,将列出CableLoss目录下的所有线损文件:
选中线损文件后,点击“Load”将提示是否加载选中的线损文件:
注意上图中,线损的tx和rx是相对于仪器而言的,而非DUT看上去的方向。
测试线损
在数据区域的第一个Tab页右侧,有一些测试选项可以配置。
- Reset按钮将列表中的数据重置为WLAN的2.4G和5G所有用到的频点。
- PowerDivider中,可配置要测试功分器的天线数量。
- TestItems中,可配置测试项目。(建议不要改动)
注意:在测试过程中,需要始终使用一根射频馈线进行各个连接步骤,以保证准确的线损值。
选择对应的VST卡及5541端口后,点击“Start Test”可对其进行线损测试。
在向导区域提示了你连线方式,连接好后,点击“Next”按钮。(需要注意的是,这里的NI VST中,下面的灰色方块表示VST卡SMA头连接的3dB衰减器,测量测试线线损时,需要去掉Out接口的3dB衰减器,保留In接口的3dB衰减器。)
测试结束后,在向导区域将向你确认该值是否正确,如果测试过程中发现问题,可以点击“Retry”重新进行该项测试,如果没问题,点击“Next”进行下一项测试。
在测试“Tx”损减时,仍会先指导你连接射频线,连好后点击“Next”开始测试。
此时,可以将测试数据进行保存。在左上的下拉列表中,选择或手动输入一个要保存的名称。
测试线损的一些建议:
- 测试线损前先要校准5644R。先让5644R工作一段时间,让它的温度稳定下来,再使用VST Calibrate校准一下5644R。
- 先使用ATEUnitRemote中的CableLoss工具来测线损。UDT的IPEX到功分器SMA的衰减,通过CableLoss里的ExternalAtten来设置。
远程接口
ATEUnitRemote使用TCP连接,以Josn格式的数据作为调用接口,每条数据需以回车符作为结尾,数据的中间不允许出现换行和回车符。
ATEUnitRemote监听的端口默认为8082,也可以通过配置页面更改该端口。
Josn数据格式定义如下:
类型 | 内容 | 说明 |
---|---|---|
调用 | {”cmd“: string, “data”:{ “unit”: int, “port”: int, “antenna”: int, “standard”: string, “bandwidth”: int, “extBandOffset”: int, “frequency”: double, “frequency2”: double, “rate”: int, “mcs”: int, “txpower”: double, “refLevel”: double, “averages”: int, “count”: int, “cableLossTable”: string, “usingCableLoss”: bool }} | cmd: 命令类型 unit: VST单元,一般为0或1 port: 5541的端口0-7,未使用5541可以为0 antenna: 功分器的天线1-8 standard: 协议标准,可以为b,a,g,ag,n,ac,ac1,ac2,ax bandwidth: 带宽,为Hz extBandOffset: 增加频率偏移,向低为-1,向高为1,0表示无 frequency: 工作中心频率 frequency2: 第二个中心频率 rate: 传统速率值 mcs: MCS速率 txpower: 发射功率,dBm refLevel: 初始时测试用功率电平,可通过AutoLevel调整 averages: 使用几次测试结果进行平均 count: 发送时的包数量,0表示持续发送 cableLossTable: 在服务器端使用的线损 usingCableLoss: 是否在服务器端处理线损 |
返回 | {”success“: bool, “error”: string, “errorCode”: int, “data”:{ “serviceVersion”: string, “instrument”: string, “units”: array(string), “portCount”: int, “cableLossTables”: array(string), “cableLossTable”: string, “cableLoss”: object, “evm”: double, “power”: double, “errorFrequency”: double, “spectralMask”: double, “usingLevel”: double, “usingAtten”: string }} | success: 是否执行成功 error: 错误信息 errorCode: 错误代码 serviceVersion: 服务器程序版本 instrument: 仪器型号 units: 仪器的测试单元列表 portCount: 仪器支持的测试端口数量 cableLossTables: 当前线损文件列表 cableLossTable: 当前使用的线损文件名称 cableLoss: 线损文件的内容 evm: EVM指标,dB power: 接收到的功率,dBm errorFrequency: 频率偏移, Hz spectralMask: 频谱模板 usingLevel: 测试使用的refLevel,dBm,通过AutoLevel调整后的 usingAtten: 使用的衰减值 |
命令及数据定义:
命令 | 调用示例 | 返回示例 |
---|---|---|
getInfo | {“cmd”:“getInfo”} | {“success”:true,“data”:{ “serviceVersion”:“1.0.0.0”,“instrument”:“NI-VST”,“units”:[“RIO0:0308BBCD”],“portCount”:8,“cableLossTables”:[“0622”,“0709”],“cableLossTable”:null}} |
getCableLoss | {“cmd”:“getCableLoss”,“data”:{ “cableLossTable”:“0709”}} | |
setCableLoss | {“cmd”:“setCableLoss”,“data”:{ “cableLossTable”:“0709”,“usingCableLoss”:true}} | {“success”:true} |
anaWlanIqMask | {“cmd”:“anaWlanIqMask”,“data”:{ “unit”:0,“port”:0,“antenna”:3,“standard”:“n”,“bandwidth”:40000000,“extBandOffset”:0,“frequency”:5510000000.0,“frequency2”:0.0,“rate”:0,“mcs”:7,“txpower”:0.0,“refLevel”:20.0,“averages”:1,“count”:0}} | {“success”:true,“data”:{ “evm”:-38.4807911698221,“power”:19.416999600057455,“errorFrequency”:321.0109940393283,“spectralMask”:0.0,“usingLevel”:28.838206479719666,“usingAtten”:“7.88,26.8898774736328”}} |
anaWlanPower | {“cmd”:“anaWlanPower”,“data”:{ “unit”:0,“port”:0,“antenna”:3,“standard”:“n”,“bandwidth”:20000000,“extBandOffset”:0,“frequency”:5530000000.0,“frequency2”:0.0,“refLevel”:16.0,“averages”:1}} | {“success”:true,“data”:{ “power”:16.77307467995897,“usingLevel”:26.239985925584925,“usingAtten”:“7.66,26.6598112050781”}} |
anaWlanFreqErr | {“cmd”:“anaWlanFreqErr”,“data”:{ “unit”:0,“port”:0,“antenna”:4,“extBandOffset”:0,“frequency”:5500000000.0,“refLevel”:20.0,“averages”:1}} | {“success”:true,“data”:{ “errorFrequency”:-5630.6306304931641,“frequency”:5499994369.3693695}} |
genWlanPacket | {“cmd”:“genWlanPacket”,“data”:{ “unit”:0,“port”:0,“antenna”:0,“standard”:“n”,“bandwidth”:40000000,“extBandOffset”:0,“frequency”:2452000000.0,“frequency2”:0.0,“rate”:0,“mcs”:7,“txpower”:-63.0,“count”:200}} | {“success”:true,“data”:{ “usingAtten”:“9.13,36.9316345850545”}} |
genWlanStop | {“cmd”:“genWlanPacket”,“data”:{ “unit”:0,“port”:0} | {“success”:true} |