一、概述
NXP 的 SBC - FS85 作为电源安全管理芯片,需要主控 MCU 通过 I2C 或者 SPI 定时喂狗。如果超时喂狗,将会导致 MCU 断电。但是在研发设计之初,MCU 往往需要调试,在打断点时或者软件设计不当的时候,就会导致喂狗不及时,引起不必要的麻烦。这时,我们可以将 FS85 设置成 Debug 模式。
Debug 模式是专为研发人员设计的一种特殊模式。SBC 进入 Debug 模式之后,直接输出想要的电压,释放 Reset ,而且不需要 MCU 定时喂狗。但是这种模式并不能自动进入,需要硬件上的一些手动设置。
二、进入 Debug 模式
FS85 的 Debug 模式涉及到的管脚包括:DBG(pin48)、VSUP1(pin50)和 VSUP2(pin51)、WAKE1(pin49)或者 WAKE2(pin1)、SPI(pin25/26/27/28) 或者 I2C(pin4/10/11)、以及电源输出模块(包括 VPRE、VBOOST、BUCK1、BUCK2、BUCK3、LDO1、LDO2,统称 VREGx)。关键电路如下图绿色部分所示。
图 1. Debug 模式的电路图
上图中的 DBG 管脚上的按键 K4 接电源 VIN,R30 和 R29 将 VIN 电压分压,以保证 DBG 管脚的电压在 4.5V~5.5V 之间。
上图中的 WAKE1 同样通过按键 K3 接电源 VIN,WAKE1 的高电平电压大于 4 V 就可以了。当然,也可以用 WAKE2 来做电平的设置,只要二者选其一就可以了。
上图中的 VMONx 管脚电压需要保证在 0.8V 。
启动流程如下图 2 所示:
图 2. FS85 的 Debug 模式启动流程示意图
① 先按下 K4,再给 VIN 上电。当 DBG管脚上的电压达到 5V(VDBG),而且 VSUP1 和 VSUP2 的电压达到 6.5V(VSUP_UVH)以上,FS85 进入 Standby 模式。
然后,按下 K3,WAKE1 管脚上的电压达到 4V(WAKE12VIH)以上,FS85 即可进入 Debug 模式。此时电源输出模块(VREGx)以及 FS0B、RSTB 管脚保持低电平。
② 如果 DBG 电压一直保持 VDBG ,而且 OTP 是空的,则此时可以通过 SPI 或者 I2C 接口对 OTP 编程烧录数据,这里需要用到 NXP 专门烧录用的电路板。
③ 在 WAKE1 或者 WAKE2 管脚上的电压持续保持 7ms(TDBG) 以后,如果松开 K4,即 DBG 电压降到 0V,电源输出模块(VREGx)会根据 OTP 的配置开始上电。
④ 上电完成之后,如果 VMON 没有检测到异常,FS85 会释放 RSTB 管脚。此时,MCU 就可以开始工作了。
三、退出 Debug 模式
在 FS85 进入 Debug 模式之后,首先进入 INIT_FS 状态,MCU 可以通过 SPI/I2C 对 FS85 的寄存器进行读写操作,可以对 Fail-safe 寄存器进行必要的设置,比如对 ABIST2 的设置、对看门狗的参数配置等等。如果要关闭看门狗,可以将 FS_WD_WINDOW 寄存器中的参数 WDW_PERIOD(bit23:20)设为 0000b。
给看门狗喂一次狗,就可以退出 INIT_FS 状态,电源输出模块(REGx)开始输出电压,并进入 ABIST2 状态。等待 1.2ms 之后,ABIST2 状态 OK,即可以退出 Debug 模式。
以上是通过 SPI/I2C 对 FS85 的看门狗喂狗的方式来退出 Debug 模式。如果在 INIT_FS 状态的时候关闭了看门狗,则需要通过 SPI/I2C 设置 RELEASE_FS0B 寄存器来退出 DBG 模式。
四、总结
在研发设计之初, FS85 的 Debug 模式可以保证开发人员对 MCU 以及周边器件进行正常调试,而不用担心 SBC 对异常情况进行监控而导致断电等风险。如果想了解更多,可以在下方评论区留言,或者发邮件给我们:atu.sh@wpi-group.com。
五、参考资料
- NXP DS588790-FS84-85 datasheet(9.0)。
欢迎在博文下方留言评论,我们会及时回复您的问题。如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.sh@wpi-group.com
作者:May Xu / 徐美霞
评论