1. 为什么选ADRV9026搭5G小型基站原型:选型逻辑与整体架构
做5G小型基站原型这件事,很多人第一步就卡在射频收发器选型上。市面上能买到的SDR板卡不少,但真正能扛住5G NR带宽和时隙要求的,其实屈指可数。我最初在实验室里用ADRV9026评估板做室内接入点预研时,光是搞懂“为什么是它”就花了不少时间。这里面的逻辑如果不理清,后面画原理图、写JESD204B配置、调频谱,全都会走弯路。
1.1 5G小型基站对射频收发器的硬指标
小型基站和手机里的射频前端本质上是两码事。手机射频前端要的是低功耗、小体积,基站收发器要的是高线性度、大带宽、严格时隙控制,还有多通道一致性。具体拆开看,四个指标最关键:
瞬时带宽。5G NR单个载波常用100 MHz,商用小型基站要做200 MHz左右的瞬时带宽,才能在同一个硬件平台上适配不同子载波间隔和载波聚合场景。AD9361这类经典SDR收发器标称带宽只有56 MHz左右,实际跑到61.44 MSPS采样率已经到顶,根本不满足5G需求。ADRV9026的ADC/DAC链路带宽能力明显高一个档次,这才是它被大量基站方案选中的根本原因。
线性度与噪声系数。基站收发的动态范围和EVM要求比终端严格得多。发射端要保证ACLR指标,接收端要在强干扰环境下保持灵敏度。ADRV9026内置的收发链路增益控制和数字滤波器,能帮你把前端设计压力降下来。
TDD时隙控制。5G中频段大量采用TDD制式,上下行在一个时隙内快速切换。如果收发器只靠外部GPIO做个粗略开关,就很难对齐符号边界。ADRV9026内部有时序控制引擎,可以和基带处理器的帧定时联动,这一点在做小型基站原型时特别重要。
多通道一致性。4T4R是最典型的小型基站形态。四路发射、四路接收之间的增益和相位一致性,直接影响波束成形算法效果。如果靠四颗独立收发芯片拼方案,校准工作会非常痛苦。单芯片集成多通道,配合JESD204B同步机制,才能在源头保证一致性。
1.2 ADRV9026的核心特性盘点
ADRV9026是一颗四通道宽带收发器,支持大概100 MHz到6 GHz的频率范围,内置四路ADC和四路DAC,发射和接收瞬时带宽都在200 MHz量级。这个规格意味着它从硬件上就瞄准了4T4R的小型基站产品,而不是通用SDR实验。
除了基本射频通道,这颗芯片还有几个容易被忽略但很关键的特性:
第一,内置一个独立的观测接收器路径。做DPD(数字预失真)的时候,需要一条额外的反馈通路来采集功率放大器输出信号,这个观测路径省掉了外置反馈电路,直接用芯片内部的结构就能实现。
第二,内部集成ARM处理器和校准引擎。上电后需要先加载ARM固件,芯片内部会自动完成一部分校准工作,比如本振泄漏、正交误差修正等。这个机制降低了基带侧的工作负担,但也对初始化顺序提出了要求——固件没加载好之前,单纯写SPI寄存器是跑不出正常性能的。
第三,支持JESD204B和JESD204C两种高速接口。标题里重点讲的JESD204B,是目前FPGA方案里最常用、资料也最多的一种。JESD204C是后来的演进版本,速度更高,但调试复杂度和IP授权费用都会上升。
我用一张表把这个选型判断整理出来,方便你对比:
| 特性项 | ADRV9026能力 | 对搭建5G基站原型的影响 |
|---|---|---|
| TX/RX通道数 | 4×4,另有观测通路 | 无需外扩就能做4T4R |
| 工作频率范围 | 100 MHz ~ 6 GHz | 覆盖n77/n78/n79等主流5G频段 |
| 瞬时带宽 | 200 MHz级别 | 支持100 MHz甚至200 MHz单载波 |
| 高速数字接口 | JESD204B / JESD204C | 与FPGA/ASIC之间传输IQ数据 |
| 内部ARM校准 | 自动校准引擎 | 简化射频链路调试,但初始化依赖专用固件 |
| TDD支持 | GPIO、内部时序控制 | 满足5G TDD时隙切换需求 |
1.3 原型系统的整体架构
单个ADRV9026芯片不是一台基站。完整的小型基站原型,至少包含射频收发、时钟分配、数字基带和协议栈四层。
我在原型里采用的结构是:
- 射频收发层:ADRV9026负责射频信号的上下变频和数字化
- 时钟层:LMK04828产生设备时钟和SYSREF,保证JESD204B子类1的确定性延迟
- 数字基带层:Xilinx Zynq UltraScale+系列FPGA,内置JESD204B PHY和链路层IP,处理IQ数据流
- 协议栈层:在ARM处理器或Zynq的PS侧运行5G NR PHY和上层协议栈
这套架构的本质,是把射频前端和数字处理解耦。ADRV9026只管把空口信号变成高速数字流,FPGA负责JESD204B链路的物理层适配,然后通过AXI总线把IQ数据交给处理系统。处理系统跑协议栈,最终实现一个可以空口发射5G信号的完整原型。
2. 画板子之前就要想清楚的硬件关系:电源、时钟和数字接口
很多人在拿到ADRV9026评估板后,第一反应是赶紧连上FPGA跑Demo。但等你真正要画自己的板子时,才发现电源、时钟、数字接口这几块关系没理清,会让后面的调试非常痛苦。这个阶段踩的坑,往往比JESD204B配置还要隐性,也更容易被忽略。
2.1 电源域、上电时序和去耦
ADRV9026内部有多个电源域:模拟射频、数字核心、接口IO、收发器PLL供电等。不同电源域对噪声敏感度不一样,特别是给模拟部分供电的电源轨,如果纹波太大,会直接体现在发射信号杂散和接收底噪上。
我建议在原型板上一开始就用LDO给模拟域供电,数字域可以用高效率DC-DC,然后再加一级LDO隔离。不要在早期版本过度追求效率,功耗是后面优化的事,先把噪声底做干净才方便定位问题。
上电时序比很多工程师想象的要严格。ADR9026的数据手册里给出了各电源轨的上下电建议顺序,违反时序轻则SPI通信不稳定,重则芯片无法正常复位。我最初的板子为了让控制逻辑简单,把所有电源使能信号都接到同一个GPIO上同时打开,结果芯片初始化总是随机失败。后来老老实实改成电源时序控制,用FPGA的IO按顺序拉高各路使能,再延时释放复位,现象立刻消失。
复位信号的处理也容易被忽视。芯片的复位引脚必须等时钟稳定之后释放,且释放后要满足一定的时间宽度。如果只用RC延时电路,温度和电压漂移会带来不确定性。我的经验是用可编程逻辑生成复位时序,保证每次上电行为一致。
2.2 时钟树:从参考时钟到SYSREF
JESD204B的正常工作,完全建立在稳定的时钟体系上。ADRV9026需要一个参考时钟,内部PLL再产生ADC/DAC采样时钟和JESD204B设备时钟。参考时钟的相位噪声直接影响射频信号质量,所以这一路要用低相噪的TCXO或者OCXO作为源头。
在实际原型中,我用了LMK04828作为系统时钟芯片。它的作用有两个:一是产生ADRV9026和FPGA需要的设备时钟,二是产生JESD204B子类1必须的SYSREF信号。SYSREF的作用是为多芯片同步和确定性延迟提供参考边沿。如果没有SYSREF或者SYSREF和设备时钟之间的相位关系不稳定,JESD204B链路就会出现“时好时坏”的抽风现象。
说句实在话,时钟树设计是整套硬件里最需要耐心的地方。SYSREF的布局布线要尽量短,避免与高速数字信号交叉,差分走线需要控制阻抗并保持连续参考平面。在最早期的打板阶段,我就吃过SYSREF布线过长的亏,后面专门在调试那一节详细讲。
2.3 JESD204B接口的PCB设计细节
JESD204B在PCB上表现为高速串行差分对。以我的配置为例,线速率在2.5 Gbps附近,虽然不算极端,但也没到可以随便布线的程度。关键点有几个:
差分阻抗按100欧姆控制,走线尽量短。AC耦合电容要靠近发送端放置,一般放在连接器或收发器引脚附近。过孔尽量少,换层时要保证回流路径连续。不要在高速串行线旁边走敏感的模拟信号,避免耦合。
另外一个容易被忽略的问题是FPGA侧的高速收发器参考时钟。JESD204B IP核在FPGA内部需要根据参考时钟恢复位时钟,这个参考时钟的频率要与线速率匹配。我遇到过FPGA侧参考时钟配置错误,导致链路反复重训练的情况,排查了很久才发现是参考时钟频率设错了。
IO电平匹配也要注意。ADRV9026的数字IO通常工作在1.8V或者根据bank配置调整,FPGA的HP bank也能支持。低速控制引脚SPI、GPIO反而比高速线更容易出问题,因为大家默认它们“简单”,结果电平不匹配导致读写数据异常的情况我见得太多了。
2.4 参考设计怎么抄,不能盲抄
ADI官方提供了ADRV9026的评估板资料和参考原理图,这对新手是很大的帮助。但我的观点是:参考设计要抄,但要有选择地抄,不能整块PCB照搬。
第一步,把电源域、时钟树、复位电路、SPI接口、JESD204B高速接口这几部分原封不动地抄下来。这些是最容易出问题的基础部分,用官方验证过的方案风险最低。
第二步,射频前端部分要根据你自己的频段和功率需求重新设计。评估板的射频前端是为了测试全频段能力设计的,可能包含很宽的滤波器组和衰减网络,这和你的实际应用场景不一定匹配。
第三步,把TDD控制、PA使能、天线开关这些基站特有逻辑加上去。这部分在评估板里不一定完整,需要结合小型基站的工作方式自己设计。
我自己经历过的教训是,早期一版板子把参考设计的射频滤波网络全部保留,结果板面积大了不少,实际工作在单一频段时滤波特性又未必最优。后来做了裁剪,指标反而更好测了。
3. JESD204B配置核心:链路参数计算与两端映射
JESD204B是整个系统里最容易让人一头雾水的部分。它本质上是一种协议,规定了转换器数据如何通过高速串行链路传到FPGA。但协议里那一堆参数——L、M、F、K、N、N'、S——如果不理解关联关系,很容易配置错误且不知道从何查起。
3.1 从采样率反推链路速率
选一个典型实例:5G NR 100 MHz载波带宽,4T4R系统,设定ADC/DAC采样率为245.76 MSPS。
先明确每个参数含义:
- M:每条链路上的转换器数。发射链路是4个DAC,所以M=4;接收链路是4个ADC,同样M=4
- N:转换器分辨率,取16
- N':加上填充位后每个样本的总位数。我们用16位无填充,所以N'=16
- L:高速串行通道数。这里取8,也就是8对差分线
- S:每个转换器在每帧中的采样数,取1
线速率的计算公式是:
每个通道的数据速率(未编码) = (M × N' × Fs) / L
代入数值就是:(4 × 16 × 245.76e6) / 8 = 1.96608 Gbps
JESD204B物理层使用8b/10b编码,每传输10bit实际携带8bit有效数据,所以实际线上速率要乘上10/8:
线速率 = 1.96608 × 1.25 = 2.4576 Gbps
这就是FPGA高速收发器需要跑到的速率。JESD204B标准通常支持到12.5 Gbps量级,2.5 Gbps是一个非常舒服的工作点,对PCB材料、连接器、收发器压力都不大。
如果L取4,线速率就会翻倍到4.9152 Gbps。好处是少用一半高速对,但对链路预算的要求更高。我的建议是原型阶段优先选L=8,稳定压倒一切。
3.2 F、K值的确定与链路结构
F表示每帧中每个通道包含的八位字节数。这个参数不能随意定,它和M、N'、L之间存在约束关系:
每帧总八位字节数 = M × N' / 8
按我们的参数,M × N' / 8 = 4 × 16 / 8 = 8个八位字节。除以L=8,得到F = 1。
S=1意味着每个转换器每帧只出一个样本。帧时钟就等于采样率,也就是245.76 MHz。这个频率对FPGA的JESD204B IP核来说是可以正常处理的。
K表示一个多帧中包含多少个帧。K值的选择会影响多帧对齐和确定性延迟,也影响误码检测能力。常用的K值有16和32,我在这个配置里用K=32。注意,K值必须在收发两端一致,也就是ADRV9026侧和FPGA侧要配置成同一个值。
在FPGA里,JESD204B IP核会负责完成弹性缓冲、多帧对齐、字符替换等底层工作。你配置IP时填进去的就是L、F、K、N'这些参数,再加上线速率。如果某个参数和ADRV9026侧不一致,链路虽然可能勉强建立,但数据内容会错位。
3.3 用ADI官方工具生成寄存器文件
手动计算参数只是开始,真正落地时要借助ADI官方提供的Transceiver Evaluation Software(简称TES)。这个软件可以自动化生成寄存器配置,减少手写SPI寄存器的工作量。
我在实际项目里通常这么做:
在TES里选择ADRV9026设备,设定载波频率范围、目标频段、信号带宽、采样率。软件会根据你的输入自动计算插值/抽取倍数、JESD204B参数并生成内部配置。之后设置JESD204B链路模式,把M、L、N、N'、S这些参数填进去,让软件知道你打算用多少条高速通道。
TES生成的文件本质上是一份寄存器地图,里面包含所有SPI写入的值和ARM固件加载地址。但这里有个关键点:TES生成的配置是在它的评估硬件和时钟方案下计算的。你换了自己设计的板子,时钟树、参考时钟频率可能不同,直接照搬会出问题。正确做法是把TES生成的寄存器值作为起点,再根据自己电路实际使用的参考时钟和采样率逐项核对。
3.4 FPGA侧和射频芯片侧的映射必须一致
JESD204B链路建起来之后,数据怎么对应到具体的ADC或DAC通道,是由两端的映射关系共同决定的。ADRV9026内部有寄存器控制“哪个采样数据从哪个物理通道发出”,FPGA IP核也有自己的通道映射规则。
常见的坑是:链路计数器、误码率都是正常的,但接收到的IQ数据里,通道2的信号出现在通道3的位置上。这是因为两端的映射表没有统一。
解决的办法是在测试阶段就做通道映射验证。用一种可辨识的测试信号,比如只给某一通道加单音,然后看FPGA端哪个通道收到这个单音。逐个通道确认完毕后,再做真实数据测试。千万不要跳过这步,等到接上协议栈再发现通道错位,排查成本会高很多。
4. 上板联调:从SPI初始化到频谱仪验证
硬件板卡回来了,芯片也焊接好了,接下来是让人紧张也让人兴奋的上板阶段。很多人以为只要把TES生成的寄存器写进去就行,实际操作时你会发现,初始化顺序、等待时间、状态检查都会影响最终能否跑起来。
4.1 上电初始化的顺序
我总结了一套稳定的初始化流程,按这个顺序走能减少大量随机问题:
第一,先确认电源轨和参考时钟是否稳定。上电后不要急着访问SPI,等待几个毫秒,让时钟振荡器起振并稳定。
第二,复位芯片并保持足够长的复位时间。之后通过SPI读取芯片ID寄存器,这一步能验证SPI通信是否正常,也能确认芯片是否处于可编程状态。
第三,加载ARM固件。ADRV9026内部的ARM负责校准和状态管理。固件通过SPI写入内部RAM,写入完成后需要轮询ARM启动状态,直到它报告启动完成。这一步容易出问题的是SPI速率太快导致固件写入出错,建议初期把SPI时钟放慢。
第四,配置射频PLL和本振频率,等待PLL锁定。注意要分别确认发射和接收PLL均锁定。
第五,触发校准。ADRV9026上电后需要进行至少一轮关键校准,包括本振泄漏校准、正交校准等。校准执行期间不要往链路发送业务数据,否则校准结果会异常。
第六,配置JESD204B链路寄存器,把M、L、N'、F、K、S这些参数写进去。
第七,启动FPGA侧的JESD204B IP核,等待SYNC_N信号和链路对齐完成。
第八,确认SYSREF已经成功对齐,链路建立稳定后,再开始射频信号测试。
这个顺序里最容易出错的是把“配置射频参数”和“配置JESD链路参数”的顺序搞反。我自己遇到过一次先链路后射频导致的状态混乱,之后就一直采用固定脚本,每次上电严格按照流程走。
4.2 JESD204B链路锁定的判据
怎么判断JESD204B链路是否真正建立了?不能只看“好像有数据了”。有几个关键状态要确认:
ADRV9026侧,需要读取PLL锁定状态寄存器、JESD接口使能状态。FPGA侧,JESD204B IP核通常有sync_n、aligned、lane_data_valid等状态信号。只有当这些信号全部有效,才能说物理链路已经建立。
建立链路后要做数据质量验证。最可靠的方式是在ADRV9026或FPGA内部产生PRBS测试图案,在链路上跑一遍,检查是否有误码。没有误码才能证明高速串行通道的抖动和眼图余量足够。
另一个有用的方法是回环测试。把发射数据从FPGA发出,经过ADRV9026的DAC通路再环回到ADC通路,然后回到FPGA。这样能把数字链路和模拟链路分开排查。如果回环数据正确,至少说明JESD204B和芯片内部的IQ通路是通的。
4.3 射频验证与5G信号形态观测
链路稳定后,第一步先做单音测试。给芯片配置一个连续波信号,设置好中心频率,用频谱仪看输出。这一步能确认发射频率正确、功率可控、杂散在合理范围。
确认单音没问题后,再上宽带调制信号。可以用信号源产生的5G NR波表,或者用srsRAN配合矢量信号发生器生成测试用例。观察频谱仪上的占用带宽是否符合预期,测量EVM和ACLR指标。
TDD系统还有一个特有的验证点:发射和接收切换边沿。在时隙开始和结束时,频谱仪上应该能看到干净利落的功率上升和回落,不能有拖尾或残余功率。这个功能正常,才能继续往协议栈集成方向走。
5. 踩坑实录:五类JESD204B配置问题与排查路径
这部分是重头戏。标题里写了避坑指南,那我就把实际项目中踩过的JESD204B相关的坑一个个摊开来讲。不讲原理只说现象没用,我尽量把排查链路完整写出来,你遇到类似问题时可以直接照着做。
5.1 链路时好时坏:SYSREF的建立保持问题
现象:系统上电后,JESD204B链路有时能锁定,有时不行。重新复位芯片后偶尔能恢复,但不稳定。
根因:SYSREF信号与设备时钟的相位关系没有保证足够的建立/保持时间。JESD204B子类1要求SYSREF必须在设备时钟的有效沿附近被正确采样,如果SYSREF正好落在时钟边沿的亚稳态窗口里,采样结果就不可预测。
排查过程:我用示波器同时测试SYSREF和设备时钟,发现两者边沿距离非常近,肉眼看起来几乎重合。从LMK04828手册里看到SYSREF输出路径支持数字/模拟延迟调整,于是给SYSREF增加了一个适当的相位偏置,让它在设备时钟边沿之前稳定建立。调整后连续上下电几十次,链路每次都锁定正常。
建议:系统里预留SYSREF延迟调整能力。用LMK04828这类时钟芯片的相位调整功能,比在PCB上飞线方便得多。SYSREF走线长度也要控制,尽量接近设备时钟的走线长度,减少路径延迟差。
5.2 数据乱序或通道映射错位:链路通但数据不对
现象:链路锁定正常,单音也能看到,但是IQ信号出现在错误的通道上,或者I/Q两路互换。
根因:JESD204B链路层的L/M/F参数正确,但“转换器到通道”的映射规则在ADRV9026侧和FPGA侧不一致。ADRV9026支持通过寄存器配置把指定通道的数据发到指定物理串行口,FPGA的IP核也有自己的映射表。两边没有对齐就会出现错位。
排查过程:我用PRBS测试图案替代真实数据,观测FPGA端的接收数据,逐条通道对比图案是否相符。最后发现是ADRV9026侧有一个映射寄存器没有写入正确值,导致DAC0的采样数据被发到了逻辑通道3上。修正寄存器后数据全部归位。
建议:在上真实业务之前,一定要做一次逐通道的PRBS或者单音映射验证。四通道的芯片只需要十几分钟就能测完,但能避免后续大量的无效调试。
5.3 间歇性误码:K值失配或弹性缓冲溢出
现象:系统工作初期正常,长时间运行后偶发误码,EVM偶尔恶化,复位后又能恢复正常。
根因:FPGA接收端的弹性缓冲溢出,或者多帧对齐不稳定。JESD204B接收端需要一个缓冲来吸收链路两侧的时钟偏差,如果缓冲深度不够,或者K值设置不匹配,就会出现间歇性错误。
排查过程:我先检查了FPGA侧JESD204B IP的误码统计,发现错误确实存在但频率很低。之后对比了ADRV9026和FPGA的JESD参数,发现K值不一致,一边配了32另一边是16。统一为K=32后,再配合检查FPGA弹性缓冲深度设置,跑了一整晚高低温循环测试没有再出误码。
建议:上电初始化时把JESD204B关键参数打印出来,两端对比。这些参数不仅包括K值,还有N、N'、S、F等。K值不一致的问题在配置脚本很多版本的项目里尤其常见,版本管理一定要做好。
5.4 发射频率偏移:NCO与插值配置冲突
现象:配置中心频率为3.5 GHz,频谱仪上看到的单音却在3.5001 GHz,存在几十到上百kHz的频率偏差。
根因:ADRV9026的发射链路包含数字插值和NCO。如果JESD204B接口的数据率、数字插值倍数和NCO配置互相不匹配,实际输出频率就会与预期不一致。常见的原因是在修改采样率后,插值倍数没有同步更新。
排查过程:我重新核算了采样率和有效发射带宽,发现配置界面上显示的DAC速率和JESD204B链路速率对不上。修正了插值倍数,NCO的步进值也就正确了,输出频率回到预期值。
建议:频率计算不要用手算猜,直接用ADI官方工具里的公式计算并交叉验证。这个坑很容易被归因到“晶振偏了”或者“参考时钟不对”,其实很多时候就是数字链路里的插值/抽取关系配错了。
5.5 校准流程被跳过导致的性能残废
现象:频谱看起来有功率,但发射信号杂散很大,本振泄漏也明显,EVM完全达不到星座图要求,ACLR严重超标。
根因:最常见的原因是初始化流程里没有正确触发校准,或者在校准尚未完成时就启动了数据发送。我之前在调试中图省事,只加载了固件没有触发完整校准,结果用单音把问题暴露无疑。
排查过程:重新触发发射通道校准,等ARM状态寄存器指示校准完成后,再开启JESD204B数据发送。结果中发现杂散消失,ACLR恢复正常。
建议:把校准状态作为业务数据发送的门控条件。每次上电后先查校准完成状态,确认完成后再允许协议栈下发数据,避免在校准期间误发信号。这是从“能出功率”到“指标合格”的关键一步。
5.6 快速排查清单
把经验浓缩成一张查表,遇到问题按顺序检查:
| 现象 | 优先检查项 | 应对方向 |
|---|---|---|
| 链路完全无法锁定 | 时钟、参考时钟频率 | 确认设备时钟、SYSREF是否存在、PLL是否锁定 |
| 锁定不稳定、偶发失败 | SYSREF边沿位置 | 调整LMK SYSREF延迟,检查走线 |
| 链路建立但数据错位 | 两端映射寄存器 | 用PRBS逐通道验证映射关系 |
| 长时间运行偶发误码 | K值、弹性缓冲 | 核对两端JESD参数,增加缓冲深度 |
| 频率偏差 | 插值/抽取倍数、NCO | 重新核算采样率,修正数字链路配置 |
| 杂散大、EVM差 | 校准流程 | 触发完整校准,确认校准完成再发数据 |
6. 从射频板到真正的小型基站:TDD联动、协议栈集成和后续演进
射频和数据链路打通后,才算走完“原型”的一大半。但离一台能入网的小型基站还差最后一公里:物理层协议栈、TDD联动、以及与核心网的连接。
6.1 软件协议栈的选择和硬件适配
ADRV9026解决的是射频通道问题,基带侧还需要一整套5G NR PHY和上层协议栈。如果只是做研究验证,可以考虑开源方案如OAI或srsRAN;如果做产品预研,可能还需要对接商用协议栈。
FR2频谱不够,行业里的做法通常是把OAI或srsRAN的PHY运行在通用处理器上,通过FPGA把处理后的IQ数据再通过JESD204B下发给ADRV9026。硬件层面,需要确保FPGA侧能提供足够的PCIe或以太网接口连接主机,同时JESD204B IP核能稳定传输大流量IQ数据。
在这个阶段,前面的JESD204B调试基本功全部派上用场。因为协议栈一旦跑起来,数据流量是持续的,对链路稳定性的要求比单音测试高得多。如果前面链路稳定性不够,协议栈跑一段时间就会因为误码触发重传甚至掉线,很难判断是射频问题还是协议栈问题。
6.2 TDD开关控制的联动细节
5G TDD 系统的上下行配置必须精确对齐时隙边界。ADRV9026提供了GPIO机制来接收基带的开关控制。
我的做法是:FPGA根据5G NR时隙格式生成TDD开关信号,通过GPIO接入ADRV9026,控制发射/接收链路的打开和关闭。同时,ADRV9026也可以输出辅助信号,用于控制外部的PA使能和天线开关。
这个联动设计有几个细节要注意。首先,开关信号提前量要配置正确,因为PA和天线开关本身有开关时间。其次,TDD开关的毛刺会直接影响ACLR指标,要确保GPIO信号在FPGA内部做了同步处理,消除跨时钟域的亚稳态。
原型阶段可以先从手动触发TDD开关开始,验证射频切换功能正常,再逐步接入协议栈的帧定时信号。
6.3 从JESD204B到JESD204C的演进空间
新设计的5G基站方案越来越多的使用JESD204C接口,它的最大好处是线速率更高,支持更大的瞬时带宽和更多的通道数。
ADRV9026本身兼容JESD204B和JESD204C。如果你用同一颗芯片做原型,可以先在JESD204B模式下把系统功能验证完,再升级到JESD204C模式。切换时要关注FPGA侧的IP核版本和高速收发器能力,因为204C的线速率更高,对SerDes的要求也不一样。
我的实际体会是,JESD204B模式的调试经验对204C完全有效,因为两者在确定性延迟、多帧对齐、参数映射等基本概念上高度一致。先把B模式跑透,后面切C会顺畅很多。
6.4 给正在入门的人一个实操建议
如果你正准备做同样的原型,我的建议是:不要试图一步到位。
先做一个最小系统:ADRV9026评估板 + 一个支持JESD204B的FPGA开发板。先把JESD204B链路打通,用单音验证射频通路,然后才接入5G NR协议栈。这样每一层的问题都能被清晰隔离。
调试过程中所有初始化脚本、寄存器转储、链路日志都要留档。ADRV9026这类芯片的状态非常多,一旦某个版本跑了很久但没留日志,后面出了新问题会很难追溯。遇到解决不了的链路问题,把原始日志发给ADI或FPGA厂家的技术支持,对方也能快速定位。
另外,要有耐心。JESD204B链路调试确实磨人,但它一旦稳定运行,后面射频验证、协议栈集成都会顺风顺水。这是我做了多个原型项目后的最真实感受,射频底子越扎实,系统上层越省心。