前文回顾:
目录
1.协议总览
CPRI 定义物理层(Layer 1)和数据链路层(Layer 2)协议,服务于用户(USER)、控制和管理(C&M)以及同步(SYNC)平台信息在 REC 和 RE 之间或两个 RE 之间的传输。接口支持以下类型的信息流:
- IQ 数据:用户平台信息所用的同相和正交调制下的数据(数字基带信号)格式。
- 同步:用于帧和时间对齐的同步数据。
- 层 1 带内协议:与链路有关且直接被物理层传送的信号传输信息。如:用于系统启动、物理层链路维护和与物理层用户数据密切联系的时间关键信息的传输。
- C&M data: 控制和管理信息,被给到更高协议层。
- 协议扩展内容: 目前保留,未来可能用于协议扩展,如支持更复杂的拓扑结构,或者其他的无线标准等。
- 厂商特定信息:这种信息流是为厂商特定信息保留的。
用户平面数据按照IQ数据形式进行发送,承载了IQ数据的不同天线载波在电或光传输线上被时分复用方案传输。C&M 数据被作为频带协议(时间关键信息化数据)或层 3 协议(非 CPRI 规范所定义, 位于适当的数据链路层顶部)传送。CPRI 支持两种不同的用于 C&M 数据传送的数据链路层协议—— HDLC( High level Data Link Control) 的子集和以太网 Ethernet。一些附加的 C&M 数据与 IQ 数据一起时分复用传输。最后,另外的时段可以用于传送任何类型的厂商特定信息。下图总结了基本协议的层次:
2.物理层规范
2.1 线比特速率
为了满足要求的灵活性和成本效应,几种不同的线比特速率被定义了。所以,CPRI的线比特率可从下面选项中选择:(注: 最新的协议好像已经支持48Gbps)
option 1: 614.4 Mbit/s, 8B/10B line coding (1 x 491.52 x 10/8 Mbit/s)
option 2: 1228.8 Mbit/s, 8B/10B line coding (2 x 491.52 x 10/8 Mbit/s)
option 3: 2457.6 Mbit/s, 8B/10B line coding (4 x 491.52 x 10/8 Mbit/s)
option 4: 3072.0 Mbit/s, 8B/10B line coding (5 x 491.52 x 10/8 Mbit/s)
option 5: 4915.2 Mbit/s, 8B/10B line coding (8 x 491.52 x 10/8 Mbit/s)
option 6: 6144.0 Mbit/s, 8B/10B line coding (10 x 491.52 x 10/8 Mbit/s)
option 7: 9830.4 Mbit/s, 8B/10B line coding (16 x 491.52 x 10/8 Mbit/s)
option 7A: 8110.08 Mbit/s, 64B/66B line coding (16 x 491.52 x 66/64 Mbit/s)
option 8: 10137.6 Mbit/s, 64B/66B line coding (20 x 491.52 x 66/64 Mbit/s)
option 9: 12165.12 Mbit/s, 64B/66B line coding (24 x 491.52 x 66/64 Mbit/s)
option 10: 24330.24 Mbit/s, 64B/66B line coding (48 x 491.52 x 66/64 Mbit/s)
每一个 REC 和 RE 必须支持至少一种上面列出的线比特率。
聪明的筒子可能就会问了,491.52会这个数字有什么特殊吗,每个都有它的身影,怎么来的?先留个疑问,后面解答。
2.2 物理层模型
与线速率对应如下:
Layer 1 的每种模式应该满足协议相关(时间稳定和噪声)、(BER<10-12)的规范。
2.3 电口
电缆:没有推荐,满足要求即可。
电连接器:Fibre Channel Physical Interfaces [28], [30], [31] or IEEE 802.3 [22].
2.4光口
光缆:
- IEC 60793-2-10 ed 4.0:Type A1a (50/125 µm multimode) [4]
- IEC 60793-2-10 ed 4.0:Type A1b (62.5/125 µm multimode) [4]
- IEC 60793-2-10 ed 4.0: Type A1d (100/140 µm multimode) [4]
- IEC 60793-2-50 ed 4.0:Type B1, B2, B4, B5, B6 (10/125 µm single-mode) [5]
光连接器:
Fibre Channel Physical Interfaces [28], [30], [31] or IEEE 802.3 [22].
2.5编码
option | line coding |
1,2,3,4,5,6,7 | 8B/10B |
7A, 8, 9, 10 | 64B/66B |
2.6比特纠错和检测
由于符合 R-27 的物理层低比特差错率,不采用一般的比特纠错方案。一些 Layer 1 的控制
比特有其自身的保护。RE 和 REC 应该支持 8B/10B 或者 64B/66B编码差错检测。
3.帧格式(重点)
(帧格式还是属于物理层规范的内容,但是比较重要,所有另起一章。)
3.1 基本帧
3.1.1概念
- 帧长(基本帧)Tc = 1/fc = 1/3.84 MHz = 260.416667ns.
- 一个基本帧由16个word组成,编号W= 0....15。(注:此处word ≠ 二进制word)。每个word的长度为T,取决于CPRI的线速率。如表3:
- 一个word中的每个bit,编号为B= 0(LSB)...T-1(MSB)。
- 一个word中的每个byte(8bit),编号为Y;即:Y=0,代表当前word的第一个byte,从B=0 到B=7;Y=1,代表当前word的第二个byte,从B=8 到B=15...
- 第一个word(即W=0)的前 Tcw 个bits用做控制字。但是如果Tcw ≠ T,那么剩下的 (T-Tcw) bits用于: real time vendor specific。 具体内容在协议7.1.4.4.章节,我们提到这里来说。
Required Real-Time Vendor Specific Bits 包括但不限于以下内容:
- 通过使用CRC来检验CPRI链路质量;
- 传输IQ数据的辅助信息,例如:多个AxC容器中多个IQ样本的公共指数,以及用于IQ数据压缩的其他辅助信息。
- 在多个AxC容器中传输厂商的用户平面数据(可能不是IQ数据)的头信息。
- 扩展用户平面IQ数据传输。
注意理解标记颜色的术语:Tc 、W 、B 、Y 、T 、Z/X(后面会讲到)
总结: 第一个字(W=0)是控制字,剩下的15个字(W=1...15)用于传输IQ数据。
3.1.2传输序列和绕码
首先传送基本帧的控制 BYTES。基本帧结构因线比特率而异。
8B/10B:
一个 BYTES 中的 bit 分配遵从 IEEE Std 802.3-2002,即 bit 7(MSB)=H 到 bit
0(LSB)=A。密码数据的物理传输序列根据 IEEE Standard 802.3-2002 采用 8B/10B 标准。 BYTES 的传输序列由图 7-9 的右边说明(一个点代表一个 BYTE)。8B/10B 编码后的 10bit密码组("abcdeifghj”)从“a”开始以串行数据流传送。
如果协议版本BYTE #Z.2.0设置为2,除控制BYTE #Z.X.Y(Y≤1,Ns =0和2)外,所有数据在8B/10B编码前都应由侧流扰码器进行绕码处理。 当子通道Ns=0,子通道Ns=2时,Y下标Y≤1。 允许使用任意seed,包括0。
64B/66B :
编码是基于64位的块大小。 超帧的开始应与64位块的开始对齐。 将CPRI基本帧(W=0, B=0)的第1位映射到64位块的第1位。 编码后的数据的物理传输顺序由IEEE 802.3[22]第49条定义。
对于传输的数据来说,可选RS-FEC。RS前向纠错码。
①Basic frame structure for 614.4 Mbit/s CPRI line bit rate:
②Basic frame structure for 1228.8 Mbit/s CPRI line bit rate:
③Tcw ≠ T的情况:
3.1.3 “491.52”的计算
前文有个提问,线速率中的491.52是什么特殊数字?在知道了上节的帧结构之后,我们可以来计算一下:
一个基本帧fc = 3.84Hz,包含16个字,一个字中最少8个bit:
3.84 * 16 * 8 = 491.52
而其他帧均由最小基本帧组成,所以491.52就是最小的速率“单位数字”了。
3.1.4 IQ数据映射
IQ 采样宽度:
用户平台 IQ 数据所要求的采样宽度依赖于应用层面。该规范提供了通用的映射机制来实现 所需采样宽度。下标 提供 I 和 Q 采样的选项列表。一个基本帧里的混合采样宽度虽没有具体阐述但如果需要也可以实现。一个 IQ 采样包含一个 I 采样和一个同样大小的 Q 采样。
一个 AxC 容器(基本帧中 IQ 数据块部分)内的 IQ 采样映射:
- 从 LSB(I0,Q0)到 MSB(IM-1,QM-1)或(IM’-1,QM’-1)
- 和 Q 采样交替发送
- 按时间先后排序
- 连续的,之间无任何保留 bit
可选的上行和下行过采样比率:
每个 AxC 的 IQ 采样宽度和上行和下行的过采样率由应用层决定。不同过采样率下 IQ 采样安排和传输次序如下:
1. 标准模式:
2. IQ sample with mantissa-exponent uplink IQ data format:
其中:L = M ' − N ;0 ≤ N ≤ M '−2 ;
基本帧中 AxC 容器的映射规则(适用于上行和下行):
- **每个 AxC 容器作为一个块发送
- **不允许交迭的 AxC 容器
- ** IQ 数据块中每个 AxC 容器的位置由下述选项之一决定
- 选项 1(packed position):连续增序排列每个 AxC 容器
- 选项 2(flexible position):AxC 容器的第一个 bit 被定位在 IQ 数据块的一个偶数序号的 bit 上。
- **未被使用的 bit 为保留 bit(“r”)
下图阐明每个映射选项的映射规则:
3.2逐级帧嵌套关系
直接上图,清晰明了:
256个基本帧(basic frame)组成一个超帧(hyperframe),150个超帧组成一个无线帧。
注意理解W 、Y 、X、 Z 的含义和关系。
B | bit,每个字中bit的编号,从A开始命名 |
W | word,对16个word的编号,0...15 |
Y | 每个word中的byte编号,Y=0代表第一个byte,Y=0代表第二个byte.... |
X | 超帧中的基本帧数,0-255 |
Z | 超帧数,嵌套数,0-149 |
#Z.X.Y | 对一个byte的具体定位。再加上B可定位每一个bit |
取值范围如下:
(Y、B取决于线速率选择)
3.3子信道
逐级嵌套的 256 个控制字按每四个字一组编为 64 个子信道。子信道序号 Ns=0..63,每个子信道里的控制字序号 Xs=0..3,一个嵌套里的控制字序号 X=Ns+64*Xs.
下图阐述了子信道里控制字的组织情况。
控制字按下表内容实施:
协议原文中后续是对控制字的同步数据展开讲解,对应这个表,这里暂时收个尾,咱们下期见。
PS: 《CPRI Specification V7.0》