大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是给i.MXRT1xxx系列GPIO提早供电会影响DCDC_PSWITCH上电时序导致内部DCDC启动失败

  最近有一个 RW612 产品线的同事在设计一个双 MCU 系统 Demo 时发现,当 RW612 板卡和 RT1060 板卡通过 UART 对接时,如果 RW612 板卡提前上电,RT1060 板卡后上电,会导致 RT1060 程序无法正常启动。这其实是一个 i.MX RT 系列上典型的上电时序问题,今天痞子衡就和大家聊聊这个话题:

  • Note: 本文内容以 i.MXRT1060 为例,但基本也适用其他 i.MXRT1xxx 系列。

一、快速复现问题

  痞子衡同事在用两块 MCU 板卡(RW612+RT1060)对接时遇到了问题,想复现这个问题,其实没有那么复杂,我们可以用一个USB转串口模块(3.3V)代替 RW612 来和 RT1060 的 ROM ISP UART 口连接:

  痞子衡使用得这个USB转串口模块 TXD 和 RXD 驱动能力不同,空载电压测得均是 3.55V,但是和未上电的 RT1060-EVKB 板卡对接时,电压会有所下降,因此痞子衡测试了不同连接组合下的 RT1060 板卡上电启动结果:

USB转串口模块一直通电 RT1060-EVKB J46未连接 RT1060-EVKB J46连接后
模块TXD

芯片GPIO_AD_B0_13
模块RXD

芯片GPIO_AD_B0_12
NVCC_GPIO

NVCC_SD1

NVCC_EMC
NVCC_SD0 DCDC_PSWITCH DCDC_IN VDD_SOC_IN

DCDC_LP
VDD_SOC_IN

DCDC_LP
程序启动结果
未接 未接 0 0 0 0 0 1.275V 启动成功
未接 0.83V 0.33V 0 0.33V 0.33V 0 1.275V 启动成功
2.22V 未接 1.42V 0 1.42V 1.42V 0 0 启动失败
2.24V 1.79V 1.46V 0 1.46V 1.46V 0 0 启动失败

  从测试结果可以看到,RT1060 程序启动失败的主要原因是板卡上电后,VDD_SOC_IN 上没有电压(即主芯片内部 DCDC 没有输出)。

二、内部DCDC上电时序要求

  在分析启动失败问题前,首先需要简单了解下 i.MXRT1xxx 芯片内部的 DCDC 模块。在一些成本敏感的应用中,首推使用芯片内部 DCDC 供电给内核,因此 DCDC 模块能否正常启动决定了内核能否正常运行。

  在恩智浦官网文档 《i.MX RT Hardware Development Guide for the MIMXRT1050/MIMXRT1060 Processor》 里对上电时序做了如下严格规定,其中最常发生问题的地方就是有效 DCDC_PSWITCH 和 DCDC_IN 之间至少 1ms 的延时(以 DCDC_IN 稳定在 3V 为时间起点,以 DCDC_PSWITCH 上升到 1.5V 为时间终点),如果不满足这个 1ms 延时要求,内部 DCDC 模块则可能会启动失败,无法正常输出电压给内核(DCDC_LP 脚)。

• The VDD_SNVS_IN supply must be turned on before any other power supply or connected (shorted) with the VDD_HIGH_IN supply.
• If a coin-cell battery is used to power VDD_SNVS_IN, ensure that it is connected before any other supply is switched on.
• An RC delay circuit is recommended for providing the delay between DCDC_IN stable and DCDC_PSWITCH. The total RC delay should be 5-15 ms.
• DCDC_IN must reach a minimum 3.0 V within 0.3 x RC.
• The delay from DCDC_IN stable at 3.0 V min to DCDC_PSWITCH reaching 0.5 x DCDC_IN (1.5 V) must be at least 1 ms.
• The power-up slew rate specification for other power domains is 360 V/s – 36k V/s.
• POR_B must be held low during the entire power up sequence

