1. 问题
现象:
1. 国产CPU的主板,主板内的PCIE 设备找的到,但是另一块板子上连接的PCIE 设备找不到。
2. 排查问题在哪里的计划
1. 检查原理图先排除信号定义的问题, TXRX是否反接。
2. 示波器检查PCIE 的时钟频率是否正确。
3. 检查是否在 AC电容上设计有问题。
4. 配置CPU 的固件(BIOS) 使用EQ均衡,降速,硬件上降lane 的实验。
3. 网上抄的PCIE 问题定位指导图
参考文章:PCIe 定位:链路问题定位方法 - 极术社区 - 连接开发者与智能计算生态 (aijishu.com)
参考文章:PCI/PCIe设备驱动问题定界定位 - 资料中心 1.0 专题排查指导 - 华为计算 (huawei.com)
4. 排除问题的过程
1. 先看原理图查看信号的PCIE的定义是否有错。信号有(PCIE 的复位信号, TX,RX, 时钟信号),查看这些信号板与板之间的连接是否有信号定义搞错。 这个板的TX 需要接另外一个板的 RX, 时钟信号是直连。
----结果:定义没有错误。
2. 硬件上使用万用表查看两板之间的PCIE信号的通道是否连通, 因为是两块PCB 板上的连接。
----结果:两板之间的连接通道没有问题。
3. 软件上修改 BIOS 程序,注意BIOS 中PCIE 的拆分(X16 和 X8/X8), 设置PCIE的 EQ平衡和 降速(gen3,gen2,gen1), (测试多个了 BIOS 程序)
----结果: 还是找不到设备。 (硬件人员一般都是说软件有问题,所以先查软件问题)
4. 使用示波器查看 PCIE 复位信号是否到了 没有找到的设备哪里。
----结果: PCIE 设备上的复位信号没有问题。
5. 使用示波器查看PCIE 波形, 需要查看发射端和接收端两个部分。
先测量发射端的PCIE 波形: 使用示波器交流耦合查看时钟波形
---- 结果: 波形正常但是质量一般。时钟频率正常。
查看接收端的PCIE 波形: 使用示波器交流耦合查看时钟波形
----结果: 波形不正常质量非常的差。 按下 STOP 抓不到波形。
猜测就是这里的问题了。
找到问题之后,查看原理图,发现PCIE时钟信号通道 发射端和接收端都有AC电容。按照PCIE 规范是说如果是两块板连接时,AC耦合电容放在发送端的那块板上,通道连接只需要一个AC 耦合电容即可。
两个AC 电容在一根线上会造成 浮地效果,造成地电位变动,也会增加对模拟电路的感应干扰。所以时钟信号变差变得不可使用。
最后把 一端的AC 耦合电容变成 0R 的电阻即可。
参考文章:Day11 浮地系统_电子发烧友学院 (elecfans.com)
参考文章:高速差分信号AC耦合电容详解-CSDN博客