加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 一、快速?gòu)?fù)現(xiàn)問題
    • 二、內(nèi)部DCDC上電時(shí)序要求
    • 三、GPIO提早供電的影響
    • 四、多板卡連接的解決方案
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

GPIO先上電竟然會(huì)導(dǎo)致MCU啟動(dòng)失???

03/28 12:13
2808
閱讀需 9 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是i.MXRT1xxx系列GPIO提早供電會(huì)影響上電時(shí)序?qū)е聝?nèi)部DCDC啟動(dòng)失敗

最近有一個(gè) RW612 產(chǎn)品線的同事在設(shè)計(jì)一個(gè)雙 MCU 系統(tǒng) Demo 時(shí)發(fā)現(xiàn),當(dāng) RW612 板卡和 RT1060 板卡通過 UART 對(duì)接時(shí),如果 RW612 板卡提前上電,RT1060 板卡后上電,會(huì)導(dǎo)致 RT1060 程序無法正常啟動(dòng)。這其實(shí)是一個(gè) i.MX RT 系列上典型的上電時(shí)序問題,今天痞子衡就和大家聊聊這個(gè)話題:

    Note: 本文內(nèi)容以 i.MXRT1060 為例,但基本也適用其他 i.MXRT1xxx 系列。

一、快速?gòu)?fù)現(xiàn)問題

痞子衡同事在用兩塊 MCU 板卡(RW612+RT1060)對(duì)接時(shí)遇到了問題,想復(fù)現(xiàn)這個(gè)問題,其實(shí)沒有那么復(fù)雜,我們可以用一個(gè)USB轉(zhuǎn)串口模塊(3.3V)代替 RW612 來和 RT1060 的 ROM ISP UART 口連接:

痞子衡使用得這個(gè)USB轉(zhuǎn)串口模塊 TXD 和 RXD 驅(qū)動(dòng)能力不同,空載電壓測(cè)得均是 3.55V,但是和未上電的 RT1060-EVKB 板卡對(duì)接時(shí),電壓會(huì)有所下降,因此痞子衡測(cè)試了不同連接組合下的 RT1060 板卡上電啟動(dòng)結(jié)果:

USB轉(zhuǎn)串口模塊一直通電 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
程序啟動(dòng)結(jié)果
未接 未接 0 0 0 0 0 1.275V 啟動(dòng)成功
未接 0.83V 0.33V 0 0.33V 0.33V 0 1.275V 啟動(dòng)成功
2.22V 未接 1.42V 0 1.42V 1.42V 0 0 啟動(dòng)失敗
2.24V 1.79V 1.46V 0 1.46V 1.46V 0 0 啟動(dòng)失敗

從測(cè)試結(jié)果可以看到,RT1060 程序啟動(dòng)失敗的主要原因是板卡上電后,VDD_SOC_IN 上沒有電壓(即主芯片內(nèi)部 DCDC 沒有輸出)。

二、內(nèi)部DCDC上電時(shí)序要求

在分析啟動(dòng)失敗問題前,首先需要簡(jiǎn)單了解下 i.MXRT1xxx 芯片內(nèi)部的 DCDC 模塊。在一些成本敏感的應(yīng)用中,首推使用芯片內(nèi)部 DCDC 供電給內(nèi)核,因此 DCDC 模塊能否正常啟動(dòng)決定了內(nèi)核能否正常運(yùn)行。

