GT Transceiver的复位与初始化(3)TX初始化和复位流程

2021-11-04 10:10:34 浏览数 (1)

TX初始化与复位过程

GTX/GTH收发器TX使用一个复位状态机来控制复位过程。GTX/GTH收发器TX被划分为两个复位区域,TX PMA和TX PCS。该分区允许TX初始化和复位只在顺序模式下操作,如下图所示:

TX复位状态机

初始化TX必须在顺序模式下使用GTTXRESET。激活GTTXRESET输入可以自动触发一个完整的异步TX复位。复位状态机执行复位顺序,其覆盖整个TX PMA和TX PCS。

在正常工作期间,当需要时,顺序模式允许用户从激活TXPMARESET开始复位TX,并继续执行复位状态机,直到TXRESETDONE从低电平转换为高电平。

TX复位状态机在检测到TXUSERRDY为高电平时才会复位PCS。用户应在满足如下这些条件后将TXUSERRDY驱动为高电平。

  1. 当使用PLL或MMCM时,应用程序使用的所有时钟,包括TXUSRCLK/TXUSRCLK2都显示为稳定或锁定。
  2. 用户接口准备好向GTX/GTH收发器传输数据。

看完这段描述想说的是:TXUSERRDY 是TX的一个输入端口,当TXUSRCLK和TXUSRCLK2稳定时,该端口由用户的应用驱动为高电平。例如,如果一个MMCM被用来产生TXUSRCLK和TXUSRCLK2,那么这里可以使用MMCM锁定信号。

这里说的MMCM是文章《GT Transceiver中的重要时钟及其关系(7)TXUSRCLK以及TXUSRCLK2的产生》中提到的:

或:

多lane下TXOUTCLK驱动TXUSERCLK2

中驱动TXUSERCLK的MMCM,时钟稳定后LOCKED会拉高,其可作为TXUSERRDY 。

GTX/GTH收发器在完成配置后的复位

FPGA配置完成后,需要满足下面的条件才能开始顺序复位状态机:

  1. GTRESETSEL必须拉低以启用顺序模式(见文章:《GT Transceiver的复位与初始化(1)Transceiver复位的两种类型和两种模式》

复位模式选择端口

  1. 必须使用GTTXRESET。
  2. 在整个复位过程中,TXPMARESET和TXPCSRESET必须在TXRESETDONE被检测到高电平之前被持续驱动为低电平。
  3. GTTXRESET不能被驱动为低电平,直到相关的PLL被锁定。

如果复位模式在配置时被默认为顺序模式,那么C/QPLLRESET和GTTXRESET可以在配置完成后等待至少500 ns后有效。

如果复位模式默认为单一模式,那么用户必须:

  1. 配置完成后至少要等待500 ns。
  2. 将复位模式改为顺序模式。
  3. 再等待300-500 ns。
  4. 使能C/QPLLRESET和GTTXRESET。

注意:这里为什么会提到C/QPLLRESET呢?这是因为CPLL或QPLL需要先进行复位:

文章:《GT Transceiver的复位与初始化(1)Transceiver复位的两种类型和两种模式》开头就已提到:

可见,FPGA配置完成后,需要先进行相关PLL复位,之后进行TX复位。

C/QPLLRESET和GTTXRESET也有一个先后顺序,C/QPLLRESET在先,GTTXRESET在后。

TX复位的时序如下:

TX初始化

建议使用CPLLL或QPLL的相关PLLLOCK将GTTXRESET从高电平释放到低电平,如上图所示。TX复位状态机在检测到GTTXRESET为高电平时等待,直到GTTXRESET被释放为低电平, 启动复位序列。

响应GTTXRESET脉冲的GTX/GTH收发器TX复位

GTX/GTH收发器允许用户在任何时候通过发送GTXRESET的高电平有效脉冲来完全复位整个TX。TXPMARESET_TIME和TXPCSRESET_TIME可以静态设置或通过DRP端口重新编程,以调整应用GTTXRESET前所需的复位时间。

使用GTTXRESET时必须满足这些条件:

  1. GTRESETSEL必须被驱动为低电平以使用顺序模式。
  2. 在整个复位过程中,TXPMARESET和TXPCSRESET必须在TXRESETDONE被检测到高电平之前被持续驱动为低电平。
  3. 相关的PLL必须指示锁定。
  4. 该异步GTTXRESET脉冲宽度的指导原则是参考时钟的一个周期。

GTTXRESET脉冲后的GT复位

TX 组件复位

TX PMA和TX PCS可以单独复位。在TXPMARESET或TXPCSRESET过程中,GTTXRESET必须保持为低电平才能完成。

将TXPMARESET从高电平驱动到低电平开始PMA复位过程。

在TXPMARESET过程中,TXPCSRESET必须被持续驱动为低电平。

在顺序模式下,如果TXUSERRDY为高电平,复位状态机在完成PMA复位后自动启动PCS复位。

顺序模式下的TXPMARESET

当TXUSERRDY为高电平时,将TXPCSRESET从高电平驱动到低电平开始PCS复位过程。

当PCS处于复位过程时,TXPMARESET必须被持续驱动为低电平。

在 顺序模式下,复位状态机只对PCS进行复位。

顺序模式下的TXPCSRESET

TX复位总结

下表总结了GTX/GTH收发器TX可用的所有复位以及在顺序模式下受其影响的组件。

在顺序模式下使用TXPMARESET可以重置GTTXRESET所涵盖的一切,除了TX复位状态机。

TX初始化复位和组件复位的覆盖范围

在不同场景下推荐使用的复位方式:

可见:

  1. 在上电配置完成后,需要对整个TX进行复位。
  2. 如果参考时钟改变或GTX/GTH收发器在配置后上电,GTTXRESET应在PLL完全完成其复位程序后有效。
  3. 每当PLL的参考时钟输入被改变时,PLL必须在之后复位,以确保它锁定在新的频率上。GTTXRESET应该在PLL完全完成其复位程序后有效
  4. 当正在使用的CPLL或QPLL在断电后回到正常工作状态时,必须对PLL进行复位。GTTXRESET应该在PLL完全完成其复位程序后有效。
  5. 在TXPD信号失电后,GTTXRESET必须有效。
  6. 当TX速率改变时,所需的复位序列会自动执行。当TXRATEDONE有效时,它表明速率变化和必要的复位序列都已应用并完成。如果TX buffer被启用,TXBUF_RESET_ON_RATE_CHANGE属性应被设置为TRUE,以允许TX缓冲器在速率改变后自动复位。如果使用TX buffer旁路模式,在TXRATEDONE有效后必须重复对齐。
  7. 驱动TXUSRCLK和TXUSRCLK2的时钟必须是稳定的,以便正确操作。这些时钟通常由FPGA中的MMCM驱动,以满足相位和频率要求。如果MMCM失去锁定并开始产生不正确的输出,应在时钟源重新锁定后有效TXPCSRESET。如果使用TX缓冲器旁路模式,在完成复位程序后必须重复对齐。

注意:上面提到的所有的有效,指的是触发条件有效,例如GTTXRESET有效,指的是一个高脉冲,触发TX复位。

0 人点赞