SRIO (Serial RapidIO)PCS层 64B/67B编码介绍(二)

 64b/67b传输码字

        PCS使用的64b/67b传输码将64位数据块和/或控制信息编码为67位码字,用于传输,并在接收时反转过程。码字有两种类型:“数据”码字和“控制”码字。数据码字编码64位的数据。控制码字编码64位的控制信息或数据和控制信息的某种组合。

码字格式

          该码字由一个反向位、标记该码字的开头和类型的一对位和一个64位的data_field字段组成。

    inverted: 表示data_字段是否被反转以控制传输信号的运行视差

     0b0 - data_field[0:63]没有被反转。

     0b1 - data_field[0:63]已被反转

  type表示码字的类型:

0b0:控制,码字编码一个包含控制信息和可能包含数据信息的块

0b1:数据,码字编码一个只包含数据信息的块。

 !type位是 type的补充。

 data_field字段的格式和内容取决于码字中编码的信息

数据码字

码字格式如下图所示  type bit = 0b1

控制码字
          控制码字(类型位= 0b0)的格式取决于码字编码的信息。控制码字data_字段的位置[30:31]处的2位是一个cc_type字段,它指定data_field字段的内容和格式[0:29,32:63]。控制码字的一般格式应如下表所示
各种控制码字的具体作用和传输时机在以后的章节中单独介绍。

解扰码介绍

扰码的作用

      扰码可以平滑端口发送信号的频谱,并降低频谱的峰值。当发送一长串相同字符或重复字符序列时,这一点尤为重要。结果是减少了链路产生的电磁干扰(EMI)量,并使自适应均衡器训练算法的设计变得更加容易。

扰码规则

       所有数据码字的一部分和一些控制码字的一部分在在lp-串行链路上传输之前被乱码。码字比特 [0:2]  (inverted, !type and type) 不会被扰码。

      解码和扰码是基于每个通道进行的。在任何特定的时间,每个通道扰频器都应具有不同的状态。

    解扰码器和解扰码器应为每个码字生成64位的置乱序列。扰码器和解扰码器不得为跳过控制码字(Skip control codewords. )产生任何置乱序列位。

 代码字的扰乱应遵循以下规则:

  1. 所有数据代码字的位[3:66]应被扰乱。
  2. 所有控制代码字的位[3:32]和[35:66],其代码字位[33:34]不等于0b00的,应被扰乱。
  3. 代码字位[33:34]等于0b00的控制代码字不应被扰乱。

       因此,CSB、CSE和CSEB控制代码字应被扰乱,而其他所有类型的控制代码字则不应被扰乱。

       代码字的数据字段(data_field)应从左到右进行扰码,起始于代码字位[3],结束于代码字位[66]。当扰乱一个代码字位[33:34]不等于0b00的控制代码字时,用于扰乱代码字位[33:34]的扰乱器位应被忽略且不使用。当遇到一个代码字位[33:34]等于0b00的控制代码字时,所有64个扰乱器位都应被忽略且不使用。扰乱器应对每个代码字步进64位,除了Skip控制代码字之外,即使只有部分或没有64位用于扰乱也是如此。

      用于扰码的伪随机序列应由Fibonacci(斐波那契)形式线性反馈移位寄存器(LFSR)生成器产生,该生成器使用基本生成多项式x58+x39+1。扰乱器的输出应为寄存器的输出,该寄存器持有x58,即最旧且最重要的状态位。

    这里的Fibonacci LFSR是一种特殊的线性反馈移位寄存器,它通过一定的反馈逻辑产生伪随机序列。生成多项式x58+x39+1定义了LFSR的反馈逻辑,其中x的指数表示寄存器的位位置,而加法则表示这些位的异或运算。这种设计有助于生成具有优良统计特性的随机序列,适用于通信系统的扰乱和解扰操作。

      扰乱器的输出是LFSR中x58位的状态,这通常是最早进入寄存器的位,因此也是状态中最重要的一位。通过将这个位作为输出,扰乱器可以有效地改变输入数据的模式,降低直流分量,并减少电磁干扰,从而改善通信系统的性能。

       为了最小化端口在多个通道上传输时各通道之间的任何相关性,应用于端口给定输出通道的扰乱序列应相对于应用于端口任何其他输出通道的扰乱序列偏移至少512位。如果每个通道使用单独的扰乱序列生成器,则可以通过将扰乱器初始化为表5-4中指定的值来满足偏移要求,这些值提供了512位的偏移。

     在数字通信系统中,当端口在多个通道上同时传输数据时,确保通道之间的独立性至关重要。通过在不同通道上应用具有足够偏移的扰乱序列,可以降低通道间信号的相关性,从而改善整体的系统性能。这种技术有助于减少电磁干扰,并优化数据的传输质量。

       表5-4提供了初始化扰乱器所需的特定值,这些值用于在不同通道之间创建所需的512位偏移。通过遵循这些初始化步骤,可以确保每个通道的扰乱序列都是唯一的,并且具有足够的差异,从而满足系统对通道间独立性的要求。

