ZHCAD19A August 2023 – December 2024 DS320PR1601 , DS320PR410 , DS320PR810 , SN75LVPE5412 , SN75LVPE5421
在转接驱动器在 I2C 模式下运行并可以通过外部控制器配置的应用中,在带电环境下执行转接驱动器调优是很常见的情况,这种情况下,转接驱动器和其他系统元件会保持功率,并且可以直接将新的 EQ 设置写入器件。这很方便,与对 EEPROM 进行更改或在器件在引脚模式下运行时重新配置电路板硬件相比,不需要下电上电。
但是,如果转接驱动器测试程序涉及带电 PCIe 链路,那么在通过通道裕度和类似测试评估信号质量之前,请务必对链路执行热复位。向转接驱动器发送信号的 PCIe 发送器以及转接驱动器将信号输出到的 PCIe 接收器都具有自己与信号调节相关的设置,这些设置在链路训练过程中会自动协商和校准。例如,发送器会自动评估应用于传输数据的各种 PCIe 预设,并选择一个预设来使用。当链路处于正常运行状态 (L0) 时更改转接驱动器设置后,通道的电磁特性现在会有所不同,但发送器不会动态重新评估和重新协商其所选的 PCIe 预设作为响应。初始协商中保留的 PCIe 预设设置对新的通道条件可能不太适合。为了解决此问题,执行热复位会导致链路重新协商,并且由于系统电源保持不变,转接驱动器将保留其调整后的 EQ 设置。根据所测试系统的类型,可以通过在 CPU 配置软件中运行相关的 PCIe 协议命令来执行热复位,也可以通过执行操作系统或 BIOS 的热重启来执行热复位。
尽管热复位在协议级别执行,与协议无关的转接驱动器相对较少参与,但通过操纵 PD 引脚,确保在热复位和类似条件下与其他 PCIe 器件同步清除并重新激活转接驱动器的 RX 检测子系统的电路板设计会很有帮助。转接驱动器 RX 检测相对于 PD 引脚的操作如图 4-1 所示。
转接驱动器位于链路的中间,充当 RX 检测时序的中间人,仅当另一侧的转接驱动器 TX 引脚成功检测到所面对的器件中的 50Ω 端接时,才显示转接驱动器 RX 引脚上的 50Ω 端接。RX 连接到转接驱动器 TX 的器件只有在内部启动完全完成并且准备好开始 PCIe 协商后,才会启用 50Ω 端接。如果转接驱动器在热复位后没有清除 RX 端接,并且等待适当的条件来开启它们,则根复合体可能会立即看到转接驱动器的端接(在开始看的那一刻),然后在端点可能未完全就绪时即开始 PCIe 协商。这会增加出现链路问题的风险。
通过将 PD 引脚连接到 PCIe PERST# 信号的反相版,可以将转接驱动器 RX 检测过程与 PCIe 协议的控制同步。当链路处于复位状态(热复位或上电复位)时,PERST# 保持低电平,在此期间,与 PD 的反相连接会将转接驱动器保持在复位状态并清除 RX 端接。低电平到高电平的转换会向所有 PCIe 器件指示链路过程需要启动,转接驱动器的作用是开始搜索 TX 引脚处的端接。
在典型应用中,PERST# 会从根复合体路由到端点。将其转移到逆变器并将反相信号路由到转接驱动器引脚或多个转接驱动器引脚通常不会给电路板布局带来不便。逆变器的实现方案由设计人员自行决定,但基本的 MOSFET 逆变器或逆变器 IC 都可能适用。确保逆变器实现方案的输入和输出电压与 PERST# 信号和 PD 引脚兼容。图 4-2 展示了一个示例,说明了如何将 PERST# 反相并分配给转接驱动器 PD 引脚。
在初始系统上电期间,此 PD 配置方案的另一个好处会显现出来:由于 PERST# 最初保持低电平,转接驱动器可以保持在复位状态,直到 PERST# 转换触发它,以便开始与其他系统元件同步进行 RX 检测。如果通过硬接线进行接地连接来将 PD 拉至低电平,则转接驱动器会在其相对快速的上电序列完成后立即开始 RX 检测。在 PERST# 转换之前的这一早期阶段,某些 PCIe 端点可能会在其自身的上电序列完全完成之前出现错误或未同步的端接,然后转接驱动器可以对其进行检测和操作。导致出现与热复位情况类似的情况,根复合体可以看到转接驱动器出现错误的提早端接,出现链路问题的可能性也会更高。
如果除了反相 PERST# 外,PD 引脚还被其他信号控制,例如连接到 PRSNT# 以实现热插拔功能,那么使用逻辑或门对多个控制信号进行仲裁会更安全,如图 4-3 的示例所示。如果不详细了解生成每个控制信号的机制,就很难预测将这些信号连接到 PD 引脚处的同一节点时是否能够正常工作,或者是否可能存在冲突,导致电压不正确和其他问题。