BMC(BaseboardManagement Controller)中文译为:基板管理控制器 有如下作用(来自百度):
支持行业标准的 IPMI 规范。该规范描述了已经内置到主板上的管理功能。这些功能包括:本地和远程诊断、控制台支持、配置管理、硬件管理和故障排除。BMC 提供下列功能:与 IPMI 1.0 的兼容性,用于风扇转速监视的转速计输入,用于风扇转速控制的脉冲宽度调节器输出 用于前面板按钮和开关的按钮输入与服务器控制台端口进行多路传输的一个串行端口 远程访问和 ICMB (Intelligent ChassisManagement Bus ,智能机箱管理总线)支持多个I2C 主端口和备用端口(其中一个端口用于智能机箱管理总线 )LPC (Low Pin Count ,低针计数)总线提供对三种KCS (Keyboard Controller Style ,键盘控制器方式)和 BT (One-Block Transfer ,单块传输)接口的访问 32 位 ARM7 处理器160 针 LQFP (Low Profile Flat Pack ,薄形扁平封装)为下列接口提供固件:IPMI 、IPMB
BMC远程显示“Memory Status Critical”报警(如图1所示):
点开右边的放大镜图标显示具体报错来源,“MemoryChannel CD Critical Overtemperature”翻译为中文为:内存CD通道临界值超温。(如图2所示):
测量C、D通道内存供电1.2V、2.5V正常,示波器打波形也正常。打开电路图看C、D通道PWM供电控制芯片,(如图3所示):
仔细找这个芯片与温度有关的引脚,发现39脚VR_HOT#为芯片过热保护脚,带#号表示低电平有效。实际检查39脚通过10K电阻上拉至3V3_DUAL(图4所示)。正常工作时芯片内部开路,当检测到内存供电过流及温度增高时芯片内部启动将39接地为低电平,停止脉冲输出,防止过热损坏主板及CPU和内存条,测量39脚为正常的3.3V高电平,问题似乎不是出在这里。
继续查找DDR_CD_VRM_HOT_N这个信号去向,经一个电阻到了Q62的G极,两个MOS管延时隔离后转入下一路。测量Q62 G极3.3V,D极为亦为3.3V高电平,这明显不正常。按照以往经验,N沟道为高电平导通,现在G极是3.3V高电平,D极依旧为高电平。要么Q62损坏,要么就是R722上拉电阻阻值变小,将万用表拨至蜂鸣二极管挡位,测量R722发现为0Ω,以往电阻阻值变大的居多,阻值变小的也有,但几乎很少有直接变为0的情况。测量Q62 G极的电阻为4.7K,看线路图(如图5所示)G极的R724应该是个0Ω电阻,怎么可能会是4.7K呢?难道是上错了料或是被人为替换了呢?
这两颗电阻互换会后为何出现上述内存报警故障,先来看下电路原理: 正常工作时Q62因 G极为3.3V高电平而导通,Q63 G极为低则截止,Q63 D极保持为高电平。内存过热检测信号是由CPU发出(如图6所示),外部上拉至高电平经转换后最终由BMC发出警示信号,正常工作时CPU内部将该脚位信号悬空,若检测到温度升高则内部将这个信号接地。这个高电平由R683上拉至VCCIO_CPU,然后连接到U58的3脚,U58是一个4位LVTTL至GTL收发器(如图7所示)。实测3脚为低,R683一端为0.95V电压,一端为0V不正常,测12脚也为0V,U58 12脚直接到BMC芯片的内存热检测脚(如图8所示),因CPU0_DDR_CD_HOT_LVT3_N这个信号为低电平,BMC检测到C、D通道过温发出报警。
理清了电路原理后接下来将R722、R724恢复为按线路图中的正常阻值,通电测试内存报警消失,故障排除(如图9所示)。
|