2、CPRI协议基础:CPRI协议栈、基本帧结构、超帧结构、线路速率计算

好,咱们进入第二章。这一章是CPRI协议的硬核基础,说白了就是搞明白CPRI这根“光纤水管”到底是怎么工作的。我个人习惯,学协议先看帧结构,就像学TCP/IP先看报文头一样。CPRI的帧结构搞懂了,后面eCPRI的差异、压缩算法的原理,你一看就通。

2.1 CPRI协议栈:分层没那么复杂

CPRI协议栈分三层,但别被“层”字吓到。我当年第一次看协议文档,看到一堆分层图也头疼。其实你把它想成寄快递就明白了:

  • 用户面(User Plane):就是IQ数据,你的核心货物。RRU收发的无线信号,数字化之后就是这玩意儿。
  • 控制与管理面(C&M Plane):相当于快递单上的备注和签收信息。用来配置RRU的频点、功率、告警查询等。
  • 同步面(Sync Plane):这是时钟同步信息。基站之间时间不对齐,切换就会掉话,这个面保证大家步调一致。

嗯,这里要注意:CPRI协议栈没有独立的“传输层”或“网络层”,它直接在物理层上跑这些信息。所以CPRI对光纤质量要求极高,抖动一大,同步面先崩。

我的经验: 在现网排查CPRI链路问题时,我习惯先看C&M面通不通。如果BBU能ping通RRU的CPRI管理IP,那物理层基本没问题,问题大概率出在IQ数据映射上。

2.2 基本帧结构:一个“小格子”装什么?

CPRI的基本帧,长度固定为1个字节(8比特)?不对,别搞混了。基本帧的时间长度是固定的,1个基本帧 = 1/3.84 MHz ≈ 260.42 ns。但它的字节数取决于线路速率。

为什么会这样?因为CPRI的采样时钟和无线空口的码片速率(3.84 Mcps)是绑定的。你想想看,一个基本帧刚好承载一个码片周期的数据,这样BBU和RRU之间天然同步。

基本帧的结构如下:

字节位置 内容 说明
字节0 同步字节(#Z.X.0) 帧头标识,用于定帧
字节1~N-1 IQ数据 + 控制字 按比例复用,具体看速率

每个基本帧的第一个字节是同步字节,这是CPRI的“心跳”。我曾经遇到过一个案例,光纤头子脏了,导致同步字节偶尔出错,RRU每隔几分钟就失锁一次。排查了三天,最后用酒精棉擦了擦光纤端面就好了——嗯,这种坑踩过一次就忘不了。

2.3 超帧结构:256个基本帧组成一个“大包”

256个基本帧组成一个超帧。为什么是256?因为2的8次方,方便用8比特计数器管理。超帧的主要作用是承载控制字和慢速C&M通道。

超帧的结构可以这样理解:

  • 超帧中的第0~15个基本帧:承载快速控制字(比如功率控制命令)
  • 超帧中的第16~255个基本帧:承载慢速控制字和C&M数据

说白了,超帧就是给控制面信息留了专门的“时间槽”。我建议你记住一个关键点:一个超帧的时间长度 = 256 × 260.42 ns ≈ 66.67 μs。这个数字在计算CPRI链路时延时会反复用到。

避坑指南: 我曾经在5G前传项目中,用CPRI Option 7(10.1376 Gbps)对接某厂商的RRU。结果发现超帧中的C&M通道带宽不够,导致RRU的配置下发延迟超过100ms。后来查协议才发现,C&M通道的速率和线路速率是挂钩的,线路速率越高,C&M通道的绝对带宽才越大。所以,别以为高速率只为了传IQ数据,控制通道也得算进去。

2.4 线路速率计算:从Option 1到Option 10

CPRI的线路速率,说白了就是“基本帧的字节数 × 3.84 MHz × 8”。因为每秒有3.84M个基本帧,每个基本帧有N个字节,每个字节8比特。

公式很简单:

线路速率 (Gbps) = 基本帧字节数 × 3.84 × 8 / 1000

举个例子,CPRI Option 7(10.1376 Gbps):

基本帧字节数 = 10.1376 × 1000 / (3.84 × 8) = 330 字节

也就是说,Option 7的每个基本帧有330个字节。其中1个字节是同步字,剩下329个字节用于IQ数据和控制字。

常见的CPRI Option如下:

Option 线路速率 (Gbps) 基本帧字节数 典型应用
Option 2 1.2288 40 4G LTE 单载波
Option 3 2.4576 80 4G LTE 双载波
Option 7 10.1376 330 5G NR 100MHz
Option 10 24.33024 792 5G NR 200MHz
注意: 线路速率不是随便选的。CPRI标准规定了固定的Option,你不能自己定义速率。比如你算出来需要9.8 Gbps,对不起,没有这个Option,你只能选Option 7(10.1376 Gbps)或者Option 8(12.16512 Gbps)。选高了浪费带宽,选低了带不动。我见过有人硬塞数据导致丢帧的,就是因为选了低一档的Option。

2.5 实战中的速率选择建议

好了,理论讲完了,说点实际的。在5G前传部署中,怎么选CPRI速率?

  1. 先算天线端口数和带宽:比如64T64R天线,100MHz带宽,256QAM调制。IQ数据速率大约在 64 × 100 × 30.72 × 2 × 16 ≈ 63 Gbps(粗略估算)。
  2. 加上开销:控制字、同步字、8B/10B编码(CPRI用8B/10B编码,效率80%)。实际需要的线路速率大约在 63 / 0.8 ≈ 79 Gbps。
  3. 匹配Option:79 Gbps,Option 10才24.33 Gbps,不够。所以5G大带宽场景下,CPRI已经力不从心了——这就是为什么eCPRI要搞压缩和分割。

我个人习惯,在5G前传项目中,如果单天线端口速率超过25 Gbps,我会直接建议客户上eCPRI。CPRI在4G时代是王者,但在5G大带宽面前,它真的有点喘不过气。

一个小技巧: 计算CPRI线路速率时,别忘了算上8B/10B编码的20%开销。很多新手只算了IQ数据,结果发现光纤速率不够。嗯,这个坑我替你们踩过了。

好,这一章就到这里。CPRI的帧结构和速率计算是基础中的基础,后面讲eCPRI的时候,你会发现很多概念都是从CPRI演变过来的。下一章我们聊聊CPRI的同步机制——这可是基站不掉话的关键。