PCIe,诊断和改善眼图

电器工程 布局 信号完整性 pcie 高速
2022-01-20 17:53:17

我已经实现了一个使用 PCIe 的设计。稍有不同的是,PCIe 接口用作单个 PCB 上的芯片到芯片通信通道(例如,没有 PCIe 连接器)。

根复杂设备是符合 PCIe Gen 2 标准的 Freescale i.MX6,我与之通信的设备是符合 PCIe Gen 3 标准的 Marvell WiFi 模块。它是一个运行速度为 2.5Gbps 的单通道接口。

我已经通过在如下所示的在线帽的另一侧焊接具有适当差分问题的高速示波器进行了一些信号完整性测量:

在此处输入图像描述

对于时钟,眼图看起来相当不错:

在此处输入图像描述

但是TX数据不多:

在此处输入图像描述

WiFi 芯片具有片上终端,所以我认为我不需要任何额外的终端,但我可能错了。

我发现了一些可以在 i.MX6 处理器中为 PCIe 外围设备设置的寄存器,但我不确定它们实际上是做什么的。一点点试错也没有让我走得太远。

在此处输入图像描述

我检查了布局是否遵循正确的布线规则,并且 PCB 的构造具有正确的阻抗。显然我在系统中有一些抖动,但看起来我也有反射或去加重问题。我希望有人可以用我的眼图描述他们看到的错误和/或提出一些解决方法。

干杯!

1个回答

有很多事情会对你做这件事。

你没有说明接口的长度。我经常直接使用芯片到芯片的 PCIe,您确实需要考虑到这一点,因为由于趋肤效应损失,您将获得大约每英寸 0.18dB 的衰减,而由于“普通”FR4 上的介电吸收,您将获得大约每英寸 0.5dB 的衰减。

如果您下载 PCB 材料数据表并查看损耗角正切,我认为您可能能够从 PCB 材料数据表中获得更好的数字。查看 Isola 370HR 的典型数据表。上面的数字在 5GHz 速率下非常准确。在 2.5Gb 速率下,数字略低,每英寸的总损耗约为 0.4dB。

我假设除了分接电容器和耦合电容器之外,您正在为接口使用单层路由。层转换很容易对信号造成非常恶劣的影响。受控阻抗在层与层之间会有所不同,反射是自然的结果(有成功进行多层布线的方法,但需要非常小心和一些不寻常的技巧才能实现)。

对于 PCI express(以及 Infiniband),发射器上信号的上升和下降速率具有最小上升和下降时间,以最大限度地减少 EMI 问题,该时间为 0.25UI,这会在第 2 代链路上产生 10GHz 信号伪影以及必须考虑的第 1 代中的 5GHz 伪影。

上面的去加重场通过降低非开关幅度相对于标称发射幅度来帮助您清晰地观察接收器。

如果您在信号的切换边沿丢失太多幅度,请将此字段设置为较大的值。您也可以将标称发射幅度设置得更高一些。

您可能会关注的其他问题:

相对于发射机,耦合电容在哪里?它们应尽可能靠近发送引脚。一旦它们超过 10GHz 的一半波长(在 FR4 上约为 0.6 英寸)[对于 2.5Gb/秒的链路来说是该距离的两倍],它们肯定会反射能量。

我在 PCI express gen 中遇到了 0402 或更大的电容器几何形状的问题。2 和我现在使用反向几何器件 (0204) 来降低有效串联电感。这些似乎很好地完成了工作。

仔细查看转换位的眼图(顺便说一下,你有很好的范围 - 这就是你需要的东西),初始信号驱动似乎正在驱动终止线(信号变为 0.5 V(标称)以经典的传输线方式)。这不是一条特别长的线路(往返时间是信号驱动到满 V[标称] 的时间)。

