这段文字描述的是在 PCIe 或类似高速接口协议 中,Polling.Compliance 子状态的具体要求,特别是合规模式(Compliance Pattern)在传输过程中的处理方式。这个过程主要是通过 SKP Ordered Set 来验证链路的合规性,确保链路在高频率下的稳定性、可靠性和时序准确性。我们来逐步解读这段文字的重点。
1. Polling.Compliance 子状态的进入
• 进入条件:Polling.Compliance 子状态必须从 Polling.Active 状态进入。具体条件可以参考 4.2.6.2.1 节,即链路需要满足某些条件才能切换到合规模式。
2. 合规模式的符号序列
• 合规模式的符号序列:合规模式由以下几个符号组成:
○ K28.5, D21.5, K28.5, D10.2 按顺序重复。
• 符号描述:
○ K28.5 和 D21.5 是特定的编码符号,用于传输控制和数据。
○ K28.5 是一个特定的 8b/10b 编码 字符,用来维持链路的时序和同步。
○ D21.5 和 D10.2 是数据符号,分别代表某些数据比特的编码。
3. 符号的差错对齐
• 差错(Disparity)要求:
○ 第一个符号的差错必须是 负差错(Negative Disparity)。
○ 如果当前链路的差错不符合要求,可以故意引入差错,以对齐到负差错。
○ 合规模式序列中,差错的变化是:负差错 → 正差错 → 正差错 → 负差错。
4. 多通道延迟和差错调整
• 多通道延迟:在一个支持多通道的设备中,每个第八个通道会被延迟 4 个符号。具体来说,每个通道在合规模式中,都会有一个两符号的延迟——这两个符号分别位于模式的开始和结束。
○ 每个通道的延迟序列是:D D K28.5 D21.5 K28.5 D10.2 D D。
○ D 是 K28.5 符号,它们用于维持时序和同步。
○ 延迟的符号序列也要遵循差错对齐规则,即第一个符号的差错必须是负差错,以确保延迟符号与合规序列的差错对齐。
5. 延迟符号的循环与跨通道处理
• 延迟符号的处理:每当符号序列发送完成后,延迟符号会按通道进行推进,直到所有的 8 个通道 都完成了一轮符号延迟。
• 一旦符号延迟被应用到所有 8 个通道,这个延迟符号序列会从 通道 0 开始重新循环,继续对齐和测试。
6. 合规性测试与串扰
• 延迟序列的作用:这个延迟序列的存在是为了模拟 最坏情况下的串扰(Cross-talk) 和 符号间干扰(Inter-Symbol Interference, ISI),这有助于测试设备在这种恶劣环境下的表现。
• 通过这种方式,可以确保链路在实际通信时不会受到串扰或干扰的影响,保证数据传输的稳定性和可靠性。
7. 举例
假设在一个设备中,有 8 个通道(Lanes)。每个通道发送的数据包括一些正常的符号(比如 K28.5 和 D21.5)。而在进入 Polling.Compliance 状态后,每个第八个通道会产生 符号延迟,并且这些延迟符号的差错会与合规模式中的符号进行对齐。
• 例如:
○ Lane 0 发送:D D K28.5- D21.5 K28.5+ D10.2 D D K28.5-(其中符号的差错会被故意设置为负差错)。
○ Lane 1 发送:K28.5- D21.5 K28.5+ D10.2 K28.5- D21.5 K28.5+ D10.2(没有延迟符号,符号会照常发送)。
• 通过这种延迟和符号对齐的方式,设备可以模拟实际的电气干扰环境,确保链路能够在复杂的电气环境中稳定工作。
总结:
这段文字的核心内容是描述了如何通过 Polling.Compliance 子状态,使用特定的符号序列(如 K28.5、D21.5 等)和符号延迟,来确保设备在多通道情况下能够正确处理符号差错,并通过模拟 串扰和干扰 来测试链路的稳定性。这个过程的目的是为了确保在高速数据传输过程中,链路能够在复杂电气环境下正确同步并稳定工作。