测试准备与射频校准
概述
本文介绍 CAT1 产品完成射频校准、射频综测、金板线损点验、温补数据提取、功能测试及终检所需的环境、配置和操作流程。
测试准备(环境搭建)
固件及配置
- Hi2131EV100.fwpkg
- kv.bin
- RadioConfig.tlv(TLV格式的RF配置文件):此文件由用户根据模组适配完成并负责维护,请参见“配置文件简介”章节。
- RadioConfig.cal校准文件中,版本号ConfigurationName长度不可以超过32个字符。
工具
- BurnTool:固件及配置烧写工具,支持Windows系统的界面和命令行格式,请参见《HiDiTingV100 BurnTool工具 使用指南》。
- rf_calibration_and_test_tools:版本包中提供的校准综测脚本,可用于射频校准和射频综测,请参见“射频校准”和“射频综测”章节。
VISA驱动
- 推荐使用NI-VISA 5.4.1以上的版本。NI-VISA 4.6.2的版本也可以使用,但是不支持Hislip协议。
-
如果没有如下图标,或者对应路径没有如下软件,应该是没有安装5.4.1以上版本的VISA驱动,请继续阅读下文进行安装:
-
确认是否安装了VISA驱动,打开如下工具。

-
确认版本号。

-
安装步骤。

-
测试与校准流程
射频校准
模组制造商需要对每个模块执行校准流程,以确保个体模组与其射频参数可以达到最佳匹配。可以使用版本包中提供的校准脚本进行简单配置后再执行校准流程,最后对校准生成的射频文件进行更新。详细操作步骤请参见“校准操作步骤”章节。
校准总述
校准(RX和TX)主要是为了确保如下指标的精度符合要求,以消除芯片和单板之间的差异:
- 芯片自校准,包含内部PLL、RX filter、TX filter、ADC/DAC等。
- RX接收增益大小(AGC)、DC大小、IQ幅度不平衡、RX IP2。
- TX发送功率大小(TX Power)、DC大小、IQ幅度不平衡。
影响上述指标的精度的主要因素包括:
- 芯片工艺、器件工艺
- 不同band、不同频率
- 温度
校准完成之后会将校准结果写入Flash,软件在RF初始化时读取Flash中的校准参数,业务过程中按band、功率、档位索引相应结果,并读取温度、频率做相关修正。
图 1 校准基本流程

