1. CPRI协议概述:从历史到架构,一个老工程师的视角
各位同学好,我是老张。今天咱们开始聊CPRI协议。说实话,这协议我摸了快十年了,从3G时代的CPRI v4.0一直跟到现在的eCPRI。每次调试遇到问题,我都会想起当年在实验室通宵抓数据的场景。嗯,咱们先从最基础的讲起。
1.1 CPRI协议发展历史:为什么会有这个协议?
2003年以前,基站内部是怎么连的?说白了,就是一堆同轴电缆,从射频拉远单元(RRU)到基带处理单元(BBU)之间,走的是模拟信号。你想想看,模拟信号传输距离有限,抗干扰能力也差。我记得有一次在现网测试,因为电缆老化,信号衰减了3dB,整个小区的覆盖半径直接缩了20%。
后来大家意识到,必须把数字接口标准化。2003年,爱立信、华为、NEC、北电网络这几家巨头坐在一起,搞出了CPRI(Common Public Radio Interface)协议。我个人的理解是,CPRI本质上就是把基带数字信号通过光纤传到射频端,这样传输距离从几十米扩展到了几十公里。
关键时间节点:
- 2003年:CPRI v1.0发布,速率614.4Mbps
- 2005年:v2.0,支持1.2288Gbps
- 2006年:v3.0,引入2.4576Gbps
- 2008年:v4.0,支持4.9152Gbps,这是3G时代的主流版本
- 2011年:v5.0,速率到9.8304Gbps
- 2013年:v6.0,支持24.33024Gbps
- 2015年:v7.0,引入eCPRI概念
为什么会从CPRI演进到eCPRI?我给大家讲个真实案例。2017年我在做5G原型机的时候,发现CPRI的带宽消耗太大了。一个20MHz的LTE载波,CPRI接口速率就要2.5Gbps。到了5G,100MHz带宽,CPRI速率直接飙到25Gbps。你想想看,这光纤成本得多高?
所以eCPRI(enhanced CPRI)在2017年应运而生。它的核心思想是:把部分基带处理功能下沉到射频端,只传输IQ数据,而不是传输完整的基带信号。说白了,就是让射频端也干点活,减少传输带宽。
1.2 CPRI在无线接入网中的位置:它到底连什么?
咱们先看一张典型的无线接入网架构图(嗯,虽然这里不能贴图,但我用文字描述一下):
从核心网出来,经过回传网络到BBU,BBU通过CPRI/eCPRI接口连接到RRU,RRU再通过天线发射出去。CPRI协议就卡在BBU和RRU之间,也就是咱们常说的前传(Fronthaul)接口。
我的经验:在实际项目中,CPRI接口的调试往往是最头疼的。我曾经遇到过一个案例,BBU和RRU之间距离只有500米,但光纤熔接质量不好,导致光模块接收功率只有-18dBm,CPRI链路死活起不来。后来换了根尾纤,功率到-12dBm,立马就通了。所以,CPRI调试第一步,先看光功率!
CPRI在无线接入网中的位置决定了它的几个特点:
- 实时性要求极高:时延必须小于100μs,否则会影响HARQ等流程
- 带宽大:一个20MHz LTE载波就需要2.5Gbps
- 同步要求严格:BBU和RRU之间的时钟偏差必须小于±16ppb
- 物理层透明:CPRI不关心上层传的是什么数据,只负责传输IQ采样点
我记得有一次在实验室调试,BBU和RRU之间的时钟不同步,导致UE的SINR始终上不去。查了两天,最后发现是BBU的时钟源选择了GPS,而RRU选择了内部晶振,两者差了50ppb。嗯,从那以后,我每次做CPRI调试,第一件事就是检查时钟同步状态。
1.3 CPRI协议栈架构:分层模型与数据流
CPRI协议栈分为三层,从下往上分别是:
| 层 | 名称 | 功能 | 我的理解 |
|---|---|---|---|
| Layer 1 | 物理层 | 电/光信号传输、时钟恢复、帧同步 | 就是物理连接,光纤、光模块、电接口这些 |
| Layer 2 | 数据链路层 | 成帧、定帧、控制字、IQ数据映射 | 把IQ数据打包成帧,加上控制信息 |
| Layer 3 | 高层协议 | C&M(控制与管理)通道、Vendor Specific信息 | 传一些配置、告警、厂商自定义数据 |
咱们重点说说Layer 2的帧结构。CPRI的基本帧是1个无线帧(10ms)包含150个超帧,每个超帧包含256个基本帧,每个基本帧包含16个字(word)。每个字的长度取决于线路速率,比如在2.4576Gbps下,每个字是16位。
关键概念:基本帧结构
每个基本帧包含16个字,其中:
- 字0:控制字,包含同步、定时、C&M等信息
- 字1-15:IQ数据,承载基带采样点
控制字又细分为:
- Z.X.0:同步字节,用于帧对齐
- Z.X.1:慢速C&M通道
- Z.X.2:快速C&M通道
- Z.X.3:Vendor Specific
我给大家举个例子。假设一个LTE 20MHz系统,采样率30.72MHz,每个采样点用16位IQ表示(I和Q各16位),那么每个基本帧(1/3.84MHz ≈ 260.42ns)需要传输多少个采样点?
每个基本帧的IQ数据量 = 15个字 × 16位/字 = 240位
每个采样点需要32位(I 16位 + Q 16位)
所以每个基本帧可以传输 240/32 = 7.5个采样点
实际上CPRI会做量化,这里只是简化计算
嗯,这里要注意,CPRI的线路速率不是随便选的。它必须满足:
- 线路速率 = 采样率 × 每个采样点的位数 × 天线数 × 载波数 × 编码开销
- 比如一个2天线、20MHz LTE系统:30.72M × 32 × 2 × 1 × (16/15) ≈ 2.4576Gbps
你看,2.4576Gbps这个速率就是这么来的。我当年第一次算这个的时候,还觉得挺神奇的,原来每个速率都有它的物理意义。
避坑指南:我曾经在调试中遇到过一个问题,CPRI链路能建立,但IQ数据全是乱的。查了半天,发现是BBU和RRU配置的天线数不一致。BBU配了4天线,RRU只配了2天线,导致IQ数据映射错位。所以,CPRI调试时,一定要先确认两端的配置参数完全一致,包括天线数、载波数、采样率等。
最后说说Layer 3的C&M通道。这个通道用来传输控制和管理信息,比如:
- BBU给RRU下发配置参数(如发射功率、频点等)
- RRU上报告警信息(如驻波比告警、温度告警等)
- 厂商自定义的私有信息
C&M通道分为慢速(SAP)和快速(FAP)两种。慢速通道速率约240kbps,用于传输非实时信息;快速通道速率约1.92Mbps,用于传输实时性要求较高的信息。我个人习惯,在调试初期先用慢速通道做基本通信验证,通了之后再切到快速通道。
好了,这一章的内容就到这里。CPRI协议看似复杂,但核心就是三点:物理层怎么传、数据层怎么打包、高层怎么管理。下一章咱们会深入讲解CPRI的帧同步机制,这可是调试中最容易出问题的地方。
公众号:蓝海资料掘金营,微信deep3321