恩智浦官網(wǎng)文檔 《i.MX RT Hardware Development Guide for the MIMXRT1050/MIMXRT1060 Processor》 里對(duì)上電時(shí)序做了如下嚴(yán)格規(guī)定,其中最常發(fā)生問題的地方就是有效 DCDC_PSWITCH 和 DCDC_IN 之間至少 1ms 的延時(shí)(以 DCDC_IN 穩(wěn)定在 3V 為時(shí)間起點(diǎn),以 DCDC_PSWITCH 上升到 1.5V 為時(shí)間終點(diǎn)),如果不滿足這個(gè) 1ms 延時(shí)要求,內(nèi)部 DCDC 模塊則可能會(huì)啟動(dòng)失敗,無法正常輸出電壓給內(nèi)核(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提早供電的影響

現(xiàn)在我們查看一下 RT1060-EVKB 原理圖設(shè)計(jì),外部電源輸入 DCDC_3V3 負(fù)責(zé)給 NVCC_GPIO/SD1/EMC 以及 DCDC_IN 供電,同時(shí) DCDC_IN 也經(jīng)過了一個(gè) RC 延時(shí)電路供電給 DCDC_PSWITCH,這是符合硬件設(shè)計(jì)要求的。

由于 RT1060 上 GPIO_AD_Bx 和 GPIO_Bx 兩組 PAD 供電均來自于 NVCC_GPIO,當(dāng)其中任何一個(gè) GPIO 有電壓時(shí),均可能會(huì)漏電到 NVCC_GPIO。因此我們提前將 USB 轉(zhuǎn)串口模塊通過 ROM ISP UART 連到板卡,即會(huì)漏電到了 NVCC_GPIO->DCDC_3V3->DCDC_IN->DCDC_PSWITCH,即相當(dāng)于給 DCDC_PSWITCH 的 RC 電路預(yù)充了一定電,等板卡正式上電,RC 電路升壓到 1.5V 的時(shí)間就會(huì)縮短。這也就是上個(gè)小節(jié)表格里為何 DCDC_PSWITCH 預(yù)充到 0.33V 時(shí)不影響上電時(shí)序,而預(yù)充到 1.42V 時(shí)就不行了,因?yàn)檠訒r(shí)小于 1ms 了。

根據(jù) RT1060-EVKB 這樣的電源電路設(shè)計(jì),不僅僅 ROM ISP UART 兩個(gè)引腳提前上電會(huì)影響芯片啟動(dòng),屬于 NVCC_GPIO/SD1/EMC 供電下的任何一個(gè) GPIO 提前上電都會(huì)產(chǎn)生相同的效果。但是 NVCC_SD0 供電下的 GPIO 則不會(huì)影響啟動(dòng),因?yàn)樗谧呔€上和 DCDC_PSWITCH 之間沒有連接。

四、多板卡連接的解決方案

現(xiàn)在我們知道了問題產(chǎn)生的原因,以后遇到此類問題,第一時(shí)間先去測(cè)量 i.MXRT1xxx 內(nèi)部 DCDC 輸出(DCDC_LP)的電壓(如果為 0,則一定是上電時(shí)序問題)。那該如何規(guī)避問題呢?以與 RT1060-EVKB 連接為例則有如下三個(gè)方法:

    方法一: 兩個(gè)板卡之間用 UART 信號(hào)連接時(shí)串上隔離電阻(比如1K歐姆),這樣能降低漏電到 NVCC_GPIO 的電壓(以實(shí)測(cè)為準(zhǔn))。
    方法二: 選用不干擾 DCDC_PSWITCH 信號(hào)的 GPIO 組(對(duì)于 RT1060-EVKB,則是 GPIO_SD_B0_xx 引腳)進(jìn)行連接。
    方法三: 將 RT1060-EVKB 板卡,改為外部 PMIC 供電,棄用主芯片內(nèi)部 DCDC。

至此,i.MXRT1xxx系列GPIO提早供電會(huì)影響上電時(shí)序?qū)е聝?nèi)部DCDC啟動(dòng)失敗便介紹完畢了,掌聲在哪里~~~

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
LAN8710AI-EZK-ABC 1 Microchip Technology Inc Ethernet Transceiver

ECAD模型

下載ECAD模型
$1.54 查看
DS2431P+ 1 Maxim Integrated Products EEPROM, 1KX1, Serial, CMOS, PDSO6, ROHS COMPLIANT, TSOC-6
$5.42 查看
HFBR-1528Z 1 Foxconn Transmitter, 635nm Min, 622nm Max, 10Mbps, Through Hole Mount, ROHS COMPLIANT PACKAGE
$19.34 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

碩士畢業(yè)于蘇州大學(xué)電子信息學(xué)院,目前就職于恩智浦(NXP)半導(dǎo)體MCU系統(tǒng)部門,擔(dān)任嵌入式系統(tǒng)應(yīng)用工程師。痞子衡會(huì)定期分享嵌入式相關(guān)文章