三、GPIO提早供电的影响

  现在我们查看一下 RT1060-EVKB 原理图设计,外部电源输入 DCDC_3V3 负责给 NVCC_GPIO/SD1/EMC 以及 DCDC_IN 供电,同时 DCDC_IN 也经过了一个 RC 延时电路供电给 DCDC_PSWITCH,这是符合硬件设计要求的。

  由于 RT1060 上 GPIO_AD_Bx 和 GPIO_Bx 两组 PAD 供电均来自于 NVCC_GPIO,当其中任何一个 GPIO 有电压时,均可能会漏电到 NVCC_GPIO。因此我们提前将 USB 转串口模块通过 ROM ISP UART 连到板卡,即会漏电到了 NVCC_GPIO->DCDC_3V3->DCDC_IN->DCDC_PSWITCH,即相当于给 DCDC_PSWITCH 的 RC 电路预充了一定电,等板卡正式上电,RC 电路升压到 1.5V 的时间就会缩短。这也就是上个小节表格里为何 DCDC_PSWITCH 预充到 0.33V 时不影响上电时序,而预充到 1.42V 时就不行了,因为延时小于 1ms 了。

  根据 RT1060-EVKB 这样的电源电路设计,不仅仅 ROM ISP UART 两个引脚提前上电会影响芯片启动,属于 NVCC_GPIO/SD1/EMC 供电下的任何一个 GPIO 提前上电都会产生相同的效果。但是 NVCC_SD0 供电下的 GPIO 则不会影响启动,因为它在走线上和 DCDC_PSWITCH 之间没有连接。

四、多板卡连接的解决方案

  现在我们知道了问题产生的原因,以后遇到此类问题,第一时间先去测量 i.MXRT1xxx 内部 DCDC 输出(DCDC_LP)的电压(如果为 0,则一定是上电时序问题)。那该如何规避问题呢?以与 RT1060-EVKB 连接为例则有如下三个方法:

  • 方法一: 两个板卡之间用 UART 信号连接时串上隔离电阻(比如1K欧姆),这样能降低漏电到 NVCC_GPIO 的电压(以实测为准)。
  • 方法二: 选用不干扰 DCDC_PSWITCH 信号的 GPIO 组(对于 RT1060-EVKB,则是 GPIO_SD_B0_xx 引脚)进行连接。
  • 方法三: 将 RT1060-EVKB 板卡,改为外部 PMIC 供电,弃用主芯片内部 DCDC。

  至此,给i.MXRT1xxx系列GPIO提早供电会影响DCDC_PSWITCH上电时序导致内部DCDC启动失败便介绍完毕了,掌声在哪里~~~

欢迎订阅

文章会同时发布到我的 博客园主页CSDN主页知乎主页微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