您说链路以 2.5Gb/秒(第 1 代)的速度运行,这就是示波器轨迹所显示的,但您可能想尝试去加重场(查看参考手册和电气数据表(见下面的注释)。“标准”去加重值适用于标称链路,而不是像你在这里的嵌入式链路(我也经常这样做)。如果你能把它提高到大约 6dB,你可能会得到更好的结果。

Gen 1 的标称去加重为 3.5dB,Gen2 为 6dB。我注意到上面的字段似乎暗示第 2 代链路是 3.5dB - 你可能想深入了解一下。您拥有的链路至少需要 3.5dB 的去加重。

请注意,接收器的眼睛会非常不同,但这很重要作为实验,读取处理器中的错误计数器(其中大多数都有重试计数器);如果您没有看到重大错误,那么您可能正在追逐一些不是真正问题的东西。如果您看到大量错误计数,那么其中一些可能会有所帮助。

还有一件事:过度的发射幅度和去加重与将它们设置得太低一样糟糕。

也许这会对您有所帮助:希望如此。

注意:飞思卡尔记录了所有内容,只是有时它不在您希望找到的地方。确保您也有最新的设备勘误表。

更新添加了有关电容器几何形状的注释。

高达 2.5Gb/秒的节点,0402 设备都很好。我方便的计算器显示典型的 0402 设备在此频率下具有大约 10 欧姆的阻抗(电感),在 5GHz(感兴趣的最高频率)下具有 21 欧姆的阻抗。这在 100 ohm 差分系统中并不算太糟糕,因为紧密耦合对的有效阻抗略小于直接相加。

该设备的自谐振为 19MHz,远低于所有感兴趣的频率,因此任何相位噪声都是由 ESL 引起的。将阻抗保持在有效轨道阻抗的大约 1/3 以下意味着我们将获得的相位噪声(以及因此额外的 ISI)在 1 到 17 度之间(来自紧密耦合对的单端轨道通常是(Z (diff)/2)*1.25,因此对于 100 diff,单端阻抗约为 65 ohm)。这个相位噪声量是可控的。

在 10GHz 时,有效阻抗约为 44 欧姆,并且可以通过在感兴趣的频带上引入过多的相位噪声来开始干扰差分对,因为现在最大相位约为 34 度。尽管我已经使用 0402 设备成功完成了 Gen 2,但我也遇到了运行时间更长的问题,现在使用 0204 反向几何设备来实现这个速度甚至更高的速度。

对于 8b/10b 编码的链路,感兴趣的频带是从比特率/5 到比特率 * 2。下限以运行长度编码为界,上限以最小上升和下降时间的规范要求为界.

各种几何形状的 ESL:

0402:约700pH

0204:约300pH

0805:约1nF

更新添加了关于 50% 初始发射幅度的评论。

让我们考虑一条传输线,该传输线在源端和目标端以线路的特性阻抗 Z0 终止。

在初始发射时,假设线路与信号波长相比较长,由于分压器效应,发射点将达到发射幅度的 50%(此时发射器只看到传输线)。

一旦能量到达目的地点并开始上升到 50% 点,源处的能量就有效地“充满”了能量线并上升到全发射幅度。严格来说,目的地的传输线看到一个分压器,并且源端的分压器效应随着输出接近直流而消失(请记住,传输线效应仅适用转换)。

这也可以看作是 50% 的能量水平沿传输线向下移动到最终终端,然后以全水平反射回来。这就是为什么我们在线路上任何一点的 50% 点看到“往返时间”。

您的绘图准确地显示了线中尚未到达目标端口的点的这种行为,因为这个 50% 的点实际上是沿着线移动的。

在接收器处,一旦能量达到 50% 点,线路的全部能量就会跟随,并且接收器处的电压继续上升,从而从一个电平平滑过渡到另一个电平。

这也可以看作是 50% 电压点沿线路移动到接收器,然后以 100% 反射回来(接收器首先实现直流)。出于这个原因,在线上任何一点的 50% 电压显示了从该点到接收器的往返时间。

这个讨论对于差分信号和单端信号一样有效。

因此,您上面的图显示了经典的传输线行为,几乎没有超出预期行为的偏移。事实上,这是我见过的最干净的发射器眼睛之一。