校准准备
在用户进行校准前,需要完成或准备以下内容:
- 硬件准备:模组板级设计及匹配调整,请参见《硬件 用户指南》中的射频电路设计说明。
-
校准文件:即脚本中“RadioConfig.cal”文件,根据模组射频前端电路、PA选型等配置,温度补偿表优先使用提取好的温补数据。温补参数提取的方法与要求,参考“功率温补值提取”章节。校准文件中需要配置的全部参数如表1所示,各参数如何配置请参见“校准文件介绍”章节。
表 1 校准文件所需配置项
配置项
配置来源
详细解释参考章节
pa_default
调测需求,是否需要指定哪套PA。
pio_mask
根据射频前端switch确定。
idle_pio_state
根据射频前端switch确定。
pa_enable
需要使能哪套PA配置。
PROD_ID1
根据PA手册确认,区分PA。
MANF_ID1
根据PA手册确认,区分PA。
USID1
根据PA手册确认,区分PA。
tx_mipi_num
根据PA手册确认,区分PA。
idle_mipi_num1
根据PA手册确认,区分PA。
idle_mipi_state1
根据PA手册确认,区分PA。
enable
附加SWITCH开关使能。
PROD_ID2
根据SWITCH手册确认,区分SWITCH。
MANF_ID2
根据SWITCH手册确认,区分SWITCH。
USID2
根据SWITCH手册确认,区分SWITCH。
idle_mipi_num2
根据SWITCH手册确认,区分SWITCH。
idle_mipi_state2
根据SWITCH手册确认,区分SWITCH。
PioState
根据射频前端电路确定,区分Band。
RxPortSelect
根据射频前端电路确定,区分Band。
PioState
根据射频前端电路确定,区分Band。
TxPortSelect
根据射频前端电路确定,区分Band。
MaxPower
最大发射功率,区分Band。
MipiStateHPM
根据PA手册确认,区分PA、Band。
MipiStateMPM
根据PA手册确认,区分PA、Band。
MipiStateLPM
根据PA手册确认,区分PA、Band。
PARxPort
根据PA手册确认,控制Rx Port口,如果不需要,使用默认配置(0x1C,0x00)(0x1C,0x00)。
RxSwitch
根据SWITCH手册确认,控制Rx开关,如果不需要,使用默认配置(0x1C,0x00)(0x1C,0x00)。
TxSwitch
根据SWITCH手册确认,控制TX开关,如果不需要,使用默认配置(0x1C,0x00)(0x1C,0x00)。
温度补偿表全部配置项
根据温补数据提取脚本获取参数配置。
RadioConfig.cal由与固件版本匹配的射频校准与综测工具包提供。修改射频配置前,应从正式交付渠道获取配套工具包,并在工具实际运行目录中更新该文件。需要将配置固化到固件的版本,应按该版本配套的构建资料放置文件并重新编译。 -
软件准备:需要先烧录版本,未烧录版本或未烧录校准文件时校准工程执行AT命令会无响应并超时,烧录后发送AT,检验AT是否返回OK。发送AT+CGMR查看固件版本、RF版本号是否正确。
-
仪表准备:
- CMW500:需要General Purpose RF Measurements、General Purpose RF Generator、LTE TX Measurement模块。若需要一拖多则需要仪表拥有license,具体配置请参见“CMW500配置方法”章节。
- CMW100:需要General Purpose RF Measurements、General Purpose RF Generator、LTE TX Measurement模块。若需要一拖多则需要仪表拥有license,具体配置请参见“CMW100配置方法”章节。CMW100仪表校准综测一拖多功能仅支持USB和115200波特率。
- IQXSream:需要GPRF模块和LTE模块。IQ仪表校准综测一拖多功能目前仅支持一拖二,如有一拖四需求请联系FAE。
- 仪表波形文件需要放置到对应文件夹,配置请参见“运行脚本”章节。
-
射频通路测试:用AT强发强收相关命令进行TRX通路基本验证。AT命令请参见《HiDiTingV100 2131E AT命令清单》“射频配置命令集:+NRDSET”章节实现说明。
-
RX通路验证:
- 发送AT命令“AT+CFUN=0”进入关机状态。
- 发送AT命令“AT+NRDCTRL=1”进入radiotest模式。
- 发送AT命令“AT+NRDSET=RX START,8,942500,0,7,0”打开RX。
- 发送AT命令“AT+NRDEXEC=RX DC CALI”校准DC。
- 使用信号源,根据RX START中的频段、频率和AGC档位配置单音信号。
- 发送AT命令“AT+NRDSET=WBRSSI READ,7,100”读取100次RSSI。
- 测试完成后依次发送“AT+NRDSET=RX STOP”和“AT+NRDCTRL=0”退出测试。
-
TX通路验证:
- 发送AT命令“AT+CFUN=0”进入关机状态。
- 发送AT命令“AT+NRDCTRL=1”进入radiotest模式。
- 发送AT命令“AT+NRDSET=TX START,8,897500,3,23,0”打开TX。
- 发送单音“AT+NRDSET=TX TONE,1,1500000,770”。
- 使用CMW500 GPRF Measurements模块,根据TX START中的频段、频率、带宽和期望功率对仪表进行配置,查看仪表在指定频点是否有预期的波形。
- 测试完成后依次发送“AT+NRDSET=TX STOP”和“AT+NRDCTRL=0”退出测试。
-
-
环境准备:
确保产测上位机系统为Win10及以上版本。
安装Python3.11.4及以上版本、Pycharm2019及以上版本。
执行脚本额外必要的库文件:pyvisa、pyserial、xlwt
须知: 在使用CMW RUN等相关软件后,需要将仪表各模块进行复位后再运行产测脚本。操作步骤如下图所示。
![]()
校准文件介绍
配置文件简介
“RadioConfig.cal”配置文件是校准的输入条件,包含如下内容:
- 通用参数配置表
- Band配置表、PA配置表、Rx通路配置表、PA MIPI配置表、Tx通路配置表
- Rx直流增益表、Rx频率补偿表
- Tx发送功率表、Tx频率补偿表、Tx直流补偿表
- IIP2配置表、带宽补偿表、温度补偿表、IQ补偿表
说明: Rx直流增益和补偿表、Tx发送功率和补偿表、IIP2配置表为校准动态配置,校准后会更新;其余为静态配置,校准后不会更新。
通用参数配置表
示例:
#===============|General Settings|===============
RFGeneralTableBegin
pa_default 0
dcxo_cin 2 # Load capacitor in
dcxo_cout 3 # Load capacitor out
FreqErrorScaled 0 # Measured frequency error of UE in ppbillion/4, ie (fMeasured - fRequested)/fMeasured * 10^9 / 4
pa_ctrl 180,30,30
pio_mask setbits(0,1,2) # Specify all PIOs used by the radio
idle_pio_state setbits() # IDLE state of PIO
RFGeneralTableEnd
定义:
参数名称 |
说明 |
取值范围 |
备注 |
|---|---|---|---|
pa_default |
PA默认配置。 0:开机自动匹配PA配置表中的index,并且强校验PROD_ID和MANF_ID,匹配不成功开机失败; 1~4:开机不匹配PA配置表中的index,也不做校验,选择所写index对应的PA配置。 |
0~4 |
值不为0时,为指定PA index对应的USID值。 若选择超出范围的配置,则默认选择0。 PA配置请参见“PA配置表”章节。 |
dcxo_cin |
晶振调谐电容Cin补偿值。 |
0~31 |
XO校准后由脚本自动刷新。 |
dcxo_cout |
晶振调谐电容Cout补偿值。 |
0~31 |
XO校准后由脚本自动刷新。 |
FreqErrorScaled |
UE测量的频率误差。 |
-215~+215 |
XO校准后由脚本自动刷新。 |
pa_ctrl |
PA模式划分功率,分别为:MPM最大功率、LPM最大功率、各个PM交叉的功率段大小。 |
实数 |
根据PA手册确认。 |
pio_mask(用户配置) |
控制SWITCH的GPIO端口(即TRX通道选择)。 |
setbits(0~7) |
根据用户硬件电路确定。如选择GPIO0、GPIO1、GPIO2控制SWITCH,配置为setbits(0,1,2)。 |
idle_pio_state(用户配置) |
RF处于IDLE状态(非Tx或Rx)时的GPIO控制值。 |
setbits(0~7) |
根据设计需求确认。 |
PA配置表
当前校准文件支持两套BOM配置,区分BOM的配置内容包括PA MIPI配置表、Tx功率的温度补偿表。
芯片上电时,通过MIPI接口读取PA芯片里的PROD_ID和MANF_ID来自适应选取相应BOM配置,而且仅在复位后第一次读取。
下表规定了两套BOM对应的Product ID、Manufacture ID,以及其处在IDLE态下的寄存器配置。
示例:
#=======================|PA Table|=======================
#** index pa_enable PROD_ID1 MANF_ID1 USID1 tx_mipi_num idle_mipi_num1 xo_coef idle_mipi_state1
PATableBegin
TableLength 4
PA 1, 1, 0x1, 0x366, 0xF, 5, 2, 5930188,23547,-1658, (0x0,0x00)(0x1C,0x01)(0x0,0x00)(0x0,0x00),
PA 2, 1, 0x2C, 0x33D, 0xF, 3, 2, 5930188,23547,-1658, (0x0,0x00)(0x1C,0x01)(0x0,0x00)(0x0,0x00),
PA 3, 1, 0x2D, 0x3F3, 0xF, 3, 2, 5930188,23547,-1658, (0x0,0x00)(0x1C,0x01)(0x0,0x00)(0x0,0x00),
PA 4, 0, 0xFF, 0xFFF, 0xF, 5, 2, 5930188,23547,-1658, (0x0,0x00)(0x1C,0x01)(0x0,0x00)(0x0,0x00),
PATableEnd
定义:
参数名称 |
说明 |
取值范围 |
备注 |
|---|---|---|---|
index |
PA编号。 |
1~4 |
PA编号。 |
pa_enable |
PA使能标记。 |
[0,1] |
0:当前PA配置未使能; 1:将该PA配置使能。 |
PROD_ID1 |
PA的Product ID。 |
0x00~0xFF |
根据手册确认。 |
MANF_ID1 |
PA的Manufacture ID。 |
0x000~0xFFF |
根据手册确认。 |
USID1 |
PA的USID。 |
0x0~0xF |
根据手册确认。 |
idle_mipi_num1(用户配置) |
控制PA空闲需要写入的寄存器数量,最多支持2个(包含0x1C)。 |
1~2 |
根据设计需求确认。 |
tx_mipi_num(用户配置) |
控制PA工作(放大发送功率)需要写入的寄存器数量,最多支持5个(包含0x1C)。 |
1~5 |
根据设计需求确认。 |
xo_coef |
晶振频偏温度补偿系数。依次为分别为一次项、二次项和三次项的系数。 |
实数 |
实验室提取。请参见“DCXO温补系数提取”章节。 |
idle_mipi_state1(用户配置) |
PA处于IDLE状态需要写入的寄存器(地址,值)队列。 |
(a1,v1)(a2,v2)...(an,vn) |
其中an为寄存器地址,vn为需要写入的值,an、vn大小限制为一个字节数,且采用十六进制表示,需添加前缀“0x”,如(0x1,0x2)(0x12,0x22)表示连续向寄存器地址0x1、0x12分别写入值0x2、0x22。n表示数量,与“idle_mipi_num1”值一致。 |
说明:
- PA TABLE中的配置应该与PA MIPI配置表、Tx功率的温度补偿表的顺序相对应,不能仅在PA中进行修改。
- 应当将使能的PA配置靠前放置,尽量避免将未使能的配置穿插在使能PA中。
Band配置表
示例:
#==================|Band Table|==================
BandTableBegin
BandNum 9
BandList 1,3,5,8,34,39,40,38,41
BandTableEnd
定义:
参数名称 |
说明 |
取值范围 |
|---|---|---|
BandNum(用户配置) |
UE支持的Band总数。 |
0~255 |
BandList(用户配置) |
UE支持的Band队列。 |
填入实际支持的Band编号,并用逗号分隔。 |
Rx通路配置表
示例:
#===============|Rx Configuration|===============
RxConfigTableBegin
Band 1
PioState setbits(0,2)
RxPortSelect 4 # Use receive port 4 for MHB3
RxConfigTableEnd
定义:
参数名称 |
说明 |
取值范围 |
|---|---|---|
PioState(用户配置) |
当前Rx通道对应的GPIO值。 |
setbits(0~6) 请参见“通用参数配置表”章节。 |
RxPortSelect(用户配置) |
Rx接收端口号选择。 |
0:LB1 1:LB2 2:MHB1 3:MHB2 4:MHB3 5:MHB4 |
MIPI配置表
示例:
#=======================|MIPI 1 Configuration|=======================
MIPI1ConfigTableBegin
Band 1
MipiStateHPM (0x0,0x2C)(0x1,0x11)(0x3,0x1A)(0x4,0x08)(0x1C,0x01)
MipiStateMPM (0x0,0x2C)(0x1,0x0D)(0x3,0x1A)(0x4,0x08)(0x1C,0x01)
MipiStateLPM (0x0,0x2C)(0x1,0x09)(0x3,0x1A)(0x4,0x08)(0x1C,0x01)
PARxPort (0x1C,0x00)(0x1C,0x00)
RxSwitch (0x1C,0x00)(0x1C,0x00)
TxSwitch (0x1C,0x00)(0x1C,0x00)
MIPI1ConfigTableEnd
定义:
参数名称 |
说明 |
取值范围 |
|---|---|---|
MipiStateHPM(用户配置) |
PA处于HIGH POWER MODE状态需要写入的寄存器(地址,值)队列。 |
(a1,v1)(a2,v2)...(an,vn)请参见“通用参数配置表”章节。 队列长度n与tx mipi num一致。 |
MipiStateMPM(用户配置) |
PA处于MIDDLE POWER MODE状态需要写入的寄存器(地址,值)队列。 |
(a1,v1)(a2,v2)...(an,vn)请参见“通用参数配置表”章节。 队列长度n与tx mipi num一致。 |
MipiStateLPM(用户配置) |
PA处于LOW POWER MODE状态需要写入的寄存器(地址,值)队列。 |
(a1,v1)(a2,v2)...(an,vn)请参见“通用参数配置表”章节。 队列长度n与tx mipi num一致。 |
PARxPort |
PA选择Rx通路,需要写入的寄存器(地址,值)队列。 |
(a1,v1)(a2,v2) 队列长度只能是2。 |
RxSwitch |
MIPI2控制SWITCH Rx开关,需要写入的寄存器(地址,值)队列。 |
(a1,v1)(a2,v2) 队列长度只能是2。 |
TxSwitch |
MIPI2控制SWITCH Tx开关,需要写入的寄存器(地址,值)队列。 |
(a1,v1)(a2,v2) 队列长度只能是2。 |
TX通路配置表
示例:
#=======================|Tx Configuration|=======================
TableBegin
Band 1
PioState setbits(0,2)
TxPortSelect 1
MaxPower 23
TableEnd
定义:
参数名称 |
说明 |
取值范围 |
|---|---|---|
PioState(用户配置) |
当前TX通道对应的GPIO值。 |
setbits(0~6) 请参见“通用参数配置表”章节。 |
TxPortSelect(用户配置) |
TX接收端口号选择。 |
0:LB 1:MB 2:HB |
MaxPower(用户配置) |
限制最大功率。 |
0~23 |
说明: Tx Configuration中Band子表的排列顺序必须与Band Table中BandList 的顺序相同。
RX增益参数表
示例:
#============|RX Gain and DC|=================
#********* in
#***** index agc_gain dc_q dc_i phase
RxAgcGainTableBegin
Band 1
TableLength 8
Gain 0, 125, -199, -163, 0,
Gain 1, 183, -198, -166, 0,
Gain 2, 235, -195, -160, 0,
Gain 3, 293, -191, -154, 0,
Gain 4, 343, -190, -151, 0,
Gain 5, 375, -193, -150, 0,
Gain 6, 438, -424, -268, 0,
Gain 7, 503, -951, -430, 0,
RxAgcGainTableEnd
定义:
参数名称 |
说明 |
取值范围 |
|---|---|---|
index |
AGC档位编号。 |
0~7 |
agc_gain |
RX RF GAIN增益值。 |
0~65535 |
dc_i |
直流校准值分量。 |
-16384~+16383 |
dc_q |
直流校准值分量。 |
-16384~+16383 |
phase |
相邻AGC档位切换相位变化值。 |
-32768~+32767 |
RX频率补偿表
示例:
#===========|AGC GAIN OVER FREQ|===========
#************** frequency gain_delta **************
RxFrequencyTableBegin
Band 1
TableLength 7
GainDelta 2110000000, 0
GainDelta 2120000000, 0
GainDelta 2130000000, 0
GainDelta 2140000000, 0
GainDelta 2150000000, 0
GainDelta 2160000000, 0
GainDelta 2170000000, 0
RxFrequencyTableEnd
定义:
参数名称 |
说明 |
取值范围 |
|---|---|---|
frequency |
典型频点。 |
根据通道支持Band的频率范围。 |
gain_delta |
典型频点增益值-对应频点增益值。 |
-32768~+32767 |
TX发送功率表
示例:
#===============|Tx Power|================
#*********** power APC_index IF_gain dbbGain PA_mode APT ***********
TxPowerTableBegin
Band 1
TableLength 77
Power 250, 0, 23, 0, HPM, 3400
Power 240, 1, 23, 0, HPM, 3400
Power 230, 2, 23, 0, HPM, 3400
...
Power 20, 13, 22, 0, MPM, 3400
Power 10, 13, 21, 0, MPM, 3400
Power 0, 14, 22, 0, MPM, 3400
Power -10, 14, 21, 0, MPM, 3400
Power -20, 14, 20, 0, MPM, 3400
...
Power -170, 17, 16, 0, LPM, 3400
Power -180, 17, 15, 0, LPM, 3400
...
Power -430, 19, 9, 0, LPM, 3400
Power -440, 19, 8, 0, LPM, 3400
Power -450, 19, 7, 0, LPM, 3400
TxPowerTableEnd
定义:
参数名称 |
说明 |
取值范围 |
|---|---|---|
power |
发送功率值,单位:0.1dBm。 |
-450~+270 |
apc_index |
RF增益组合编号。 |
0~19 |
if_gain |
IF增益值。 |
0~30 |
dbb_gain |
DBB的衰减值,单位:0.1dBm。 |
非正数 |
pa_mode |
PA工作模式。 |
HPM/MPM/LPM |
APT |
PA工作电压。 |
保留 |
TX频率补偿表
#=======================|POWER OVER FREQ|=======================
#********* frequency power_delta delta_L delta_H
TxFrequencyTableBegin
Band 5
temp -30,70
TableLength 11
PwrDelta 824000000, 9, 0, 0,
PwrDelta 826500000, 7, 0, 0,
PwrDelta 829000000, 0, 0, 0,
PwrDelta 831500000, -7, 0, 0,
PwrDelta 834000000, -8, 0, 0,
PwrDelta 836500000, 0, 0, 0,
PwrDelta 839000000, 9, 0, 0,
PwrDelta 841500000, 15, 0, 0,
PwrDelta 844000000, 15, 0, 0,
PwrDelta 846500000, 11, 0, 0,
PwrDelta 849000000, 0, 0, 0,
TxFrequencyTableEnd
定义:
参数名称 |
说明 |
取值范围 |
|---|---|---|
temp |
高低温频补调整生效的阈值,记为t1、t2。 |
-40 < t1 < t1 + 10 < t2 < 85 |
frequency |
需要频补的频率值。 |
根据通道支持Band的频率范围。 |
power_delta |
频补值,即中心频点功率值与对应频点功率的差值。单位:0.1dB。 |
频补范围一般为-30~+30。 |
delta_L |
在对应频点功率补偿基础上额外增加的补偿值,在温度< t1时生效,实际温度读取值可能有误差。 |
额外频补范围一般为-20~+20。 |
delta_H |
在对应频点功率补偿基础上额外增加的补偿值,在温度> t2时生效,实际温度读取值可能有误差。 |
额外频补范围一般为-20~+20。 |
TX直流补偿表
示例:
#=======================|TX DC|=======================
#******* ifgain tx_dc_i tx_dc_q
TxDcTableBegin
Band 1
TableLength 14
ifGain 12, 8, 35,
ifGain 13, 13, 31,
ifGain 14, 11, 28,
ifGain 15, 5, 26,
ifGain 16, 8, 19,
ifGain 17, 7, 20,
ifGain 18, 6, 18,
ifGain 19, 4, 17,
ifGain 20, 4, 16,
ifGain 21, 4, 9,
ifGain 22, 3, 9,
ifGain 23, 5, 10,
ifGain 24, 4, 8,
ifGain 25, 4, 8,
TxDcTableEnd
定义:
参数名称 |
说明 |
取值范围 |
|---|---|---|
ifgain |
IF增益值。 |
0~30 |
tx_dc_i |
Tx直流补偿值分量。 |
-2048~+2047 |
tx_dc_q |
Tx直流补偿值分量。 |
-2048~+2047 |
IQ补偿表
示例:
#=================|RX IQ & TX IQ|==================
#**** band rx_iq_i rx_iq_q tx_iq_i tx_iq_q
ImbalanceTableBegin
TableLength 9
band 1, -1, -1, -112, -88,
band 3, -1, 0, -74, -6,
band 5, -1, 1, -95, -38,
band 8, -1, 0, -46, -138,
band 34, -1, 0, -164, -10,
band 39, -2, 0, -74, 59,
band 40, -1, -1, -99, -74,
band 38, -1, -1, -132, 24,
band 41, -1, -1, -95, -175,
ImbalanceTableEnd
定义:
参数名称 |
说明 |
取值范围 |
|---|---|---|
band |
IF增益值。 |
1、3、5、8、34、38、39、40、41 |
rx_iq_i |
Rx补偿值分量。 |
-2048~+2047 |
rx_iq_q |
Rx补偿值分量。 |
-2048~+2047 |
tx_iq_i |
Tx补偿值分量。 |
-2048~+2047 |
tx_iq_q |
Tx补偿值分量。 |
-2048~+2047 |
IIP2配置表
示例:
#================|RX IIP2|=================
#********** frequency code_i_5m code_q_5m code_i_10m code_q_10m
RxIP2TableBegin
Band 1
TableLength 3
freq 2110000000, 0, 0, 0, 0
freq 2140000000, 0, 0, 0, 0
freq 2170000000, 0, 0, 0, 0
RxIP2TableEnd
定义:
参数名称 |
说明 |
取值范围 |
|---|---|---|
frequency |
典型频点。 |
根据通道支持FDD Band的频率范围。 |
code_i_5m |
带宽≤5M场景IIP2码字配置。 |
-63~+63 |
code_q_5m |
带宽≤5M场景IIP2码字配置。 |
-63~+63 |
code_i_10m |
带宽≥10M场景IIP2码字配置。 |
-63~+63 |
code_q_10m |
带宽≥10M场景IIP2码字配置。 |
-63~+63 |
带宽补偿表
示例:
#=======================|RX AGC TX PWR OVER BANDWIDTH|=======================
#******* bw_index gain_delta pwr_delta
BandWidthTableBegin
TableLength 6
BwIndex 0, 0, 0,
BwIndex 1, 0, 0,
BwIndex 2, 0, 0,
BwIndex 3, 0, 0,
BwIndex 4, 0, 0,
BwIndex 5, 0, 0,
BandWidthTableEnd
定义:
参数名称 |
说明 |
取值范围 |
|---|---|---|
bw_index |
带宽标识。 |
0:1.4M 1:3M 2:5M 3:10M 4:15M 5:20M |
gain_delta |
该带宽配置下的增益补偿值。 |
-32768~+32767 |
pwr_delta |
该带宽配置下的功率补偿值。 |
-32768~+32767 |
温度补偿表
温度补偿表区分不同BOM。
示例:
#=======================|RX AGC TX PWR OVER TEMPERATURE 1|=======================
#***** temp gain_delta p0 p1 p2 p3 p4 p5 p6 p7
TableBegin
Band 1
point_num 8
power_point 270,180,110,80,-140,-155,-400,-410
TableLength 7
temp -40, -5, -16, -20, -13, 0, 15, 5, 7, 16,
temp -20, -3, -11, -13, -9, 0, 10, 3, 5, 11,
temp 0, -2, -5, -7, -4, 0, 5, 2, 2, 5,
temp 20, 0, 0, 0, 0, 0, 0, 0, 0, 0,
temp 40, 2, 6, 12, 10, 8, 5, 5, 5, 3,
temp 60, 4, 12, 23, 20, 16, 9, 10, 9, 6,
temp 85, 5, 20, 38, 32, 26, 15, 17, 15, 10,
TableEnd
定义:
参数名称 |
说明 |
取值范围 |
|---|---|---|
point_num |
选取多少功率点作为参考值。 |
1~8 |
power_point |
被选取作为参考值的功率点,由高到低。 |
-450~270 |
gain_delta |
RX增益补偿。 |
-100~100 |
p0~p7 |
依次为power_point对应功率点下的功率补偿值(即常温功率测量值 - 对应温度功率测量值),point_num数量以外的非对应点值无效,保证是int类型(32位)即可。 |
-100~100 |
附加SWITCH配置表
如果Tx/Rx开关通路超出GPIO控制SWITCH的上限,需要使用附加SWITCH增加通路选择。
芯片上电时,通过MIPI接口读取SWITCH芯片里的PROD_ID和MANF_ID来自适应选取相应BOM配置,而且仅在复位后第一次读取。
示例:
#=======================|Additional Switch Table|=======================
#****** enable PROD_ID2 MANF_ID2 USID2 idle_mipi_num2 idle_mipi_state2
TableBegin
TableLength 4
SWITCH 0, 0xFF, 0xFFF, 0xE, 2, (0x0,0x00)(0x1C,0x01),
SWITCH 0, 0xFF, 0xFFF, 0xE, 2, (0x0,0x00)(0x1C,0x01),
SWITCH 0, 0x5, 0x366, 0xE, 2, (0x0,0x00)(0x1C,0x01),
SWITCH 0, 0xFF, 0xFFF, 0xE, 2, (0x0,0x00)(0x1C,0x01),
TableEnd
定义:
参数名称 |
说明 |
取值范围 |
备注 |
|---|---|---|---|
enable |
附加SWITCH使能。 |
[0,1] |
0:当前SWITCH配置未使能; 1:将该SWITCH配置使能。 |
PROD_ID2 |
SWITCH的Product ID。 |
0x00~0xFF |
根据手册确认。 |
MANF_ID2 |
SWITCH的Manufacture ID。 |
0x000~0xFFF |
根据手册确认。 |
USID2 |
SWITCH的USID。 |
0x0~0xF |
根据手册确认。 |
idle_mipi_num2(用户配置) |
控制SWITCH空闲需要写入的寄存器数量,最多支持2个(包含0x1C)。 |
1~2 |
根据设计需求确认。 |
idle_mipi_state2(用户配置) |
SWITCH处于IDLE状态需要写入的寄存器(地址,值)队列。 |
(a1,v1)(a2,v2)...(an,vn) |
其中an为寄存器地址,vn为需要写入的值,an、vn大小限制为一个字节数,且采用十六进制表示,需添加前缀“0x”,如(0x1,0x2)(0x12,0x22)表示连续向寄存器地址0x1、0x12分别写入值0x2、0x22。n表示数量,与“idle_mipi_num2”值一致。 |
校准操作步骤
配置脚本参数
根据校准目的、测试环境的不同,需要调整“calibration_test_configuration.py”和 “calibration_test_configuration.ini”配置文件中的相关参数。具体请参见配置文件注释说明。
-
配置“calibration_test_configuration.ini”文件
-
配置校准综测测试选项(MODE_SELECT):
1:只运行校准;
2:只运行综测;
3:运行校准并运行综测。
-
选择需要校准的频段(CALIBRATION_BAND_SELECT):可选的频段范围为[1,3,5,8,34,39,40,38,41],可以只选择部分需要校准的频段,频段的校准顺序无影响。
- 选择每个频段的功率回退(POWER_REDUCE):按需求配置每个Band的功率回退,无需回退则默认为0无需配置,功率回退范围为[0, 1)。
- 选择单项校准开关(CALIBRATION_CASE_SELECT):按校准需求选择需要执行的校准项,默认所有都校准,不需要的校准项置为False。
- 选择校准的重测次数(CALIBRATION_RETRY_COUNT_MAX):配置校准失败后重新校准的次数,默认为3次。配置0则代表失败不重测。
-
-
配置“calibration_test_configuration.py”文件
- 配置是否在标题写入SN号(SN_SELECT):如不需要在result和log文件标题写入SN号,将SN_SELECT置0;如果需要则默认置1。SN_SELECT置1时,log中可通过SN_SET添加额外前缀,建议由数字和字母组成。
- 选择仪表(INSTRUMENTS_SELECT):按照脚本示例中的格式选择要使用的仪表。
- 选择射频仪器地址(INSTRUMENTS_ADDRESS)和端口(INSTRUMENTS_PORT):其中CMW100仪表的IP使用固定的本地回环地址(127.0.0.1),其余仪表IP需要根据仪表本身的配置进行读取。罗德仪表使用一拖一模式时,inst默认配0,无需更改。
- 选择AT端口号(AT_SERIAL_COM_PORT)和AT端口波特率(AT_SERIAL_COM_BAUD_RATE):AT端口默认为9600,其余波特率需要手动修改。若使用USB端口,则无需修改波特率参数。AT UART 波特率不大于230400、深睡开启 XO 时钟且需要发送长度超过32 Byte的AT命令时,可在校准前发送“AT+NVETOSUPERDS=A,1”添加A核深睡投票;校准结束或异常退出后必须发送“AT+NVETOSUPERDS=A,0”取消投票。
-
配置校准最大功率:配置在“CalibrationClass.py”文件中的TX_POWER_MAX参数。TX_POWER_MAX的取值需满足‘TX_POWER_MAX > 230 + 频补最大值 + 温补最大值 - 10’。其中,温补最大值按照温补参数提取后,所有band中补偿的最大值选取;频补最大值按照校准后的校准文件中,POWER OVER FREQ表中频补的最大值选取。TX_POWER_MAX单位:0.1dBm,最终取值需为整十数。
-
设置通道损耗,请参见“线损配置文件说明”章节。
说明: 一般只需调整“calibration_test_configuration.py”文件中的“PUBLIC PARAMETERS CONFIGURATION”和“calibration_test_configuration.ini”文件中的“CALIBRATION USER PARAMETERS CONFIGURATION”内容,其余使用默认值。
运行脚本
直接运行“calibration_test_main.py”即可完成校准,校准结果将自动写入单板Flash中。
查看相应的日志文件可知校准是否通过。日志和新生成的校准文件将保存在“calibration_result”目录下对应的仪表/校准日期子目录里,通过校准时间进行区分。
说明:
- 校准后终端输出的log显示 “RF Calibration---PASS”信息,表示校准通过;否则校准失败。
- 还可以通过calibration_result文件夹下生成的对应日期的日志的名字中判断该次校准是否通过,校准成功的日志中命名最后会有pass标识,校准失败则没有标识。
- 如果校准成功,原有的“RadioConfig.cal”文件将会被新结果覆盖。
- 如上校准测试可以选择直接调用提供的校准脚本完成,也可以使用RFTool界面工具配置后执行。
注意事项
RadioConfig.cal文件通用语法规则
- 忽略“#”之后的内容(注释分隔符)。
- 忽略空行。
- 忽略所有缩进。
- 校准文件各配置表的位置顺序不能调整。
TLV文件类型简介
为了缩减文件大小,使用TLV格式对校准“RadioConfig.cal”文件进行数据转换。TLV表示“标签-长度-值”。
射频配置文件版本说明
配置文件版本格式为“RF_V32_202412261027”,其中 “V32”为版本号标识,后续“202412261027”应为执行校准时的时间戳,默认未进行校准的配置文件固定为“121212121212”。RadioConfig.cal校准文件中,版本号ConfigurationName长度不可以超过32个字符,配置文件版本会在RadioConfig.cal文件的起始位置显示,格式如下:
