ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

FPGA SERDES 通用基础(十三) TX Driver 与三抽头发送均衡

FPGA SERDES 通用基础(十三) TX Driver 与三抽头发送均衡 高速串行信号经过封装、PCB 走线、过孔、连接器和线缆后高频分量通常比低频分量衰减得更快单个比特的能量也会扩散到相邻 UIUnit Interval单位间隔形成码间干扰ISI。接收端可以使用 CTLE 或 DFE 补偿已经经过信道的波形发送端则可以在信号进入信道之前通过 TX Driver 内部的 Pre/Main/Post 三条驱动路径重塑输出脉冲。本文结合 WP419 的发送均衡原理与 UG476 的 GTX/GTH TX Configurable Driver先建立 tap、cursor 与 emphasis 的对应关系再说明 Pre-cursor、main cursor 和 post-cursor 如何影响输出波形最后分析TXDIFFCTRL、TXPRECURSOR、TXPOSTCURSOR与TXMAINCURSOR的控制边界和系数约束。1. TX Driver 在发送通路中的位置沿发送方向观察FPGA TX Interface 提供的并行数据经过 TX PCS 中的编码、Gearbox 和缓冲结构后进入 TX PMA。PISO 完成并串转换串行数据随后进入包含 Pre/Main/Post 三条驱动路径的 TX Driver最终从 TXP/TXN 差分引脚输出。FPGA TX Interface → TX PCS → TX PMA〔PISO → TX DriverPre/Main/Post〕→ TXP/TXN → 板级信道TX Driver 位于高速模拟输出端负责把串行比特转换为满足摆幅和均衡要求的差分波形。Pre/Main/Post 并不是位于 TX Driver 之前的独立均衡模块而是 TX Driver 内部参与输出叠加的驱动分量。编码、字符控制和位宽组织属于更前级的数字数据通路TXDIFFCTRL与 Pre/Main/Post coefficient 则共同决定进入物理信道之前的电气波形。2. Pre/Main/Post 三 tap 发送均衡结构2.1 三 tap TX FFE 的等效模型UG476 给出了 TX Driver 的直接硬件结构。PISO 输出同时进入 Pre-Emphasis、Main 和 Post-Emphasis 三条驱动支路三路电流在 TXP/TXN 输出节点叠加。Main Pad Driver 提供当前 UI 的主要输出分量Pre-Emphasis Pad Driver 和 Post-Emphasis Pad Driver 分别形成与前后相邻码元相关的受控分量。从信号处理角度这一结构可以等效为三 tap TX FFEFeed-Forward Equalizer。下式用于说明 Pre/Main/Post 的离散时间关系并不表示 GTX/GTH 内部存在一个独立的数字 FIR 模块y[n]cprex[n1]cmainx[n]cpostx[n−1] \mathbf{y[n]c_{pre}x[n1]c_{main}x[n]c_{post}x[n-1]}y[n]cpre​x[n1]cmain​x[n]cpost​x[n−1]以 main cursor 所在 UI 为时间基准三个 tap 与输出响应位置的对应关系如下。系数的正负由具体极性配置决定因此该模型表达的是位置与加权关系而不是固定的加减方向。相对时间 -1 UI 0 UI 1 UI FFE 分量 Pre-tap Main tap Post-tap 响应位置 pre-cursor main cursor post-cursor这里需要区分三个术语层级术语层级表示什么Pre-tap / Main tap / Post-tap发送 FFE 中参与加权叠加的分量pre-cursor / main cursor / post-cursorsingle-bit response 中位于 main cursor 之前、当前位置和之后的响应分量emphasis / de-emphasis发送均衡形成的波形或频谱效果TX emphasis 可以作为发送均衡的统称。De-emphasis 强调连续码型的稳态幅度相对跳变码元被压低Pre-cursor、main cursor 和 post-cursor 描述的是响应在时间轴上的位置。两组术语相关但不能直接等同。高速互连可以近似看成具有频率选择性损耗的低通网络。连续相同比特以较低频率成分为主而密集跳变包含更多高频分量随着频率升高导体损耗、介质损耗和表面粗糙度等因素会使插入损耗增大。对 NRZ 链路而言通常以线路速率一半的 Nyquist frequency 作为观察信道损耗的重要位置。在时域中这种不均匀衰减表现为脉冲展宽原本应集中在当前 UI 的能量向前后相邻 UI 扩散形成 pre-cursor 与 post-cursor。发送均衡的目的并不是单纯提高所有比特的幅度而是改变跳变附近与连续码型之间的幅度关系使波形经过信道后重新获得更集中的 main cursor 和更大的采样裕量。2.2 Post-cursor调整跳变之后的响应WP419 使用重复发送的11110000码型说明 Post-cursor De-emphasis 的作用。未启用 De-emphasis 时同一电平内的多个比特具有近似相同的幅度启用 6 dB Post-tap De-emphasis 后跳变后的第一个码元保持较高摆幅后续保持相同取值的码元使用较低摆幅。在图示的 Post-tap De-emphasis 极性下以0→1跳变为例Post-tap 使跳变后的第一个码元与随后连续的同值码元具有不同的叠加结果新电平首先以较高摆幅出现随后进入较低的稳态平台。1→0跳变的作用方式对称只是差分极性相反。由于TXPOSTCURSORINV可以改变 Post-tap 极性这里的叠加方向只对应图示配置不能推广成所有设置下固定的“先加后减”。图中的低摆幅由约 0.28 V 降至约 0.14 V相对于高摆幅形成约 6 dB 的幅度差。这里的“降低”并不表示整条链路的信号被统一减小而是压低连续码型的稳态幅度使跳变后的第一个码元相对突出。其频域效果是提高高频分量相对于低频分量的比例用于补偿信道在 main cursor 之后产生的 post-cursor 拖尾。2.3 Pre-cursor调整跳变之前的响应Pre-cursor 采用相反的时间位置。下面仍以未启用 De-emphasis 的波形作为左侧基准右侧启用 6 dB Pre-tap De-emphasis 后较高摆幅出现在跳变之前的最后一个码元而不是跳变之后的第一个码元。仍以0→1跳变为例最后一个 0 在进入跳变前形成较高幅度随后才进入新的 1 电平。发送器并不需要预测未来数据串行数据在发送器内部已经经过并串转换和相邻码元相关的驱动路径因此能够在 main cursor 之前形成受控的 pre-cursor 分量。该过程不会提前数据跳变也不会改变串行比特顺序而是用于补偿 single-bit response 中位于 main cursor 之前的 pre-cursor ISI。两种调节方式可以用跳变边界概括调节项高摆幅相对跳变的位置主要补偿对象连续码型中的直观效果Post-cursor跳变后的第一个码元main cursor 之后的 ISI新电平先以高摆幅出现随后降至低摆幅平台Pre-cursor跳变前的最后一个码元main cursor 之前的 ISI原电平在结束前先出现高摆幅随后发生跳变因此Pre-cursor 与 Post-cursor 不是分别控制上升沿和下降沿也不是一项控制幅度、另一项控制时间。两者都作用于0→1和1→0跳变差异在于补偿分量位于 main cursor 的前一 UI 还是后一 UI。信道的 single-bit response 若以 main cursor 之后的 post-cursor 拖尾为主可优先调整 Post-tap若 main cursor 之前仍存在明显能量再使用 Pre-tap 补偿。对典型有损 PCB 互连main cursor 之后往往存在较明显的 post-cursor ISI。7 系列 GTX/GTH 也为 Post-tap 提供了比 Pre-tap 更大的可调范围Post-tap 具有 32 档设置最高约 12.96 dBPre-tap 具有 21 个有效系数档位最高约 6.02 dB。这里描述的是器件能力与常见信道特征不将两者写成未经文档证明的设计因果。Pre-tap 与 Post-tap 的极性还可以独立配置以匹配不同符号的信道脉冲响应。3. TX Driver 控制参数、Coefficient Units 与 Emphasis第二节说明了 Pre/Main/Post 三个 tap 如何在不同时间位置形成发送均衡。本节进一步把这种等效关系映射到 GTX/GTH 的控制端口并沿下面的顺序建立参数之间的联系Port Code → Coefficient Units → Pre/Main/Post 系数分配 → Vhigh/Vlow → Emphasis dB → TXP/TXN 实际波形3.1 TXDIFFCTRL差分输出摆幅控制TXDIFFCTRL[3:0]用于设置 TX Driver 的差分输出摆幅等级。它控制的是输出驱动幅度不是 Main tap coefficient也不表示三个 tap 之间的系数分配。UG476 给出了 16 档TXDIFFCTRL编码对应约 0.2691.119 V 的峰峰值差分电压VPPDV_{PPD}VPPD​。表中数值是在TXPRECURSOR0、TXPOSTCURSOR0的条件下定义的此时没有 Pre-tap 和 Post-tap 参与波形叠加。启用发送均衡后TXP/TXN 的瞬时波形由 Pre/Main/Post 三路驱动分量共同形成。此时TXDIFFCTRL仍然决定整体输出摆幅等级但表中的VPPDV_{PPD}VPPD​不能直接视为所有数据码型下的最终峰峰值。分析实际波形时需要同时考虑TXDIFFCTRL、三个 tap 的 coefficient 以及 Pre/Post 的极性设置。3.2 TXPRECURSOR / TXPOSTCURSORPort Code 与 Coefficient UnitsTXPRECURSOR[4:0]和TXPOSTCURSOR[4:0]都是 5 bit 控制端口因此 Port Code 的取值范围均为 031。Port Code 是写入端口的二进制编码coefficient units 是该编码映射到 TX Driver 后的有效系数Emphasis dB 则描述高、低摆幅码元之间的幅度比三者不能直接等同。对于 Post-tapPort Code 031 分别映射为 031 coefficient units对应的典型 Emphasis 范围为 012.96 dB。因此TXPOSTCURSOR5’b10100表示 20 coefficient units并不是 20 dB在表格规定的条件下它对应 6.02 dB。Pre-tap 的 Port Code 同样可以写入 031但有效 coefficient 在 20 units 处达到上限。编码 020 分别得到 020 coefficient units编码 2131 仍映射为 20 coefficient units。因此 Pre-tap 有 32 个可写 Port Code但只有 21 个不同的有效 coefficient 档位最大典型 Emphasis 为 6.02 dB。两项控制的映射关系可以归纳如下控制项Port Code 范围有效 Coefficient Units最大典型 EmphasisTXPRECURSOR0310206.02 dBTXPOSTCURSOR03103112.96 dBPre 和 Post 在相同 coefficient units 下采用相同的典型 dB 映射。两者最大 dB 不同不是因为换用了另一套换算关系而是因为 Pre coefficient 在 20 units 处饱和Post coefficient 可以继续增加到 31 units。3.3 TXMAINCURSOR 与三个 Tap 的 Coefficient 约束GTX/GTH TX Driver 始终只有 Pre、Main、Post 三个发送 tap。公式中的 80 不是 tap 数量而是 Xilinx 为三路 coefficient 分配规定的总量基准。当TX_MAINCURSOR_SEL0时Main tap coefficient 由硬件自动确定Main80−Pre−Post \mathbf{Main80-Pre-Post}Main80−Pre−Post因此PreMainPost80 \mathbf{PreMainPost80}PreMainPost80例如 Pre 为 10 units、Post 为 15 units 时Main 为 55 units。增加 Pre 或 Post 并不是额外增加一组驱动增益而是在总量为 80 units 的系数预算中重新分配三路驱动分量Main coefficient 会相应减小。当TX_MAINCURSOR_SEL1时TXMAINCURSOR[6:0]可以独立设置 Main tap coefficient但仍需满足 UG476 在端口说明中规定的合法范围51−Pre−Post≤Main≤80−Pre−Post \mathbf{51-Pre-Post\le Main\le80-Pre-Post}51−Pre−Post≤Main≤80−Pre−Post在不等式三边同时加上 Pre 和 Post可以得到51≤PreMainPost≤80 \mathbf{51\le PreMainPost\le80}51≤PreMainPost≤80自动模式把三个 tap 的 coefficient 总和固定为 80独立 Main 模式则允许 coefficient 总和在 5180 的合法区间内变化。51 和 80 是 UG476 规定的 coefficient 边界手册没有进一步公开其模拟驱动电路层面的推导因此不将它们解释为具体数量的电流源、驱动单元或晶体管。3.4 Coefficient Units 与 Emphasis dB 的关系UG476 的 Pre/Post 表首先把 Port Code 映射为 coefficient units然后给出相应的典型 Emphasis。手册对 Emphasis 的定义为E∣20log⁡10(VhighVlow)∣ \mathbf{E\left|20\log_{10}\left(\frac{V_{high}}{V_{low}}\right)\right|}E​20log10​(Vlow​Vhigh​​)​由此可以得到高、低摆幅的幅度比VhighVlow10E/20 \mathbf{\frac{V_{high}}{V_{low}}10^{E/20}}Vlow​Vhigh​​10E/20以 20 coefficient units 为例UG476 表中对应 6.02 dB因此Vhigh/Vlow≈2V_{high}/V_{low}\approx2Vhigh​/Vlow​≈2。这只能确定两种摆幅之间的比例不能仅凭 coefficient units 求出VhighV_{high}Vhigh​和VlowV_{low}Vlow​的绝对电压绝对输出幅度还与TXDIFFCTRL及实际的三路叠加状态有关。下面的闭式表达式用于解释 UG476 单旁 tap 表中的 coefficient-to-dB 映射。它由手册给出的 Main coefficient 关系、Emphasis 定义和三抽头等效叠加模型推导而来并不是 UG476 直接列出的官方公式。在TX_MAINCURSOR_SEL0、仅启用一个旁 tap 且采用图示 De-emphasis 极性的条件下令该旁 tap 的 coefficient 为CCC则Main80−C \mathbf{Main80-C}Main80−C三抽头等效叠加关系可写为Vhigh∝MainC80 \mathbf{V_{high}\propto MainC80}Vhigh​∝MainC80Vlow∝Main−C80−2C \mathbf{V_{low}\propto Main-C80-2C}Vlow​∝Main−C80−2C因此得到解释性关系E(C)20log⁡10(8080−2C) \mathbf{E(C)20\log_{10}\left(\frac{80}{80-2C}\right)}E(C)20log10​(80−2C80​)用几个典型 coefficient 检查该关系CCCMain80−CMain80-CMain80−CVhigh/VlowV_{high}/V_{low}Vhigh​/Vlow​公式结果UG476 典型值08080/800.00 dB0.00 dB107080/602.50 dB2.50 dB206080/406.02 dB6.02 dB305080/2012.04 dB12.04 dB314980/1812.96 dB12.96 dBPre 和 Post 在相同 coefficient 下得到相同典型 dB正是因为两张表在各自单旁 tap 条件下遵循同一关系。表中 30、31 units 只适用于 Post-tapPre-tap 的有效范围到 20 units 为止。适用边界上述E(C)E(C)E(C)只用于解释 UG476 的单旁 tap 典型 dB 表。Pre 表要求TXPOSTCURSOR0Post 表要求TXPRECURSOR0并使用 Main coefficient 的默认分配。当 Pre 和 Post 同时非零、改变TXPRECURSORINV/TXPOSTCURSORINV极性或独立设置 Main coefficient 时不能把两个表中的 dB 数值相加也不能直接套用该公式计算最终输出波形。3.5 参数之间的完整关系TX Driver 的控制参数可以沿下面的链路理解TXPRECURSOR / TXPOSTCURSOR Port Code ↓ Coefficient Units ↓ Pre / Main / Post 系数分配 ↓ 三条 TX Driver 路径叠加 ↓ Vhigh / Vlow ↓ Emphasis 20log10(...) ↓ 实际 TXP / TXN 输出波形 ↓ 信道后的 Eye / BER 表现TXDIFFCTRL是与 coefficient 分配并行的另一个控制维度用于设置差分输出摆幅等级并与 Pre/Main/Post 的叠加结果共同影响VhighV_{high}Vhigh​、VlowV_{low}Vlow​和最终 TXP/TXN 波形。Port Code、coefficient units、Emphasis dB 和最终输出电压分别属于端口配置、内部系数、幅度比和实际电气波形四个层级不能直接等同。4. 发送均衡如何改善接收眼图第二节给出了 Pre-cursor 与 Post-cursor 对发送波形的影响第三节进一步说明这些波形由TXDIFFCTRL和 Pre/Main/Post coefficient 共同控制。本节把这两部分重新接回真实信道说明发送端形成的高、低摆幅经过有损互连后为什么可能转化为更大的接收眼图开口。4.1 高低摆幅与信道预补偿未启用 De-emphasis 时连续相同码元具有近似一致的发送摆幅。启用 Post-tap De-emphasis 后跳变后的第一个码元保持较高摆幅随后连续同值码元进入较低的稳态平台Pre-tap 则把受控分量放在跳变之前。发送器主动形成这种高、低摆幅差异不是为了让 TXP/TXN 近端波形更加规整而是在信号进入信道前预先改变跳变相关成分与低频稳态成分的比例。封装、PCB 走线、过孔、连接器和线缆会对高频成分产生更大的衰减使一个 UI 内的能量扩散到相邻 UI。发送端通过 Pre/Main/Post 三条驱动路径重塑跳变附近的响应如果这种预补偿与信道产生的 pre-cursor、post-cursor 失真方向匹配信号经过信道后main cursor 周围的残余 ISI 就可能减小。因此发送均衡的效果应在信号通过目标信道后评价。TX Driver 负责生成预补偿波形信道再按自身的幅频和相频响应改变波形最终需要观察的是接收采样点附近能否获得更大的电压与时间裕量。4.2 Coefficient 重新分配与发送端预补偿从第三节的 coefficient 关系看增大 Pre-tap 或 Post-tap 并不是在 Main tap 之外额外叠加一份不受约束的驱动能力。自动 Main 模式满足PreMainPost80 \mathbf{PreMainPost80}PreMainPost80向 Pre 或 Post 分配更多 coefficient units 时Main coefficient 会相应减小。三个 tap 在相邻 UI 上的权重由此重新分配最终形成第二节波形中跳变码元与连续码元之间的幅度差异。TXDIFFCTRL则从另一个维度设置整体差分输出摆幅两类参数共同决定进入信道前的 TXP/TXN 波形。这种配置只有与目标信道匹配时才会带来收益。Pre/Post coefficient 过小预补偿不足信道后的残余 ISI 仍然较大coefficient 过大则可能过度压缩 main cursor并形成新的过冲或相邻 UI 失真。发送均衡不是把某个 coefficient 调到最大而是在发送波形与信道响应之间建立互补关系。4.3 WP419 的 10 Gb/s 实测验证WP419 给出了一个 Kintex-7 GTX 10 Gb/s 链路的实测对比。信号依次经过器件封装、表征板走线、连接器和 SMA 线缆眼图反映的是 TX Driver 与这段实际传输信道共同作用后的结果。Figure 12未启用 De-emphasis 的 10 Gb/s GTX 眼图Figure 13启用约 2 dB Post-tap De-emphasis 的 10 Gb/s GTX 眼图未启用 De-emphasis 时信道造成的 ISI 使眼图边沿分散示波器给出的峰峰值 ISI jitter 为 8.50 ps。加入约 2 dB Post-tap De-emphasis 后眼图交叉区域更加集中眼图开口更清晰ISI jitter 降至 3.97 ps。这组实测把前文的两层关系连接起来第二节的 Post-tap 波形展示了跳变码元与连续码元之间的高、低摆幅第三节说明这种幅度关系来自 Main/Post coefficient 的重新分配WP419 的眼图则表明当该分配与测试信道相匹配时信道后的 ISI 可以明显减小。图中的约 2 dB 只对应这条特定 10 Gb/s 测试链路并不是 GTX/GTH 的固定推荐值。PCB 材料与长度、过孔和连接器结构、线缆、线路速率以及 RX 均衡条件发生变化后合适的 Pre/Post coefficient 也会变化。4.4 评价位置与工程边界关闭 emphasis 时TX 近端波形通常更接近规则的 NRZ 方波启用 emphasis 后跳变码元和连续码元具有不同摆幅近端还可能出现多电平或有意形成的过冲。若只观察 TXP/TXN 附近的测试点这种预失真波形未必显得更加规整但这并不能说明均衡效果变差。TX emphasis 应以信号经过目标信道后的接收结果评价不能只根据 TX 近端波形是否规整作出判断。实际比较对象应包括信道后的眼高、眼宽、ISI jitter、BER 和链路稳定性并保持 RX 均衡模式、测试码型和测量位置一致。WP419 的结果也说明发送均衡不存在脱离具体信道的固定最优参数。Pre/Post coefficient 设置不足或过度都可能降低接收裕量因此需要围绕目标信道扫描TXPRECURSOR、TXPOSTCURSOR和TXDIFFCTRL寻找眼图与 BER 均具有稳定裕量的配置区域。下一节将沿这一思路展开实际配置与调试方法。5. 工程配置与调试方法基于上述评价位置TX Driver 的配置目标是让发送脉冲与实际信道匹配而不是把摆幅和 Pre/Post 系数调到最大。较实用的调试顺序如下建立基础配置。使用 Transceivers Wizard 的生成配置或经过验证的工程参数建立满足器件约束的TXDIFFCTRL、TXPRECURSOR和TXPOSTCURSOR初始值并先确认参考时钟、复位、位序和极性正确。确定测试码型与接收条件。固定 RX 均衡模式使用 PRBS 或协议规定的训练码型在目标线路速率下记录基准 BER 或 Eye Scan。优先扫描 Post-tap。多数低通信道的主要能量拖尾位于 main cursor 之后可先粗扫TXPOSTCURSOR找到误码率或眼图裕量明显改善的区域。再补充 Pre-tap。如果信道仿真或测试显示 main cursor 之前仍有明显 ISI再小范围扫描TXPRECURSORPre-tap coefficient 增大同样会占用 Main tap 的驱动资源。联合调整摆幅。在 Pre/Main/Post 系数比例基本确定后微调TXDIFFCTRL。摆幅不足会降低接收信噪比摆幅过大则可能增加过冲、串扰和接收端过载风险。验证配置窗口。不只记录单个最优点还应比较其邻近设置并在温度、电压、不同板卡和多通道条件下确认 BER 裕量。调参时需要特别避免两个误区。第一TXDIFFCTRL增大只能提高输出幅度不能消除信道记忆产生的 ISI第二Pre/Post coefficient 增大也不必然改善链路因为过度均衡会压缩 main cursor并增加边沿过冲、串扰以及由阻抗不连续引起的波形尖峰。TX 发送均衡与 RX CTLE/DFE 共同作用于同一条链路。短、低损耗通道可能只需要很小的 TX 均衡高损耗通道则需要在 TX Pre/Main/Post 系数分配和 RX 均衡之间协调避免两端同时过度补偿。最终判断依据应是接收端 BER、Eye Scan 或协议稳定性而不是仅观察 TX 测试点的波形幅度。6. 总结GTX/GTH TX Driver 通过 Pre/Main/Post 三条驱动路径共同形成差分输出。从信号处理角度这一结构可以等效为三 tap TX FFEtap 表示发送端的加权分量cursor 表示 single-bit response 中的时间位置emphasis 则描述最终形成的波形效果。工程配置需要同时处理两个维度TXDIFFCTRL设置差分输出摆幅Pre/Main/Post coefficient 决定有限驱动资源的分配。端口编码、coefficient units、单个 tap 条件下的典型 dB 和最终输出波形不能直接等同参数是否合理最终应由信道之后的眼图、误码率和跨环境裕量验证。
返回列表