PHY 层包含用于生成眼图的功能,并支持多种不同的模式(如需模式列表,请参阅 ES 寄存器)。以下各节介绍了如何从器件生成眼图扫描数据以及一些构建眼图的方法。
- 按照 DUC 模式的启动过程中的步骤,为 JESD204C 运行配置器件。设置 JESD_EN=1 后返回此处。既可以使用 JESD204C 位流运行眼图扫描,也可以使用通用 PRBS 输入激励来运行。眼图扫描同时在所有已启用的物理通道上运行。
- 将 ES 编程为所需的眼图扫描模式。
- 如果 ES 小于 8,则必须将 ESVO 编程为所需的电压偏移。在其他模式下,眼图扫描逻辑会自动调节眼图扫描采样器的失调电压。
- 将 ESPO 编程为所需的相位偏移。
- 将 ES_BIT_SELECT 编程为 0 至 19 之间的值。每 20 个接收位(抽取因子为 20)进行一次眼图扫描分析。ES_BIT_SELECT 用于调节该抽取相位。对于随机激励,这不会影响结果。如果输入具有重复模式,这可能会影响结果。
- 将 ESLEN 编程为所需的样本数。设置越高,结果越一致。
- 设置 ECOUNT_CLR = 1,然后设置 ECOUNT_CLR 以清除错误计数器。建议执行此步骤,但如果需要,则可以跳过此步骤(例如,将来自多个眼图扫描运行的计数相加)。如果不使用 ECOUNT(对于 ES 为 8 或更大的模式),也可以跳过此设置。
- 编程 ESRUN = 1 以开始扫描。
- 轮询 ESDONE,直到 ESDONE 为您要运行眼图扫描的每个通道返回 1。
- 如果所选的眼图扫描模式修改了眼图扫描电压偏移(内部/外部/平均模式),则读取 ESVO_S 以获得内部/外部/平均眼图边界。对于其他眼图扫描模式,则读取 ECOUNT 以返回记录的不匹配(或匹配)数量。
- 编程设定 ESRUN = 0。
- 返回至步骤 2,以运行另一个眼图扫描数据收集过程。在步骤 2 到 12 的多次迭代期间,接收器可以保持启用状态。
有两种基本方法可以使用眼图扫描功能构建眼图。
- 1.使用 ESVO_S 的快速方法:
- 对 ESPO 的每个有效值重复上述过程。对于 ESPO 的每个值,运行 0 和 1 的内眼分析。这会找到 ESPO 的每个值的最大零 (ESVOmax0) 和最小一 (ESVOmin1)。
- ESVOmax0 和 ESVOmin1(含)之间的所有眼图单元均为黑色,其他单元均为白色。
- 通过包括外部和/或平均分析,可以将其他详细信息添加到眼图中(请参阅 ES)。例如,通过平均分析生成的 ESVO_S 值可以标为红色,而包括内部分析值和外部分析值在内的所有其他值都标为白色。
- 使用 ECOUNT 的详细方法:
- 选择一种可以对不匹配问题进行计数的眼图扫描模式。对 ESVO 和 ESPO 的每个有效值重复上述步骤。
- 每次运行后,记录 ECOUNT 值(每次运行前复位 ECOUNT)。
- 每次眼图扫描对应于眼图的一个单元。ESPO 是单元的 x 坐标。ESVO 是单元的 y 坐标。单元的强度与 ECOUNT/Nsamples 成正比,其中 Nsamples 是每次运行所分析的样本数量(由 ESLEN 确定)。
- 这种方法需要更多的时间来运行,但可以提供更精细的眼图。