痞子衡嵌入式:给i.MXRT1xxx系列GPIO提早供电会影响DCDC_PSWITCH上电时序导致内部DCDC启动失败的更多相关文章

  1. 痞子衡嵌入式:MCUBootUtility v3.5发布,支持串行NOR的ECC及双程序启动

    -- 痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v3.4.0)发布过去半年了,这一次痞子衡为大家带来了版本升级 v3.5.0,这个版本主要有几个非常重要的更新需要跟大家 ...

  2. 痞子衡嵌入式:i.MXRT中不支持DQS的FlexSPI引脚组连接Flash下载与启动注意事项

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT中不支持DQS的FlexSPI引脚组连接Flash下载与启动注意事项. 最近痞子衡在支持一个印度客户,这个客户项目主芯片选择 ...

  3. 痞子衡嵌入式:恩智浦LPC系列MCU开发那些事 - 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是恩智浦LPC系列微控制器相关知识. 恩智浦半导体最早于2003年便开始推出LPC系列MCU,但早期的产品LPC2000/3000系列属 ...

  4. 痞子衡嵌入式:系统时钟配置不当会导致i.MXRT1xxx系列下OTFAD加密启动失败

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是系统时钟配置不当会导致i.MXRT1xxx系列下OTFAD加密启动失败问题. 我们知道,i.MXRT1xxx家族早期型号(RT1050/ ...

  5. 痞子衡嵌入式:利用GPIO模块来测量i.MXRT1xxx的系统中断延迟时间

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1xxx的系统中断延迟时间. 在 <Cortex-M系统中断延迟及其测量方法简介> 一文里,痞子衡介绍了 Cor ...

  6. 痞子衡嵌入式:对比恩智浦全系列MCU(包含Kinetis/LPC/i.MXRT/MCX)的GPIO电平中断设计差异

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦全系列MCU(包含Kinetis, LPC, i.MXRT, MCX)的GPIO电平中断设计差异. 在痞子衡旧文 <以i.M ...

  7. 痞子衡嵌入式:利用i.MXRT1xxx系列ROM提供的FlexSPI driver API可轻松IAP

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT系列ROM中的FlexSPI驱动API实现IAP. 痞子衡的技术交流群里经常有群友提问: i.MXRT中的FlexSPI驱动 ...

  8. 痞子衡嵌入式:了解i.MXRTxxx系列ROM API及其与i.MXRT1xxx系列的差异

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRTxxx系列ROM API设计细节. 痞子衡之前写过两篇文章 <利用i.MXRT1xxx系列ROM提供的FlexSPI ...

  9. 痞子衡嵌入式:IVT里的不同entry设置可能会造成i.MXRT1xxx系列启动App后发生异常跑飞

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IVT里的不同entry设置可能会造成i.MXRT1xxx系列启动App后发生异常跑飞问题的分析解决经验. 事情缘起恩智浦官方论坛上的一 ...

  10. 痞子衡嵌入式:利用i.MXRT1xxx系列内部DCP引擎计算Hash值时需特别处理L1 D-Cache

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是利用i.MXRT1xxx系列内部DCP引擎计算Hash值时需特别处理L1 D-Cache. 关于i.MXRT1xxx系列内部通用数据协处 ...

随机推荐

  1. 前端学习 node 快速入门 系列 —— 项目版权格式化

    其他章节请看: 前端学习 node 快速入门 系列 项目版权格式化 需求 替换整个项目的版权信息,替换文件为 .c 和 .h 结尾. 分析 版权信息通常都在文件开头,通过是否有 copyright 来 ...

  2. 从 KeyStore 中获取 PublicKey 和 PrivateKey

    KeyStore(译:密钥存储库) 代表用于加密密钥和证书的存储设施. KeyStore 管理不同类型的 entry(译:条目).每种类型的 entry 都实现了 KeyStore.Entry 接口. ...

  3. 【Unity3D】UGUI之Button

    1 Button属性面板 ​ 在 Hierarchy 窗口右键,选择 UI 列表里的 Button 控件,即可创建 Button 控件,选中创建的 Button 控件,按键盘[T]键,可以调整 But ...

  4. CSS实现渐隐渐现效果

    CSS实现渐隐渐现效果 实现渐隐渐现效果是比较常见的一种交互方式,通常的做法是控制display属性值在none和其它值之间切换,虽说功能可以实现,但是效果略显生硬,所以会有这样的需求--希望元素消失 ...

  5. Laravel入坑指南(3)——模板

    各位小伙伴有缘聚到这里,说明对于Laravel的路由和控制器已经有点了解了. 会写业务逻辑之后,如何把结果漂亮地展示出来,就是我们要解决的问题.(前后端分离的同学,请自动忽略)在MVC的世界里,漂亮的 ...

  6. java 基础常见(上)

    title category tag head Java基础常见面试题总结(上) Java Java基础 keywords JVM,JDK,JRE,字节码详解,Java 基本数据类型,装箱和拆箱 de ...

  7. Java I/O 教程(一) 介绍

    Java I/O (Input and Output) 用于处理输入和输出 Java利用流的手段来加快I/O操作.java.io包中包含了各种支持输入输出操作的类.参考下图: 我们可以利用java i ...

  8. Flink本地模式安装和使用

    Flink官方主页:https://flink.apache.org/ . 安装部署 不同版本的Flink对JDK版本要求不尽相同,需要根据具体的Flink版本要求先安装好JDK环境. 通常,在Fli ...

  9. 文心一言 VS 讯飞星火 VS chatgpt (201)-- 算法导论15.2 6题

    六.用go语言,证明:对 n 个元素的表达式进行完全括号化,恰好需要 n-1 对括号. 文心一言,代码正常运行: 在Go语言中,证明对n个元素的表达式进行完全括号化恰好需要n-1对括号,可以通过数学归 ...

  10. [2023本地存储方案](https://www.cnblogs.com/fangchaoduan/p/17608006.html)

    2023本地存储方案 本地存储方案 cookie 本地存储:有期限的限制,可以自己设置过期期限.在期限内,不论页面刷新还是关闭,存储的信息都还会存在. localStorage 本地持久化存储:页面刷 ...