赵 金
(中兴通讯股份有限公司,陕西 西安 710114)
当今世界,人们的生活已是片刻也离不开电子设备。电源管理在电子设备系统中担负起对电能的变换、分配、检测及其他电能管理的职责。电源管理对电子系统而言是不可或缺的,其性能的优劣对整机的性能有着直接的影响。在工程实践中,工程师也遇见了越来越多关于电源引起的问题。本文结合电源原理、电流电压针对工程实践中电源引起的异常死机提出一种解决方法,帮助工程师快速的定位问题、解决问题。
NVDIA 的AP40 平台是该芯片厂商的第一款8 核处理平台,其电源管理部分由TI 的65913 电源管理芯片负责。在测试过程中发现了部分手机在使用过程中当电池电量在40%以下时,很容易出现手机白屏、蓝屏、绿屏等“死机”现象。“死机”问题的出现严重影响了用户体验,所以是手机研发中工程师最不愿看到的故障。经测量分析发现,在死机发生时,电池的VBAT被拉低到2.9 V 以下(正常电池满电在4.4 V、额定电压3.8 V、关机在3.4 V 左右),而此时的电流在3~4 A。
2.2.1 工作原理
电池充电管理芯片MAX77665 有硬件OC(Over Current 过流)可以响应电池输出的最大电流,当电流超过某一最大值时,MAX77665 发信号通知AP40 芯片降频,从而使得最大电流变小。但是MAX77665 响应最大电流有条件限制,这个限制就是大电流的脉冲时间要超过3.3 ms,这时MAX77665 才能发信号通知AP40 芯片降频。如果大电流脉冲时间小于3.3 ms,则MAX77665 无法响应,如果此时电流过大,电池电压就会被拉低于TI65913 的最低门限,那么手机就会有非常大概率死机。
因此,死机的直接原因就是电池电压过低。输出电流过大导致电池的供给电压被拉低,此时电池电压低于其PMU 的最低门限,从而使得PMU 工作异常,产生死机。
不改版的解决方法主要分为5 个步骤,具体如下。
步骤1,如何复现死机问题抓取波形分析是一种很有效的方式,发现在手机开机找网注册时滑动触摸屏操作,此时手机非常容易死机。经过分析发现,在手机注册找网时,MODEM 侧PA 会产生大脉冲电流,而滑动触摸屏操作会使得平均电流升高,两者相加后就会产生一个非常大的电流脉冲,此脉冲最大值可以达到4 A 以上,而电池输出功率一定,在电流升高的同时,那必然是电池电压的跌落。
于是,通过修改软件,让MODEM 侧在PA 发射大功率时给AP40 发信号进行通知,AP40 收到信号后进行限制频率的处理,使得电池的平均电流降低,从而使得注册找网时的大电流脉冲最大值可以降低。
LC1713 通 过AP_MODEM_POWERCTL 管 脚 给AP40 发送信号,AP40 的HDMI_CEC 管脚也是AP40中4 个带OC 的管脚之一。
软件除了这些处理外,还在AP_MODEM_POWERCTL 下降沿之后在延时1 s 继续限制频率降低电流。
步骤2,在进行测试中发现,当马达震动时电流会增大400 mA 左右,但企业标准马达震动时电流不超过90 mA。
检查马达相关原理图,发现将其B 端接地可能有问题。因为将马达去掉后,测量VIBRATOR_N 信号,发现其输出电平为1.2 V,而此管脚通过0 Ω 接地,相当于此管脚对地短路,这个管脚肯定会有漏电产生。经过测试:
(1)马达自身耗电,100 mA 左右,符合马达自身的规格,是正常的;
(2)由于马达震动时VIBRATOR_N 电平不为0导致该管脚通过R206 漏电有200 mA 左右;
(3)马达震动时Max77665a 的马达控制器耗电,100~150 mA。
所以,除了将R206 去掉后,芯片自身马达控制器还有150 mA 左右的电流,通过修改软件,将马达变为外部PWM 控制,占空比设置为100%,LDO4 设置为2.85 V即可,这种配置下马达可正常工作,且没有异常漏电。
步骤3,由于只要系统电压低于2.9 V,TI65913就会工作异常,从而导致死机。于是要求TI 将此芯片的最低工作电压调低至2.7 V。经过对改过参数后的芯片进行测试,发现VDD_SYS 在大于2.7 V 时就不会产生死机,并且其余电源也满足设计要求。
步骤4,在测试中发现,每次开机时都会在开机7 s左右产生一个大电流脉冲。经过分析,此大电流是由MODEM 上电导致。
经过分析,MODEM 在启动时,由于MOS 开关响应时间非常快,导致上电时给MODEM 部分LC_VBAT支路上电容充电,从而导致电流非常的大。为避免该问题,建议在在MOS 管的源极和栅极之间增加0.1 μF电容,原理如图1 所示。从此MOS 管的参数中得知,其Td 和Tf 都是纳秒级的,MOS 管开关响应非常的快,加0.1μF 电容的目的就是软启动,增长MOS 管的开关时间[1]。
步骤5,除了上述的4 个步骤,主芯片还通过EDP 对电流和电压以及电池内阻进行限制。关于限制电池的最大电流,目前OC 里边限制值设置为3.5 A,只要电池的最大电流高于3.5 A,就进行限频。
关于限制电池的输入电压,当其输入电压低于某阈值时,让主芯片降频。目前系统最低电压限制为3.35 V。
图1 栅极和原极之间增加电容
通过公式(1)可以计算得出对应于不同的开路电压此时所对应的最大电流:
其中,Voc是开路电压也就是此时电池电压,VDD_SYS_MIN就是EDP里边设置的3.35 V,ESR是计算电池端到芯片,结合PCB 板材参数得到阻抗值。I_VBAT就是此时开路电压所对应的能提供的最大电流。由式(1)可知,满电时Voc最大,此时I_VBAT最大,这个手机性能最好。随着Voc降低,I_VBAT减小,手机性能会降低。所以调整一个合适的VDD_SYS_MIN是关键,这个值小了,在低压时I_VBAT过大,会导致死机;这个值大了,在低压时I_VBAT过小,此时手机性能就会被限制,影响用户体验。所以目前3.35 V 这个值是经过大量测试得出的。
这5 个步骤可以解决在不改版的情况下的死机现象。
既然是改版的解决方法,那必然是从硬件的角度来解决。由于原来的充电芯片的硬件OC 响应大电流脉冲宽度条件为3.3 ms,所以增加一个电池输出电流监测芯片[2],其检测范围是140 μs~8.244 ms,从而可以短时间的检测到大电流,进而做到限流限压,规避死机问题。
本文介绍了一种由电源引起的死机异常的解决方法。通过实验测试、问题改进给出了通过经济效率高的软件解决问题的方法、同时也给出了一种通过硬件处理的解决方法。为以后此类问题的分析以及解决提供了更快更为经济的解决方案。