在TRX9361射频系统开发中,曾遇到这样一种现象:同一块板卡、同一频点和配置,首次上电时发射镜像可以达到-55dBc,重新上电后却变成-35dBc,多次上电结果还不完全一致。为什么载波馈通相对稳定,镜像却会明显波动?这类问题首先应从I/Q失配、TX正交校准(TXQuadCal)以及校准测试链路入手排查。本文将结合TRX9361项目实测经验进行分析。

一、镜像为什么会变化?
理想的正交调制要求I、Q两路幅度一致、相位保持90°正交。实际链路中存在幅度误差和相位误差,就会产生镜像分量。工程上常用近似关系理解:1°相位误差≈-41dBc,1dB增益误差≈-25dBc。但这只是理论近似,实际镜像还会受到PA、巴伦、滤波器、匹配网络、温度、电源以及测试仪器等因素影响。因此,测到-35dBc时,不能简单判断为某一个参数超差,而应结合芯片内部校准状态共同分析。
二、TX Quad Cal到底在做什么?
TXQuadCal利用芯片内部测试信号和RX测量链路,对TX路径的幅度、相位及DC误差进行测量,并计算相应的校正量。
启动方式为:0x016[D4]=1
校准结束后,该Bit会自动清零。
但这里需要区分三个概念:写入启动命令≠校准真正运行≠算法已经收敛。
写入0x016[D4]=1后,应确认该位实际置位,或者观察0x017[D7:D4]进入TX1/TX2校准状态,例如0x4、0x5,随后再等待0x016[D4]自清零。
一次启动多个校准项目时,0x016[D4]只表示TXQuadCal这一项结束,还应确认0x017[D7:D4]最终进入0x1,或逐项确认相关启动状态。
等待策略还取决于0x0A1[D7]:
D7=0:普通计数模式,0x0A9用于限制最大算法运行时间;
D7=1:FreeRun模式,0x0A9被忽略,算法可能持续运行;
因此软件应设置独立watchdog,避免无边界轮询。需要注意,watchdog到期只能说明“在软件等待窗口内未完成”,不能直接等同于芯片校准失败,最终仍应结合0x016、0x0A7/0x0A8等状态判断。
三、真正判断是否收敛,要看0x0A7/0x0A8
TX1状态位位于:0x0A7[D1:D0]
TX2状态位位于:0x0A8[D1:D0]
其中D1、D0分别表示载波馈通测试分量和不需要的SSB测试分量是否降低到对应门限以下。
因此工程上可重点检查:
TX1:0x0A7[D1:D0]=11b
TX2:0x0A8[D1:D0]=11b
但要注意:状态位为11b,只代表芯片内部算法达到配置门限,并不代表外部频谱上的镜像指标一定满足产品要求。
同时,只有确认本次TXQuadCal确实运行后,0x0A7/0x0A8才能作为本次校准结果使用,否则旧状态可能造成误判。
四、为什么要重点检查0x0A0?
TX Quad Cal内部使用RX NCO和TX NCO形成校准测试信号:
RX NCO:0x0A0[D6:D5]
RX NCO Phase Offset:0x0A0[D4:D0]
TX NCO:0x0A3[D7:D6]
这里的关键不是要求两个NCO寄存器编码完全相同,而是要保证:RX和TX NCO对应的实际测试频率匹配。
而0x0A0[D4:D0]的Phase Offset与RX数字链路延迟有关,会受到采样率、HB/FIR、数字时钟以及NCO配置等影响,因此不存在适用于所有系统的“万能值”。
还要特别注意一个原厂约束:
当0x0A0[D6:D5]=00b时,0x0A1[D1:D0]的M不能为00b。
否则decimate-and-dump可能只能获得测试波形的部分周期,影响误差估计和校准环路稳定性。
因此,使用或扫描0x0A0=0x00之前,必须同时检查M配置。
五、不要默认0x0C就是最佳值
实际项目中经常会看到:0x0A0=0x0C。但这并不意味着0x0C适合所有系统。曾有TRX9361项目在其它条件不变的情况下,将PhaseOffset从0x0C调整到0x00,并重新执行TXQuadCal后,上电镜像波动明显改善。这说明:RXNCOPhaseOffset可能是特定系统中影响TXQuadCal稳定性的重要因素。但这只是项目经验,不能直接得出“TRX9361必须设置为0”的结论。更可靠的方法,是固定其它条件,对:0x0A0[D4:D0]=0~31逐项扫描。扫描期间应固定RX/TXNCO实际测试频率、M以及0x0AC指定的TX校准衰减。如果使用FullGainTable,则固定0x0AA;如果使用SplitGainTable,则同时固定0x0AA对应的LMTGain和0x0AE对应的LPFGain。每改变一个PhaseOffset,都重新执行完整TXQuadCal,并记录:0x016、0x017、0x0A7、0x0A8、载波馈通及镜像电平。更重要的是,每个候选值都应进行多次重新上电或重新初始化,统计:
校准启动成功率
0x0A7/0x0A8收敛通过率
镜像最差值
多次上电的波动范围
最终选择在当前器件版本、频率、带宽、采样率及数字滤波条件下重复性最好的参数,而不是只选择某一次测量中镜像最低的值。双发射通道或切换不同RF输出路径时,还应分别确认对应通道和输出路径的校准结果,不能直接复用单一路径的实测结论。
六、修改0x0A0时不要直接覆盖整个寄存器
如果只是修改Phase Offset,建议采用读改写:
new_0x0A0 = (old_0x0A0 & 0xE0) | (new_phase_offset & 0x1F)
这样可以保留0x0A0[D7:D5],只修改D4:D0。尤其要注意,直接将0x0A0写成0x00,可能同时改变RX NCO频率编码,从而破坏校准测试条件。
七、什么时候需要重新执行TX Quad Cal?
并不是每次修改寄存器都必须重新执行TX Quad Cal。AD9361原厂资料支持在载波频率发生变化时按需执行TX Quad refresh calibration,器件温度显著变化时也建议刷新校准结果。需要强调的是:当前公开资料并没有为TX Quad Cal单独规定固定的“100 MHz刷新阈值”。因此,不应把100 MHz作为TX Quad Cal的通用触发条件。实际是否重新校准,应结合系统切频策略、温度变化范围以及镜像指标确定。而当采样率、带宽、FIR或HB配置发生变化时,应重新检查NCO实际测试频率和Phase Offset,并根据实际结果重新校准或验证。
八、遇到上电波动,建议这样排查
如果出现:首次上电-55 dBc,重新上电-35 dBc
建议依次检查:
确认TX Quad Cal确实启动;
确认0x017校准序列正常运行并结束;
检查0x0A7/0x0A8是否真正收敛;
确认0x0A0/0x0A3对应的实际NCO测试频率匹配,并检查M配置;
扫描0x0A0[D4:D0]并进行多次上电统计;
再检查PLL、时钟、电源、温度以及PA、巴伦、滤波器和匹配网络。
如果芯片内部校准状态和校正结果稳定,而最终频谱仍然波动,就应重点转向板级RF链路和外部环境。
九、结语
TRX9361发射镜像随上电波动时,核心不是简单地“再跑一次TXQuadCal”,而是建立完整证据链:
校准是否真正启动?
算法是否真正收敛?
NCO实际测试频率是否匹配?
M和PhaseOffset是否适合当前测试链路?
不同上电得到的校正结果是否一致?
只有把这些问题逐层拆开,才能真正判断问题究竟来自校准算法、NCO配置、时钟电源、温度,还是外部RF链路。对于TRX9361项目,建议针对不同的频段、带宽、采样率和数字滤波配置建立对应的TXQuadCal参数,而不是简单采用一个固定的“万能寄存器值”。

在线留言询价
| 型号 | 品牌 | 询价 |
|---|---|---|
| TL431ACLPR | Texas Instruments | |
| CDZVT2R20B | ROHM Semiconductor | |
| MC33074DR2G | onsemi | |
| BD71847AMWV-E2 | ROHM Semiconductor | |
| RB751G-40T2R | ROHM Semiconductor |
| 型号 | 品牌 | 抢购 |
|---|---|---|
| TPS63050YFFR | Texas Instruments | |
| BP3621 | ROHM Semiconductor | |
| IPZ40N04S5L4R8ATMA1 | Infineon Technologies | |
| STM32F429IGT6 | STMicroelectronics | |
| ESR03EZPJ151 | ROHM Semiconductor | |
| BU33JA2MNVX-CTL | ROHM Semiconductor |
AMEYA360公众号二维码
识别二维码,即可关注
请输入下方图片中的验证码: