# 射频测试方法
本文适用于:EMC3080、EMC3090、EMC3180、EMC3280、EMC3380、EMC3285 等系列模组。
#系统简介
在产品的认证过程中,通常需要评估无线模组的射频收发性能,来判断是否符合认证规范和国际标准。由于模组在正常通讯时,射频信号的参数和收发时序无法保持不变,所以在认证和测试时一般不直接测试模组正常通讯时收发的射频信号。模组必须进入特定的射频发送和接收模式(以下称为ATE工作模式),通过PC上运行的mpTools软件设置模组来收发特定的测试信号和报文,以供测试设备进行测量。
整个测试系统的连接图如下:
PC通过串口连接到运行在ATE模式的模组,通过UART命令控制模组发送和接收各种参数的射频信号。测试仪器可以通过天线接收模组的信号,也可以通过射频线缆直接和模组天线接口连接,来对模组的射频性能进行全方位的测试和评估。
PC上通过测试控制软件来首发UART命令:
- 测试Wi-Fi信号的控制软件:📎mptool_2V0.rar
- 测试蓝牙信号的控制软件:[📎Bluetooth MP Kit Setup Package.zip](/attach/zh/Bluetooth MP Kit Setup Package.zip)
模组在启动时,会检测Boot信号和EasyLink引脚的电平,如果这两个引脚的都是低电平,则模组进入ATE模式。模组通过UART_LOG接收PC上传输的控制指令。所以模组需要用到的信号线如下:
- Boot:在模组上电时,保持低电平
- Status:在模组上电时,保持高电平(默认)
- UART_LOG_TXD:与PC进行UART通讯的接收信号
- UART_LOG_RXD:与PC进行UART通讯的发送信号
- VDD:模组的供电
- GND:模组的接地信号线
以上信号和电源线的位置在不同型号模组上的位置,请参考相应模组的数据手册。对于EMW3280,Pin19(boot)接地(拉低),把 Pin21(UART_LOG_TXD)&Pin22(UART_LOG_RXD)与PC的UART连接。
在下面的示例中,我们选用EMC3280作为测试模组,同时为了方便对模组供电和设置工作模式,我们将模组安装在MXKit开发板上。MXKit的MXKit-Base底板可以将UART信号转换成USB信号,因此PC通过Micro USB线和MXKit开发板连接,EMW3280模组焊接在核心板MXKit-Core-3080上,然后插到在MXKit-Base底板。
#测试的准备工作
#连接PC和模组
- 在PC上安装MXKit-Base底板上UART转USB芯片:CP2105的驱动程序,驱动程序下载 (opens new window)。
- 通过Micro USB线连接PC与MXKit开发板。
- 在Windows的设备管理器上可以看到两个虚拟串口设备,记录下Silicon Labs CP210x USB to UART Bridge: Enhanced COM Port所对应的COM端口号,例如在下图中,对应的端口号是COM4。
#模组进入ATE工作模式
将模组的Boot信号接地后,重新对模组上电后,模组就会自动进入ATE工作模式。在MXKit上的操作方法是:
- 将MXKit-Base板上的拨码开关的1号拨动开关拨到ON。
- 然后按下左边的RESET按钮。模组复位后松开。
#Wi-Fi测试方法
#mpTool软件启动
- 下载mpTool软件📎mptool_2V0.rar,解压缩后,运行UI_mptool.exe。
- 完成测试的准备工作。
- 在Main标签页中,在select COM下拉菜单中,选择“连接PC和模组”步骤中记录下的串口端口号。这个例子中就是COM4。
- 点击Initialize按钮,完成初始化。如果初始化失败,在软件右方的View Window会显示出错的原因。成功后,软件中其他的控件都会开启。
#mpTool软件简介
mpTool软件分为4个标签,分别是Main,PSD,Efuse和Reg。其中Main窗口可以设置射频的收发参数和模式,并且启动收发测试。其他窗口用于模组的生产,用户不需要操作,如果擅自使用这些标签的功能,很有可能破坏模组在工厂生产的校准参数,并且导致模组永久损坏无法修复。
Main标签窗口中的各个控件的功能如下:
Select COM:选择PC与模组通讯的串口端口号
Control:包含各种控制功能
Initialize:对串口和待测模组进行初始化
Pwridx by Rate and Limit:选中后,软件从模组的Efuse中读取参数初始值,同时对天线发射功率做一定程度的限制后,显示在TX Power Index中,不可修改。如果不选中,用户可以调整TX Power Index中的数值,增加或者减少发射功率
TX Power Tracking Start:启动温度补偿功能,一般不开启
MAC Address, Wlan Mode:可不用
Testing Item:选择测试项目,可选测试项目如下:
- Packet TX:用于测试射频发射性能,如功率,EVM和频率偏移
- Continuous TX:用于在FCC/CE/CMCC/CTA 认证中测试发射功率或者测试模组的最大功耗
- Single Tone TX:用于测试频率偏移
- Carrier Suppression TX:仅用于802.11b
- Packet RX(All),Packet RX(Filtered):接收测试,可以用于测试模组的接收灵敏度和误码率
Start/Stop:开始和停止“Testing Item”中选择的测试项目
TX Setting and RX Setting:设置收发包的射频参数
- Ant TX and Ant RX: 对于本系列模组,固定选择A
- Data Channel:选择射频收发的无线频段
- Data Rate:调制方式和数据传输率
- TX Power Index:天线发射功率(仅可设置A天线)。模组无法设置输出固定的功率的射频信号,只能在当前发射功率的基础上进行调整,Power Index每增/减加1,发射功率会相应增/减加0.5dBm。TX Power Index的初始值保存在Efuse中,并且由MXCHIP在模组生产时进行校准,符合数据手册中的参数,保证性能并满足认证标准的需求。
- Preamble:设置报文的前导码模式,可选Long_GI和Short_GI。
- Bandwith:射频收发的带宽,20MHz或40MHz
- Xtal.cap:晶振的校准值,可用于调整射频的频率偏移
TX Packet Setup:设置报文发送参数
- Pattern:设置TX报文的类型
- Count:发包数量
- Length:每一个包的长度
- Interval:不可调
Packet counter:显示发包,收报和收到错误包的数量
- Reset:将数量恢复到0
View Window:软件Log输出窗口
#Wi-Fi测试示例
#信令模式发包测试
#读取出厂默认参数
- 选择Pwridx by Rate and Limit,从Efuse中读取出厂参数。
- 选择TX测试项目:Packet TX
- 选择射频信道
- 选择调制模式和数据速率
- 选择带宽
- 启动测试
#自定义发包参数
- 不选择Pwridx by Rate and Limit
- 选择TX测试项目:Packet TX
- 选择射频信道
- 选择调制模式和数据速率
- 设置发射功率,不同的调制模式和速率下,发射功率设置值如下表。在此基础上增加或者减少
802.11b | 802.11g | 802.11n | |||
1M | 11M | 6M | 54M | MCS0 | MCS7 |
35 | 35 | 46 | 44 | 45 | 42 |
- 选择带宽
- 选择频率校准参数
- 启动测试
#Single tone发包测试
- 选择TX测试项目:Single Tone TX
- 选择射频信道
- 设置发射功率参数为0
- 启动测试
#接收测试
- 选择RX测试项目:Packet Rx(All)
- 选择射频信道
- 启动测试
- 查看收到的数据包数量
#蓝牙测试方法
#进入蓝牙测试模式
接线方式与 WIFI 测试相同。测试完 WIFI,必须把 MPTOOL 关掉,释放串口。
打开串口终端(以 SecureCRT 为例)
在终端里分别输入以下三条指令: ATM2=bt_power,on
ATM2=gnt_bt,bt
ATM2=bridge 在终端里将会看到打印如下信息,表示进入蓝牙 ATE 模式。
打开 Bluetooth MP Kit Setup Package 压缩包,并找到“RTLBTAPP.exe”文件,双击 打开。
按下图顺序设置,最后点击“Open”初始化,成功后左上角会变成绿色,如下图。
#蓝牙发包测试
选择“LE Test”菜单,TX 测试在该界面下设置 Tx 模式,信道,包个数,速率等。设置完后点击“Start”开始信号输出。如下图箭头指示。
![](https://cdn.nlark.com/yuque/0/2020/png/579392/1585825502124-98afdf47-0050-4b32-9ea0-3a973db0aa72.png)
#蓝牙收包测试
RX 测试在该界面下设置 Rx 模式,信道,速率等。设置完后点击“Start”开始进入接收信号状态。如下图箭头指示。
待测试仪器发包完成后,点击“Stop”,则在”LE Rx Count”处会显示收到的包数量。清空后再次点击“Start”进入下一次测试。
#模组和射频测试仪器的连接
射频测试仪器检测模组发出的射频信号有两种方法:
使用2.4GHz的天线无线接收
用传导线与模组的天线接口连接后直接接收。如果模组使用的是PCB板载天线,需要先断开PCB天线的连接。按照以下的测试步骤进行:
- 移除模组上芯片与天线连接的0欧姆电阻。
b. 将传导线焊接到模组背面的天线测试点上,传导线的另一端连接到测试仪器。
#附录:Wi-Fi ATE 串口指令
mptool软件和待测模组通过串口指令进行交互。开发者可以根据这些指令,开发定制的测试系统。
#指令列表
Start MP mode
执行该命令后,Wi-Fi驱动停止传输数据,进入MP模式。
iwpriv mp_start
Stop MP mode
执行该命令后,Wi-Fi驱动停止其他命令开启的报文传输。但是系统需要重启,在能进入正常的Wi-Fi连接模式。
iwpriv mp_stop
Set Tx rate
设置Tx报文的数据传输速率。
iwpriv mp_rate rate
rate: 数据传输速率,2 = 1M, 4 = 2M, 11 = 5.5M, …, 108 = 54M, 128 = MCS0, 129 = MCS1, …, 142 = MCS15
Set operational channel
设置收发报文的工作频段。
iwpriv mp_channel channel
channel: 收发报文的频段
Set operational bandwidth
设置收发数据包的带宽,设置传输MCS报文的保护间隔(Guard Interval)。如果不提供参数,默认设置为20MHz带宽,并使用长保护间隔(long GI)来传输。
iwpriv mp_bandwidth 40M=40m, shortGI=sgi
40m: 设置带宽,1=40M带宽模式,0=20M带宽模式
sgi: 设置GI的模式,1=Short GI,0=long GI
Set Tx power
设置路径A和B的发射功率,如果不提供参数,则使用Flash中预设的参数。
iwpriv mp_txpower patha=x,pathb=y
x: 路径A的发射功率。
y: 路径B的发射功率。
Set antenna for Tx
设置发送时使用的天线
iwpriv mp_ant_tx ant
ant: 设置发送时使用的天线, a=antenna A,b=antenna B,ab=antenna A和B。
Set antenna for Rx
设置接收时使用的天线
iwpriv mp_ant_rx ant
ant: 设置接收时使用的天线, a=antenna A,b=antenna B,ab=antenna A和B。
Start air Rx mode
该命令用于无线接收测试。使用Start命令启动收包,使用stop命令来停止计数,并且显示正确和错误报文的统计数据,使用phy命令可以显示RF物理层接收包,CRC错误和失败报警的数量。
iwpriv mp_arx start/stop/phy
start: 开始收包。
stop:停止计数并且显示统计信息。
phy:显示RF物理层接收包,CRC错误和失败报警的数量
Start continuous Tx mode
该命令用于持续发包测试。使用time命令设置发送的时间,使用count命令设置发送的数据包数量,如果time和count都没有设置,则会启动持续发包模式。如果没有设置background模式,任意字符的输入均可停止发包。如果设置了cs模式,则发送用载波抑制(carrier suppression)信号。使用stone命令可以发送single tone信号,用于测试频率。如果设置了stone,发送的信号将不是一个可辨识的报文。在默认情况下,使用硬件发送短占空比的信号,如果设置了pkt,则通过软件控制发包。
iwpriv mp_ctx count=n,background,stop,pkt,cs,stone
t: 设置发包时间
n: 设置发包数量
background: 设置后台发包模式
stop: 停止后台发包
pkt: 发送tx报文
cs: 发送载波抑制信号
stone: 发送Single Tone信号
Query air Rx statistics
用于无线报文计数。当传输数据包时,使用该命令获得已经传输的报文数量。当接收是,该命令可以用于获得正确和CRC错误的报文的统计数量。
iwpriv mp_query
Reset air Tx/Rx statistics
该命令可以充值报文的计数。在发送时,该命令可以重置发包的数量,接收时,可以重置正确和CRC错误的报文数量。
iwpriv mp_reset_stats
#指令使用示例
持续发送测试
iwpriv mp_start //enter MP mode iwpriv mp_channel 1 //set channel to 1 . 2, 3, 4~11 etc. iwpriv mp_bandwidth 40M=0,shortGI=0 //set 20M mode and long GI iwpriv mp_ant_tx a //select antenna A for operation iwpriv mp_txpower patha=44,pathb=44 //set path A and path B Tx power level iwpriv mp_rate 108 //set OFDM data rate to 54Mbps,e x: CCK 1M = 2, CCK 5.5M = 11, KK, OFDM54M = 108 N Mode: MCS0 = 128, MCS1 = 129…..etc. iwpriv mp_ctx background //start continuous Tx iwpriv mp_ctx stop //stop continuous Tx iwpriv mp_stop //exit MP mode
持续发送报文测试
iwpriv mp_start //enter MP mode iwpriv mp_channel 1 //set channel to 1 . 2, 3, 4~11 etc. iwpriv mp_bandwidth 40M=0,shortGI=0 //set 20M mode and long GI iwpriv mp_ant_tx a //select antenna A for operation iwpriv mp_txpower patha=44,pathb=44 //set path A and path B Tx power level iwpriv mp_rate 108 //set OFDM data rate to 54Mbps, ex: CCK 1M = 2, CCK 5.5M = 11, KK, OFDM54M = 108 N Mode: MCS0 = 128, MCS1= 129….. etc. iwpriv mp_ctx background,pkt //start packet continuous Tx iwpriv mp_ctx stop //stop continuous Tx
载波抑制测试
iwpriv mp_start //enter MP mode iwpriv mp_channel 1 //set channel to 1 . 2, 3, 4~11 etc. iwpriv mp_bandwidth 40M=0,shortGI=0 //set 20M mode and long GI iwpriv mp_ant_tx a //select antenna A for operation iwpriv mp_txpower patha=44,pathb=44 //set path A and path B Tx power level iwpriv mp_rate 108 //set OFDM data rate to 54Mbps,ex: CCK 1M = 2, CCK 5.5M = 11, KK, OFDM54M = 108 N Mode: MCS0 = 128, MCS1 = 129…..etc. iwpriv mp_ctx background,cs //start sending carrier suppression signal iwpriv mp_ctx stop //stop continuous Tx iwpriv mp_stop
Single Tone信号发送测试
iwpriv mp_start //enter MP mode iwpriv mp_channel 1 //set channel to 1 . 2, 3, 4~11 etc. iwpriv mp_bandwidth 40M=0,shortGI=0 //set 20M mode and long GI iwpriv mp_ant_tx a //select antenna A for operation iwpriv mp_txpower patha=44,pathb=44 //set path A and path B Tx power level iwpriv mp_rate 108 //set OFDM data rate to 54Mbps,ex: CCK 1M = 2, CCK 5.5M = 11, KK, OFDM54M = 108 N Mode: MCS0 = 128, MCS1 = 129…..etc. iwpriv mp_ctx background,stone //start sending single tone signal iwpriv mp_ctx stop //stop sending single tone signal iwpriv mp_stop //exit MP mode
接收测试
iwpriv mp_start //enter MP mode iwpriv mp_bandwidth 40M=1,shortGI=0 //set 40M mode and long GI iwpriv mp_channel 6 //set channel to 6 iwpriv mp_ant_rx ab //select all 2 antennas for operation iwpriv mp_arx start //start air Rx iwpriv mp_query //get the statistics iwpriv mp_arx stop //stop air Rx and show the statistics iwpriv mp_stop //exit MP mode
#附录:蓝牙 ATE 串口指令
在ATE模式下,通过debug串口(波特率115200)发送三条指令才能实现从WIFI ATE 模式切换到蓝牙 ATE 模式
ATM2=bt_power,on ATM2=gnt_bt,bt ATM2=bridge
#蓝牙串口指令格式
以下串口指令均以16进制格式发送
启动蓝牙发包指令
示例:01 1f 20 00 01 34 20 04 00 ff 00 01,按照指定的参数启动发包
01 1f 20 00 01 34 20 04 | 指令头部 |
00 | 信道0(2402MHz),信道可改为0~39 信道对应关系:00(ch0),01(ch1),02(ch2)…0a(ch10),0b(ch11)…0f(ch15)…13(ch19)…27(ch39) |
ff | 表示数据的长度,数据长度可设为从00到ff,默认使用最长的ff. |
00 | 表示包类型为PRBS9,包类型对应关系:00:PRBS9 01:11110000 02:10101010 |
01 | 表示BLE 1M速率,如果是2M速率,则改为02 |
停止蓝牙发包指令
示例****:01 87 fd 01 07 01 1f 20 00,停止发送
启动蓝牙收包指令****
示例****:01 33 20 03 00 01 01,按照指定的参数启动收包
01 33 20 03 | 指令头部 |
00 | 信道0(2402MHz),信道可改为0~39 信道对应关系:00(ch0),01(ch1),02(ch2)…0a(ch10),0b(ch11)…0f(ch15)…13(ch19)…27(ch39) |
01 | 表示BLE 1M速率,如果是2M速率,则改为02 |
01 | 指令尾部 |
停止蓝牙收包指令
示例****:04 0e 04 02 87 fd 01,停止发送
模组返回收包结果
示例:04 0e 06 02 1f 20 00 cd 03
04 0e 06 02 1f 20 00 | 指令头部 |
cd 03 | 模组收到的数据包数量,小端格式,低位在前,高位在后,如cd 03=1973 |
#指令使用示例
BLE发包测试示例
发送指令:01 1f 20 00 01 34 20 04 00 ff 00 01
以信道0,数据长度为ff,包类型为PRBS9,BLE 1M 发射
发送指令:01 1f 20 00 01 34 20 04 00 ff 01 02
以信道0,数据长度为ff,包类型为11110000,BLE 2M 发射
BLE收包测试示例
发送指令:01 33 20 03 00 01 01
进入信道0,速率1Mbps接收状态
发送指令:04 0e 04 02 87 fd 01
停止接收数据包
接收指令:04 0e 06 02 1f 20 00 cd 03
计算收到的包的数量,后两字节表示收到包的数量(十六进制,高位在后(如03),低位在前(如cd))。03cd转换成10进制数为1973。应用程序中需将收到的数据自行转换成十进制数并显示出来。
————————————————————————————————————————————————
END.