I.问题现象
数据采集器在生产复调中有可能出现如下异常:上电后设备电源指示灯常亮、运行灯未闪烁,调试串口无任何打印信息,复位按键无效,只有手动切断电源方能恢复。
使用外部继电器快速关断设备的电源,该故障几率性复现。故障时供电4.2V正常,但核心板上主芯片转换出来供内核和Flash运行的3.3V、1.8V电压均异常,导致系统无法正常运行卡死在上电启动过程中。
II.问题分析
1、高频干扰
使用示波器对设备核心板的PSWITCH管脚进行波形捕捉监测,发现在无法启动时该管脚的波形出现较多的高频干扰,如下图所示。
在主控芯片的数据手册有说明:PSWITCH管脚在接收到一个时间间隔小于15ns的高速下降沿时,会使得芯片进入关断模式,推荐使用RC电路对其管脚的输入电源进行滤波。增加推荐电路如下所示。
验证:查阅核心板原理图,其内部的RC滤波已将该高频干扰滤除,如下所示。该方案并没有有效的抑制该问题
2、掉电不完全
供核心板使用的4.2V电源,其输出AC44振荡电容为470uF的电解电容。容值较大,在快速通断电测试中,上电前4.2V并未完全跌落至0V。通过技改将该电容更换为10uF X5R的陶瓷贴片电容,原理图如下所示:
验证:该方案可以解决1s快速通断电启动失败的问题,并且在生产中心测试50台200+次使用开关进行通断电无异常,但500ms通断电仍会偶发启动失败。后续又在4.2V供电回路上增加510Ω假负载的措施,可以解决之前500ms快速通断电启动失败的问题。但300ms测试仍然失败,此时4.2V在上电前已跌落至0V,波形(蓝:220V;黄:4.2V)如下所示。
该方案只是抑制该问题的出现几率,并没有完全解决启动失败的现象。
3、上电时序
最终核心板厂商和Freescale确认该问题是由4.2V和PSWITCH上电时序不一致造成的,推荐电路中使用由CPU内部产生的VDD_XTAL供给PSWITCH 用以产生启动信号。但快速掉电时刻,4.2V电源跌落缓慢,经过300ms左右VDD_XTAL管脚仍有大于0.6V的电压,从而出现偶发性的内部PMU再次上电不成功。冷机启动(如10分钟以上),在上电时刻,PSWITCH先稳定,但此刻4.2V没有稳定 ,从而出现偶发性的内部PMU再次上电不成功。
捕获上电波形,如下所示。发现由VDD_XTAL提供的PSWITCH信号,比4.2V电源稳定提前约10ms。
验证:使用4.2V通过电阻分压产生的0.97V直接提供给PSWITCH使用,原理图如下所示。进行300ms快速通断电实验,捕获上电波形,PSWITCH与4.2V同步上升,测试1k+次暂未发现异常。
对比验证:
优化前:手动400ms左右快速掉电,20次复现5次。
优化后:手动400ms左右快速掉电,100次未复现。自动化400ms快速掉电测试1w+次,未复现,见下图。
4、延伸其它设备
另一款使用同一颗主CPU(i.MX 287)开发的插接式核心板,该核心板只使用3.3V供电,但同样需要外部控制PSWITCH选择供电方式。对其也进行300ms快速通断电实验(1w+次),未发现由于其内部DC-DC转换错误引起的启动失败。但是检查3.3V电源和PSWITCH信号的上电时序(黄:4.2V;蓝:PSWITCH),如下所示。其PSWITCH比3.3V早建立约10ms,存在启动失败的可能性。(跟第二条掉电1s情况类似)。
结果:预试流的板件暂不改动,正式试流前也变更为兼容3.3V分压提供PSWITCH的启动信号。
III.解决方法
1、现有成品、半成品不处理
2、改版,使用4.2V电阻分压供PSWITCH启动信号,测试确认后变更发布。
IV.总结和建议
严格确认、测试系统上电时序