解扰器同步

      该部分内容和其它控制码字的传输相关,后续章节在具体介绍。

选择性码字反转

     选择性码字反演用于绑定在使用64b/67b编码的lp-串行链路的每个通道上传输的信号的运行视差(可理解为0和1的数量比)。

  

选择性代码字反转规则

根据以下规则,选择性代码字反转应应用于通过LP-Serial链路的每个通道传输的信号:

  1. 发射器应为每个通道的运行差异计算设置初始值为0。

  2. 在每个码字形成后(如果适用,先进行扰乱),计算所得码字的差异。

  3. 如果码字差异和运行差异(即代码字将要传输的通道的差异)的符号不同,则码字应直接传输,不进行反转。代码字结束时的运行差异应为代码字开始时的运行差异加上码字的差异。

  4. 如果代码字差异和运行差异的符号相同,则应将码字的位[0,3:66]进行反转,并传输反转后的代码字。代码字结束时的运行差异应为代码字开始时的运行差异减去反转前的代码字差异。

  5. 在接收器端,如果接收到的代码字的位[0]等于0b1(即代码字在传输前已被反转),则应将每个接收到的代码字的位[0,3:66]进行反转。

    这些规则确保了代码字在传输过程中能够根据需要进行反转,以维持通道内的直流平衡。通过根据代码字差异和运行差异的符号关系来决定是否反转代码字,可以有效地减少直流分量,并降低电磁干扰,从而提高通信系统的性能和可靠性

整个扰码过程的流程可见下图

  • 15
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
SRIOSerial RapidIO)和RapidIO(Rapid Input/Output)是两种不同的串行高速数据传输接口标准。 首先,SRIOSRIO工作组(Serial RapidIO Working Group)创建的一种串行高速数据传输协议,用于在多种应用中实现低延迟、高带宽和可靠性的数据传输。SRIO通常用于连接网络处理器、数字信号处理器和其他高性能计算设备,例如用于运算密集型应用的服务器和通信设备。 而RapidIO是一种用于构建高性能互连组件和系统的开放式标准。它是从Motorola公司的一种内部总线技术发展而来,并由RapidIO Trade Association(简称RTA)进行管理。RapidIO设计旨在构建低延迟、高带宽和高可靠性的数据传输系统,广泛应用于通信基础设施、数据中心和高性能计算等领域。 两者的区别主要在于以下几个方面: 1. 出处:SRIOSRIO工作组创造的,而RapidIO最初是Motorola公司的内部总线技术,后来被RTA接管。 2. 标准化机构:SRIOSRIO工作组进行管理,而RapidIO由RTA进行管理。 3. 应用领域:SRIO通常用于连接网络处理器、数字信号处理器和高性能计算设备,而RapidIO广泛应用于通信基础设施、数据中心和高性能计算领域。 4. 特性和性能:虽然SRIO和RapidIO都是用于构建低延迟、高带宽和高可靠性的数据传输系统,但两者在具体的特性和性能上可能有所不同,具体取决于实际的设计和实现。 综上所述,SRIO和RapidIO虽然都是用于实现高速数据传输的串行接口标准,但它们有着不同的出处、标准化机构、应用领域和具体特性。对于具体的应用需求,选择适合的标准有助于实现更好的数据传输性能和系统可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值