自定义PCIe插槽供电SMBus卡在华硕PRIME Z370-A主板上无法工作求助
排查自制PCIe取电卡在华硕PRIME Z370-A上无法运行的问题
先明确你的核心场景:自己布线的PCIe卡,只靠插槽的3.3V和GND引脚取电,没接PCIe差分信号线,PRSNT1/PRSNT2也没连,带SMBus可控芯片——旧主板能用,偏偏华硕Z370-A不行。结合PCIe规范和新款主板的设计特性,我给你梳理几个最可能的原因和排查步骤:
1. 主板的PCIe存在检测机制卡了脖子
新款华硕主板(尤其是Z370这类定位的)对PCIe插槽的合规性检测比旧主板严格得多。虽然你不用PCIe通信,但PRSNT1(A1)和PRSNT2(B1)这俩引脚是PCIe规范里用来识别卡是否存在、判断功耗等级的关键信号。旧主板可能睁一只眼闭一只眼,跳过了这个检测直接供电,但Z370-A可能因为检测不到卡的“存在信号”,直接切断了插槽的3.3V供电。
- 快速排查:找个跳线临时短接PRSNT1和PRSNT2(放心,你的卡功耗远低于PCIe插槽75W的上限,不会出问题),然后插回Z370-A测试。如果能正常工作,那就是这个原因——后续直接在卡上把这俩引脚短接就行,或者加个10kΩ电阻下拉到GND(部分主板更认可下拉的方式)。
2. SMBus总线的兼容性差异
你的卡靠SMBus控制芯片,而Z370-A的SMBus可能有旧主板没有的限制:
- 比如主板SMBus启用了时钟拉伸限制,旧主板允许芯片长时间拉低时钟,但Z370-A会判定总线异常并停止通信;或者主板SMBus的驱动电平、时序和旧主板不一样,你的卡的SMBus芯片没法正常响应。
- 另外,你自行布线的SMBus线路如果有信号反射、过长或者和其他走线耦合,旧主板的SMBus驱动能力强能容错,Z370-A就直接报错了。
- 排查步骤:
- 用示波器测一下Z370-A上SMBus的SDA/SCL波形,对比旧主板的波形,看有没有时钟断流、电平异常的情况。
- 如果卡上没加SMBus上拉电阻,赶紧加一对10kΩ的(靠近卡的SMBus芯片端);如果已经有了,换成4.7kΩ试试,匹配主板的驱动能力。
- 检查卡上SMBus走线,尽量缩短,远离其他高频走线(哪怕你没接PCIe差分线,插槽附近的走线也要注意),必要时加地线屏蔽。
3. 3.3V供电的纹波或瞬态响应不达标
新款主板的PCIe插槽3.3V供电可能对负载瞬态和纹波要求更严。你的卡功耗低,旧主板的3.3V供电输出能力强,纹波大一点也没事,但Z370-A的3.3V在轻负载下可能纹波超标,导致SMBus芯片复位或者工作异常。
- 排查步骤:
- 用示波器测卡上3.3V输入引脚的纹波,看是否超过芯片规格(一般要求≤100mV)。
- 在卡的3.3V输入端并一个100µF电解电容+0.1µF陶瓷电容,增强滤波能力,稳住电源。
4. 主板BIOS的电源管理设置限制
华硕Z370-A的BIOS可能默认开启了闲置PCIe插槽断电的功能——因为你的卡没接PCIe差分线,主板识别不到“正经”的PCIe设备,就自动切断了插槽供电。
- 排查步骤:
- 进主板BIOS,找「PCIe Settings」或者「Advanced」菜单下的插槽设置,看看有没有类似「Power Management for Unused Slots」的选项,改成「Enabled」或者关闭自动断电。
- 顺便把主板BIOS更到最新版本,华硕经常会在后续BIOS里修复这类兼容性小问题。
内容的提问来源于stack exchange,提问作者Hans Müller




