WLAN测试 API接口说明
NI提供的WLAN工具,带有Labview和C的接口库。可使用这些库开发出各种测试需要的功能,这些库的使用请参考官方文档。
ATEUnit的DLL库
我们还提供了一个根据WLAN产测需要功能,封装的C#库niVSTATEDotNetAPI.dll。该库可以更方便WLAN产测程序使用。该库中有关WLAN部分的API定义如下表:
命名空间 | 函数 | 返回值 | 参数 | 备注 |
---|---|---|---|---|
tn.niModinst | niModInstFindRFSADevices | (UInt32)数组长度 | out DeviceNames: 设备名数组 out DeviceModels: 设备型号数组 out DeviceSerials: 设备序列号数组 | 查找当前连接的VST卡 |
tn.niWlanAte | niWlanOpenSession | (Boolean)是否成功 | in Name: 设备名 | 打开会话 |
tn.niWlanAte | niWlanCloseSession | (Boolean)是否成功 | 关闭会话 | |
tn.niWlanAte | niWlanGerateWaveform | (void) | in CarrierFrequency: 频率,单位Hz。 in PowerLevel: 发送的功率, 单位dBm。 in Standard: 协议。 in ChannelBandwidth: 信道带宽,单位Hz。 支持5+e6/1+e7/2+e7/4+e7/8+e7/16+e7。 in SendPackets: 发送包数量。 ⇐0为持续发送并立即返回; >0将发送指定数量并等待完成后返回。 in MCSIndex: MCS速率,范围为0-13。 in OFDMDataRate: 11A/G速率。 in DSSSDataRate: 11B速率。 | 发送波形 |
tn.niWlanAte | niWLANIQMeasurement | (void) | in CarrierFrequency: 频率,单位Hz。 in ReferenceLevel: 测量参考电平,单位dBm。 建议尽量接近的值,以使Auto值更准。 多次测量可配合UsingLevel加快速度。 in AutoLevelNumber: 自动调整的次数。0不使用。 in Standard: 协议。 in ChannelBandwidth: 信道带宽,单位Hz。 in OFDMChannelEstimationMethod: OFDM信道评估方式。 0:Preamble,1:Preamble and Data。 in AmplitudeCorrectionEnabled: 是否进行幅度修正。 0:Disable,1:Enable。 in OFDMPhaseTrackingMethod: 0: Standard,2:None,3:Standard with Cubic Spline Fit. in NumberOfAverages: 结果平均数量。 out UsingLevel: 使用的ReferenceLevel值。 out Evm: EVM结果,单位dB。非11b为RMS,11b为Max。 out CarrierFrequencyOffset: 频率偏移,单位Hz。 out OfdmSpectralFlatnessMargin: 单位dB。 out OfdmCarrierFrequencyLeakage: 单位dB。 out AverageGatedPower: 单位dBm。 out SpectralMaskViolation: 单位%。 | 测量接收波形 |
tn.niWlanAte | niWLANPowerMeasurement | (void) | in CarrierFrequency: 频率,单位Hz。 in ReferenceLevel: 测量参考电平,单位dBm。 建议尽量接近的值,以使Auto值更准。 多次测量可配合UsingLevel加快速度。 in AutoLevelNumber: 自动调整的次数。0不使用。 in Standard: 协议。参考上面。 in ChannelBandwidth: 信道带宽,单位Hz。 in NumberOfAverages: 结果平均数量。 out UsingLevel: 使用的ReferenceLevel值。 out TxPowerPeakPower: 单位dBm。 out TxPowerAveragePower: 单位dBm。 out TxPowerAveragePowerWithIdleTime: 单位dBm。 | 仅测量接收功率 |
tn.niWlanAte | niWLANSpectrumPeak | (Double)Peak frequency | in CenterFrequency: 频率,单位Hz。 in ReferenceLevel: 测量参考电平,单位dBm。 建议设置比需要大一点的值。 in Timeout: 超时,单位s。 in ResolutionBandwidth: 频率,单位Hz。 | 测量单载波频率 |
tn.niWlanAte | niWLANClearWaveform | (void) | 清除波形发送 | |
tn.niSwitch5541 | niSwitch5541OpenSession | (Boolean)是否成功 | in VSTName: 连接5541控制线的VST的资源名称,如RIO0。 out Serial: 所连5541的序列号。 | 打开Switch会话 |
tn.niSwitch5541 | niSwitch5541CloseSession | (Boolean)是否成功 | 关闭Switch会话 | |
tn.niSwitch5541 | niSwitch5541Reset | (void) | 复位Switch控制值 | |
tn.niSwitch5541 | niSwitch5541GetTemperature | (Double)当前温度 | 获取Switch当前内部温度 | |
tn.niSwitch5541 | niSwitch5541SaRoute | (void) | in InstPort: 0/1,对应仪器端的接口接收。 in DutPort: -1/0-7。其中-1表示关闭,0-7表示对应端口。 | 设置接收路由 |
tn.niSwitch5541 | niSwitch5541SgDefaultAtten | (void) | in DutPort: 对应0-7的端口号。 in Atten1: 端口开启时,衰减器1的值。 in Atten2: 端口开启时,衰减器2的值。 | 设置发送路由开启时增益值 |
tn.niSwitch5541 | niSwitch5541SgRoute: | (void) | in InstSwap: 0时Inst0对应0-3,Inst1对应4-7;1时Inst0对应4-7,Inst1对应0-3。 in DutPortMask: 0-7端口开启的掩码。 | 设置发送路由 |
枚举值定义:
类型 | 值含义 |
---|---|
Standard | 0: 80211AG_OFDM 1: 80211BG_DSSS 2: 80211G_DSSS_OFDM 3: 80211N_MIMO_OFDM 4: 80211AC_MIMO_OFDM 5: 80211AH_MIMO_OFDM 6: 80211AF_MIMO_OFDM 7: 80211J_OFDM 8: 80211P_OFDM 9: 80211AX_MIMO_OFDM |
OFDMDataRate | 0: 6M 1: 9M 2: 12M 3: 18M 4: 24M 5: 36M 6: 48M 7: 54M |
DSSSDataRate | 0: 1M 1: 2M 2: 5.5M 4: 11M |
注:使用上述函数需要处理异常。如果没有许可文件,在Open Session时会失败。
ATEUnit的服务器
我们提供了ATEUnitRemote服务器程序,通过使用JSON接口进行远程调用。在ATEUnitRemote服务器中,集成了线损测试和自动计算功能, 并可以支持多个客户端同时连接使用。