多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

CPRI原理详解:从BBU/RRU前传架构到eCPRI演进与故障排查

CPRI原理详解:从BBU/RRU前传架构到eCPRI演进与故障排查 干无线接入网这一行CPRI这三个字母你绝对绕不开。4G基站里BBU和RRU之间那根光纤上跑的就是它到了5GeCPRI也照样从它这套设计思路演化而来。所以不管你是做基站研发、外场测试、网络运维还是刚入行的通信新兵只要跟无线接入网沾边先把CPRI的基本原理吃透后面再看eCPRI、看各种前传故障都会顺很多。这篇文章我打算从“为什么基站非要拆成BBU和RRU”讲起把CPRI的协议分层、帧结构、速率等级、时延同步、组网方式、故障排查一次讲清楚。里面的速率计算和踩坑经验都是实际项目中能直接拿去用的东西。1. 为什么要把BBU和RRU分开CPRI出现的直接原因1.1 传统一体化基站的痛点馈线损耗和机房限制早年基站是典型的“铁塔机房”布局射频单元放在塔下机房天线架在塔顶两者之间用粗粗的射频馈线连接。馈线最让人头疼的就是损耗900MHz频段还很友好到了1800MHz、2100MHz馈线损耗随频率直线上升100米长馈线轻轻松松吃掉几个dB。信号能量在馈线上白白发热基站覆盖半径变小手机发射功率还得被迫提高。更麻烦的是机房选址。射频单元放塔下机房必须紧挨着铁塔这在城区几乎不可行站址租金贵、业主投诉、群楼上根本没有空间。运营商真正想要的是把射频部分尽可能靠近天线最好是直接挂在塔顶把基带部分集中到中心机房一个机房管周边好几个站址。这个诉求直接催生了分布式基站架构RRU射频拉远单元上塔BBU基带处理单元放在机房或机柜里。但问题紧接着就来了——射频和基带分开了两者之间得有一条数字通道把天线收到的原始采样数据、基带算出来的发射数据原封不动地搬过去。这条通道就是CPRI。1.2 CPRI在整个基站数据链路中的位置CPRI全称Common Public Radio Interface通用公共无线接口最早由爱立信、华为、NEC、西门子等厂商在2003年前后联合定义专门用来规范BBU和RRU之间的接口。很多人一开始会把CPRI理解为一种光纤协议这么说没错但容易忽略它真正的定位。CPRI本质上是一条“数字管道”它不关心你用的是LTE还是WCDMA不负责调制解调也不管信道编解码它做的唯一一件事就是把RRU侧ADC采样出来的I/Q数据同相/正交分量搬到BBU侧同时把BBU侧算好的I/Q数据搬到RRU侧供DAC发射。这条链路在设备上的位置大概是这样的天线 → 射频前端LNA/PA/滤波→ ADC/DAC → CPRI光接口光模块→ 光纤 → BBU侧CPRI接口 → 基带处理。也就是说在CPRI这条链路上传输的是“还没经过基带解调的原始采样”。这就决定了它最突出的特点数据量极大。这个特点恰恰是后面所有设计——帧结构、速率等级、时延要求——的根本出发点。理解了这一点你就看懂了CPRI一半的设计逻辑。2. CPRI协议的核心设计一条“IQ数据传送带”2.1 三个平面并行用户面、控制管理面、同步面CPRI接口上跑的并不只有IQ数据它同时承载三类信息业界习惯叫三个平面用户面U-planeIQ采样数据也就是真正的话音和流量占带宽的绝大部分。控制和管理面C-plane远端设备的开站配置、小区参数下发、告警上报、射频通道开关等。同步面S-plane帧同步和时钟同步信息保证RRU和BBU两侧的时序严格对齐。这三类信息不是用三条独立的链路跑而是全部复用在同一条物理光纤上。怎么复用呢靠的就是固定的帧结构——每一帧里绝大多数位置放IQ数据固定留出少量位置放控制字和管理信息。IQ数据是“运货的”控制字是“随车的调度员”两者按固定节拍排列在光纤上。2.2 基本帧、超帧、无线帧CPRI的时间刻度CPRI的帧结构非常规整一共三层基本帧、超帧、无线帧。先说基本帧。一个基本帧的时间长度是260.42ns正好对应3.84MHz的一个周期。每个基本帧包含16个Word每个Word是16比特总共256比特。这256比特里有一个字节8比特是控制字剩下的都用来装载IQ数据。再往上一层256个基本帧组成一个超帧时长正好是66.67μs。超帧的意义在于协调控制字的组织——单个基本帧里的控制字只有8比特干不了什么事攒够256个字节就能按子通道划分分别承载同步信息、CM管理信息和时间戳。最外层150个超帧组成一个无线帧时长10ms正好和LTE、WCDMA的空口无线帧对齐。这个对齐是刻意的因为RRU和BBU两侧的无线帧边界必须严丝合缝接收端才能知道当前处理的采样点对应空口的哪个时隙后续的时延补偿才有基准。三层帧结构环环相扣底层是高速重复的基本帧中间是控制字的“编组单位”顶层是跟空口时序锚定的无线帧。CPRI接收端只要识别出无线帧边界就能把整条数据流从时间上“定住”再按字偏移把各条IQ流解出来。这个设计在工程上非常巧妙一条光纤上既传超大流量IQ又能精确同步靠的就是这套分层的帧结构。2.3 控制字里藏的秘密同步、时间戳和CM通道控制字在整个帧结构里只占大约3%的开销但它承担的任务极其关键。首先是帧同步控制字里的同步字节有固定的比特图案接收端靠它识别基本帧边界和超帧边界一旦连续几次对不上链路就会上报失步告警LOF。其次是时间戳。控制字里有一些字段专门用来传递帧号和无线帧号接收端根据这些字段可以算出当前帧在10ms无线帧里的绝对位置。这个信息是做时延测量、时延补偿和跨设备时间对齐的基础。再就是CM管理通道。CPRI引出了一个叫“慢速CM”和“快速CM”的机制——慢速管理通道用来传配置和告警这类不频繁的数据快速管理通道用来传需要低时延的控制指令。这两条逻辑通道都是从控制字里划分出来的带内通道好处是不需要额外布线远端RRU只要连上光纤BBU就能通过它管理。这里有一个工程上的细节值得注意控制字位置是固定的、周期性的所以CM通道的带宽是严格可控的。你在一端配置RRU参数另一端立刻能在对应的子通道上收到不会有排队抖动。这个特性在级联组网时尤其重要后面讲组网我再展开。3. CPRI线速率怎么算采样率、位宽与Option等级3.1 一个天线通道到底要传多少数据要理解CPRI的速率等级先要搞清楚一个问题一个天线通道需要多少传输带宽。答案取决于三个参数采样率、位宽和天线数。以最常见的20MHz LTE载波为例。LTE 20MHz采用的是2048点FFT子载波间隔15kHz所以采样率是2048×1500030.72Msps。每一个采样点包含I和Q两路数据假设位宽是16比特那么每路采样就是16比特一个采样点就是32比特。一个天线通道的下行IQ数据速率就是30.72M × 32bit ≈ 983Mbps。注意这还只是一个天线通道、一个载波、一个方向上行或下行的数据量。一个典型的FDD基站2T2R双通道、单单20MHz载波IQ数据总量就已经接近2Gbps。加上CPRI的控制字开销、可能的8B/10B线路编码开销线速率会进一步上浮。所以这个问题想说的是CPRI根本不是什么“光纤协议选型”的问题而是天生就在跟大带宽作斗争。你每增加一根天线、一个载波、一比特位宽光纤上的压力都是线性增长的。3.2 标准速率等级对照Option 1到Option 10CPRI标准定义了一系列速率等级从低到高分别叫Option 1到Option 10。基准速率是614.4Mbps后面的选项基本上是它的倍数关系。下表是常用的速率等级和线速率对照Option线速率典型应用场景Option 1614.4 Mbps早期WCDMA单载波、小容量场景Option 21228.8 Mbps低配LTE、单通道小带宽Option 32457.6 Mbps4G LTE单小区2T2R常见配置Option 43072.0 Mbps4G LTE加固配置、增加载波Option 54915.2 Mbps多载波LTE场景Option 66144.0 Mbps多载波、多扇区共享光口Option 79830.4 Mbps高配LTE、早期5G试点的过渡方案Option 810137.6 Mbps10G级前传设备Option 912182.4 Mbps大容量前传链路Option 1024330.24 Mbps25G级前传主要配合eCPRI演进使用注意一个细节Option 7A、8A这类带字母的变体是后来标准补充的“裁剪速率”用于适配不同的编码效率和开销配置。实际工程中设备网管里能看到的选项一般就是厂商支持的那几个速率对应关系才是关键。我的建议是不要死记每个Option的数字记住两个基准就够了614.4M是低端入门2457.6MOption 3是4G中期主力10G以上是5G前传和eCPRI的天下。3.3 多小区多天线是怎么塞进一根光纤的一根CPRI光口端到端通常对应一个BBU光口和一个RRU光口但一根光纤上可以同时跑多个小区的IQ数据。CPRI标准里把每个独立的天线载波称作一个“AxC”Antenna Carrier一个AxC就是一路天线一个载波的IQ流。比如一个光口接了3个小区每个小区2T2R那这条链路上就有6个AxC的下行IQ流和6个上行IQ流它们通过时分复用的方式塞进基本帧的不同字位置。接收端根据配置好的“AxC映射关系”解出每一路数据。这就是为什么开站数据里要明确配置“光口带多少个AxC”配置不一致时接收端解出来的IQ流就是错位的。这里有一个工程上特别重要的判断你要算一个光口能带几个小区不能只看光口速率还要看BBU的基带资源、RRU支持的天线数、传输带宽等因素。光口只是其中一个瓶颈。实际项目里“光口够不够用”往往不是算出来的而是测试测出来的——把载波加上看误码和时延有没有恶化。我后面在故障排查部分会专门讲这类问题。4. 工程组网中必须搞懂的三个关键词拓扑、时延、同步4.1 星型、链型、环型光纤资源的取舍CPRI标准本身定义的是点对点接口也就是一个BBU光口对一个RRU光口。但设备厂商在实际组网中利用CPRI的转发和控制字能力延伸出了星型、链型、环型三种主流拓扑。星型是最常见的BBU每个光口只带一个RRU链路独立故障域小一个RRU出问题不影响其他。缺点就是光纤消耗大。一个三扇区宏站三面天线三台RRU至少需要三根光纤从机房到塔顶的距离如果超过1公里光纤成本就很可观了。链型在室内覆盖和隧道场景里非常常见一个BBU光口串多个RRU中间的RRU除了收发自己的IQ数据还要把下游的IQ数据“透传”出去。这种组网省光纤但有两个代价一是中间节点故障下游全部掉线二是时延逐级累加每多一级下游RRU的时延补偿就越难做。环型相当于把链型的两头都接到BBU侧多了一层保护。但实现复杂度高时延管理也更复杂现网用得不那么多主要在对可靠性要求高的政企专网场景里有应用。选哪种拓扑本质上是在光纤成本、可靠性和时延预算之间做权衡。我的经验是宏站无脑星型室内覆盖优先链型如果链型超过5级就要认真核算时延和光功率了。4.2 时延到底怎么测、怎么补偿重点说TDDCPRI链路时延主要由两部分组成光纤传播时延和光模块/中间节点的处理时延。光纤传播时延很好算光在光纤里的传播速度大约是2×10^8 m/s也就是每公里约5μs。一个基本帧才260ns所以3公里光纤的单向时延大概相当于19个基本帧。对FDD系统来说上下行分频段收发同时进行CPRI光纤距离远一点近一点问题不大。但TDD系统完全不同——上下行在同一个频段靠严格的时间切换来区分RRU和BBU之间如果存在一个没有校准的时延上行接收窗口和下行发射窗口就会错位轻则边缘速率下降重则自己干扰自己。CPRI的时延补偿机制本质上是一个“回环测量时间校准”的过程BBU在发送的帧里打上时间戳RRU收到后把同一帧再环回给BBUBBU通过往返时延算出单向时延然后在下行方向调整发射定时让RRU侧的空口帧边界和BBU侧的帧边界严格对齐。标准里用N值来量化这种时延关系——它把链路时延折算成若干个基本帧/超帧的长度配合无线帧号做补偿。实际工程中设备网管里通常会有“时延补偿使能”或“往返时延测量”的配置项开站时最好手动触发一次补偿流程然后对比补偿前后的上下行干扰指标。我见过太多TDD干扰问题最终查下来都是因为时延补偿没有做或者补偿参数被其他配置覆盖了。4.3 帧同步、相位同步、时间同步三者的区别很多运维同事在处置同步类告警时把帧同步、相位同步、时间同步混为一谈这是要出事的。我按从基础到进阶的顺序说一下帧同步是CPRI接收端的物理层要求。接收端必须能从比特流里识别出基本帧、超帧、无线帧的边界否则根本无法解出IQ数据。帧同步失败的直接表现是链路失步告警LOF业务直接中断。相位同步是指RRU和BBU之间的载波相位一致性尤其是多个RRU之间。做MIMO、CoMP和波束成形时各路通道的相位差必须在一个很小的范围比如几度内否则方向图会偏赋形增益打折扣。相位同步一般要靠射频口的参考时钟和基带的IQ对齐来保证CPRI本身提供帧级对齐但射频链路上的相位偏差需要专门校准。时间同步是最高层次的同步要求所有网元在“绝对时间”上一致。典型场景就是TDD系统上下行切换点必须全网统一还要配合GPS/北斗或1588v2地面同步来获得绝对时间。CPRI链路本身只带频率和帧同步信息不提供绝对的“几点几分几秒”这个时间源必须由设备定时口或外部时钟源提供。判断同步类问题时分清这三层非常有用如果是全部RRU一起失步多半是时间源的问题如果是单个RRU失步先查光纤和光模块如果网络指标异常但没有任何失步告警就要考虑是不是相位或时延校准的问题。5. 5G时代CPRI为什么“带不动”了eCPRI的演进思路5.1 大带宽和多天线带来的速率爆炸到了5GCPRI的处境变得很尴尬。单个5G载波带宽100MHz起步是LTE 20MHz的5倍。更狠的是天线规模4G时代主流是2T2R、4T4R5G中频直接上64T64R。我们按3.1的方法估算一下100MHz采样率按122.88Msps算FFT点数4096×30kHz子载波间隔16bit位宽一个天线通道的IQ速率就是122.88M×32bit≈3.93Gbps。64个通道就是251Gbps——这个速率光模块和基带接口根本扛不住成本更是天价。问题不在协议本身而在CPRI的设计哲学它要求把所有基带处理都放在BBU侧RRU只做最简单的模数/数模转换和收发信机。这意味着RRU和BBU之间传的是“原始采样”带宽冗余极大。5G以前这个矛盾不突出5G一上来必须变。5.2 eCPRI做了什么减法eCPRI的思路一句话概括把一部分基带处理从BBU挪到RRU侧在RRU里先做掉一部分“重活”再去光纤上传输已经“瘦身”的数据。具体来说传统CPRI传输的是时域的IQ采样而eCPRI把功能切分点搬到了物理层的稍后位置——RRU可以做完FFT快速傅里叶变换、波束成形、甚至资源块映射再把频域数据或符号级数据传给DU分布单元。这样一来数据量从“每采样点每通道”降到了“每资源块每层”下降幅度可高达一个数量级。而且eCPRI的物理承载从私有帧结构改成了以太网可以直接复用现网的以太交换机、光模块和线缆不再需要专用的CPRI光口和专用的同步光纤。这在部署成本、灵活性和互通性上的优势是决定性的。5.3 现网中eCPRI与CPRI的共存关系目前现网正处于CPRI和eCPRI并存的过渡期。4G存量基站绝大多数还是标准CPRI5G中频AAU有源天线一体化则普遍用eCPRI前传Open RAN架构里更是把eCPRI当作标准前传接口来用。需要特别说明的是eCPRI虽然换了个名字设计思想上依然是CPRI的延续帧结构、时延补偿、同步层次、AxC映射这些核心概念全都继承了下来。你可以把eCPRI理解成“把CPRI的IQ传送带改成了以太网包裹快递并在RRU里先帮你分拣了一部分包裹”。所以我说认真学一遍CPRI基本原理做5G前传照样吃香因为它解决的是同一个问题近端和远端之间如何高效地传输无线信号处理中需要交换的数据。6. 项目实战CPRI链路常见故障与排查顺序6.1 光模块和光功率类问题先说LOSCPRI链路最常见的告警就是LOSLoss of Signal信号丢失一旦出现业务基本全断。现场排查的第一件事永远不是查配置而是确认物理层用光功率计测RRU侧和BBU侧的接收光功率。看收发光功率是否在光模块规格范围内尤其是接收光功率是否接近灵敏度门限。如果收光功率偏低优先清洁光纤接头——我处理过很多“神秘LOS”最后都是光纤端面脏了用光纤清洁笔一擦就好。光纤损耗也要算一算常规单模光纤每公里衰减约0.3dB左右加上法兰盘接头损耗如果一段10公里的光纤总衰耗超过5dB就要怀疑中间有没有过度弯曲或跳接点过多。光模块本身也要看型号是否匹配CPRI Option 3/4/7对应不同速率的光模块把10G光模块跑到25G速率短期看不出问题长期误码率一定高。6.2 配置和兼容性问题速率、AxC映射能查到物理层正常但链路起不来或者起来了之后语音数据质量差大概率是配置问题。典型的坑我在开站的时候踩过几次“两端配置的Optical接口速率不一致”——比如BBU侧配了Option 4RRU侧还停在Option 3协商失败链路上看不到光模块告警但业务就是起不来。另一个高频问题是AxC映射不一致。BBU侧一个光口配了6个AxCRRU侧只配了3个多余的AxC在RRU侧没有对应接收目标数据直接丢弃。表现是后台看IQ数据有告警但光链路状态正常误码率为零。这种问题的排查思路是逐项核对“光口速率、链路编号、AxC数量、载波位宽”这四类配置两边必须完全一致。还有一个容易被忽略的版本兼容性不同厂商的CPRI实现细节有差异比如控制字里CM通道的子通道分配、慢速/快速管理通道的速率、时延补偿算法的具体实现都可能不互通。混插设备前务必确认版本兼容列表。6.3 时延和时钟类问题TDD干扰的罪魁祸首TDD基站出现上行干扰但排查完射频侧外部干扰、互调、天馈驻波都没问题这时候十有八九是时延补偿出了问题。我的处置顺序是这样的先查光纤距离和实际路由看看有没有绕远或者跳纤把实际距离和配置里的距离比对再确认时延补偿是否使能触发一次补偿流程最后看网管里的往返时延读数和N值是否在合理范围。如果RRU是链型组网还要把每一级RRU的时延逐级核对某一级的处理时延出现异常下游全遭殃。时钟类问题则要区分是掉同步还是时钟源故障。如果只是某个RRU的同步状态变成holdover保持模式说明只是暂时失去GPS/北斗信号降级运行还能撑一阵但如果整个系统的RRU都失步要优先检查时钟源设备和传输链路比如GPS天线馈线、1588主时钟的PTP会话状态。6.4 CPRI故障排查速查表最后整理一个实战速查表方便外场和网管同事快速定位现象可能原因排查动作链路LOS告警业务全断光模块故障、光纤断/衰耗过大、接头脏污光功率计测收发光、清洁接头、更换光模块链路LOF/失步告警两端速率不匹配、配置错误、光口脏污核对Option速率配置、看线路编码是否一致无告警但业务质量差AxC映射不一致、IQ数据错位、误码堆积核对AxC配置、看CRC校验错误计数偶发误码、闪断光模块性能劣化、法兰盘松动、光纤弯曲半径过小看误码率趋势、紧固法兰盘、排查光纤走线TDD上行干扰但射频侧正常时延补偿失效、时钟源失锁触发时延补偿流程、检查GPS/1588状态多RRU相位不一致波束赋形效果差相位校准未做、频参考时钟异常做射频校准流程、检查参考时钟线缆最后多啰嗦一句排查CPRI问题永远从物理层往上查不要一上来就翻配置。物理层不通配置再好也是白搭物理层通再考虑配置和上层协议。顺序对了排障效率至少提高一半。我个人在实际项目里的体会是做CPRI相关的工作最先要克服的就是“它只是个传输管道”的轻视心理。这条管道承载的是整个无线基站的原始脉搏任何时延、时钟、配置上的小问题最终都会在空口侧被放大成用户感知层面的故障。把CPRI的基本原理理解透不仅在4G现网排障时得心应手换了5G、换了eCPRI你依然能一眼看出问题出在哪一层。
返回列表