当前平台使用的电源为 华为 PAC800D12-B1,在适配 openUBMC 过程中遇到 OS正常下电后自动执行通电开机策略导致恢复上电问题,想咨询下社区建议。
CPLD通过CRPS电源的Vin_PG信号判断是否AC。
从原理图和实际使用情况看:
-
华为 800W 电源未提供 VIN_PG(AC 输入正常)信号,仅有一个SMBAlert信号,用于表示所有电源异常告警。
-
所有使用该电源的板卡上,VIN_PG 信号固定为低
-
在设计中 CPLD 侧基于 PSU 信号(PSOK / PWR_OK / VIN_PG )综合判断,
这会带来问题:
-
正常关机时
-
CPLD 主动关闭 12V
-
PSU PSOK 拉低
-
由于 VIN_PG 恒低,CPLD会发送AC信号给到BMC的GPIO64,BMC因此误判为 AC 掉电。
-
-
触发了 openUBMC 的 AC 掉电相关逻辑,通电开机策略
对比来看:
-
**对 电源提供 VIN_PG 信号,**可以通过 VIN_PG 来区分:
-
市电真实异常
-
正常下电导致的 PSU 输出变化
-
-
因此该问题目前 仅在华为 800W 电源上存在
对于 不提供 VIN_PG / AC_PRESENT 信号的电源,是否有推荐的 AC 掉电判定策略?如果BMC忽视这个信号会有什么影响?
