提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
CPRI协议的理解——CPRI中的扰码
- 前言
- 8B10B线路编码下的扰码
- 发送端
- 接收
- 64B66B线路编码下的扰码
- 带有终止控制字符的控制块格式
- 带有起始控制字符的控制块格式
- 数据块格式
前言
CPRI中有两种情况会需要用到扰码,一种是在8B10B线路编码的速率上数据添加了扰码。一种是64B66B编码。
8B10B线路编码下的扰码
发送端
使用的扰码器是旁流扰码器,如图 40 所示。扰码序列是使用原语(基于 GF(2))多项式 P(X) = 1+ X28 + X31 构造的。
加扰序列ci(i=0,1,…,25616T-1)构造为:
• 初始条件由31 位向量定义(加扰器的种子:c0,…c30)。种子的选择超出了 CPRI 规范的范围。不排除所有位都等于“0”的种子,并且允许禁用加扰操作。
• 后续符号的递归定义:c(i+31) = c(i) + c(i+3) modulo 2 for i ≥ 0 c(i) 位是串行伪随机码生成器在时间序列i 中的生成位(c0 是第一个输出位)。
• 在每个位周期,移位寄存器前进一位并生成一个新位。
• **在每个超帧开始时,扰码器状态会使用种子值(c0…c30) 进行重置。**因此,ci序列周期为25616T。
Figure 41: Scrambling of bytes #Z.X.W.Y in hyperframe Z
接收
支持协议版本 2 的接收器应能够接收由上文中描述的加扰功能对任何种子值加扰的数据。
接收机应使用控制字节 #Z.0.2 至 #Z.0.(T/8-1) 中的至少 31 位来检索发射机的加扰序列,以便生成解扰序列。
一旦完成上述操作,接收器应定期检查输入数据的解扰序列,方法是对解扰控制字节 #Z.0.2 至 #Z.0.(T/8-1) 的至少 31 位进行采样,已知为50h(见4.2.10.3.1)
64B66B线路编码下的扰码
对于 64B/66B 线路编码,使用 IEEE 802.3 [22] 中的 3 种格式,图 49-7(64B/66B 块格式)。这三种格式是:
- 带有终止控制字符的控制块格式
- 带有起始控制字符的控制块格式
- 数据块格式
10GBASE-R PCS 通过块类型字段隐式编码起始和终止控制字符。
带有终止控制字符的控制块格式
/T/ 字符将位于 64 位的最后 8 位。
/T/ 断言示例(TXC<3> = 1 & TXD<31:24> = 0xFD)在图 42 中以粗体显示。
由于 TxC<3:0> 不会保持为零,因此同步标头更改为“10”而不是“01”,以指示有效负载中有一个控制字符。块类型字段(0xFF)是超帧的第一个字节,位于超帧的前 64 位的前 8 位中,并与 64B/66B 线路编码方案对齐。
带有起始控制字符的控制块格式
/S/ 字符将位于 64 位的前 8 位中。
/S/ 断言示例(TXC<0> = 1 & TXD<7:0> = 0xFB)如图 43 中的粗体所示。
由于 TxC<3:0> 不会保持为零,因此同步标头更改为“10”而不是“01”,以指示有效负载中有一个控制字符。块类型字段 (0x78) 是超帧的第九个字节,位于超帧的第二个 64 位块的前 8 位中,并与 64B/66B 线路编码方案对齐。
数据块格式
在数据传输的情况下,数据按 8 字节包分组,对这 64 位进行加扰,并添加位序列“01”以形成 66 位序列。
64B/66B 数据块编码的示例如图 44 所示。