色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MIMXRT1172 SNVS模式Wakeup喚醒

li1756686189 ? 來(lái)源:嵌入式 MCU ? 2023-03-31 09:32 ? 次閱讀

802f49be-cf11-11ed-bfe3-dac502259ad0.png

80527b1e-cf11-11ed-bfe3-dac502259ad0.png

80763306-cf11-11ed-bfe3-dac502259ad0.png

當(dāng) I.MXRT1170進(jìn)入 SNVS模式,所有的電源域除了 SNVS域以外都會(huì)關(guān)閉,功耗最低達(dá)到uA級(jí),這意味著 ROM將會(huì)在喚醒后運(yùn)行。ROM會(huì)使用SPI模式讀命令,Octal Flash會(huì)在 OCR(Octal讀)模式。在進(jìn)入 SNVS模式前復(fù)位 Octal Flash芯片,或者將設(shè)置 RT1170進(jìn)入SNVS模式的代碼放在RAM中運(yùn)行,使用 POR引腳作為復(fù)位信號(hào)復(fù)位 Octal Flash,使用BOOT ROM 去復(fù)位 Octal Flash。

809d2f42-cf11-11ed-bfe3-dac502259ad0.png

80c064ee-cf11-11ed-bfe3-dac502259ad0.png

80e42488-cf11-11ed-bfe3-dac502259ad0.png

WAKEUP引腳默認(rèn)內(nèi)部是輸入上拉的,大約在 35k左右。

80fd1f24-cf11-11ed-bfe3-dac502259ad0.png

811b9ea4-cf11-11ed-bfe3-dac502259ad0.png

喚醒引腳是一個(gè) GPIO,由 SNVS 電源域供電配置為喚醒源。喚醒引腳會(huì)將 PMIC_ON_REQ為高電平,請(qǐng)求主SOC上電以退出SNVS模式。

813bfff0-cf11-11ed-bfe3-dac502259ad0.png

請(qǐng)求主SoC電源狀態(tài)改變的硬件ON/OFF按鈕輸入信號(hào)。在OFF模式下與GND的短暫連接會(huì)導(dǎo)致內(nèi)部電源管理狀態(tài)機(jī)將狀態(tài)更改為ON。在ON模式下,與GND短暫連接會(huì)產(chǎn)生中斷(與GND大約5秒或更長(zhǎng)時(shí)間)會(huì)導(dǎo)致強(qiáng)制OFF。

喚醒引腳會(huì)將PMIC_ON_REQ 設(shè)置為高,而不是翻轉(zhuǎn)。

815857f4-cf11-11ed-bfe3-dac502259ad0.png

此外除了 GPIO喚醒外,也可以通過內(nèi)部 RTC喚醒,相關(guān)參考代碼如下。

#include "fsl_device_registers.h"

#include "fsl_debug_console.h"

#include "pin_mux.h"

#include "clock_config.h"

#include "board.h"

#include "fsl_snvs_hp.h"

void GPC_EnableWakeupSource(uint32_t irq)

{

GPC_CM_EnableIrqWakeup(GPC_CPU_MODE_CTRL_0, irq, true);

}

void gpc_configure_lprtc_wakeup(uint32_t time_length){

SNVS->LPCR &= ~SNVS_LPCR_SRTC_ENV_MASK;

while ((SNVS->LPCR & SNVS_LPCR_SRTC_ENV_MASK))

{ }

/* 禁止 SRTC 告警中斷*/

SNVS->LPCR &= ~SNVS_LPCR_LPTA_EN_MASK;

while ((SNVS->LPCR & SNVS_LPCR_LPTA_EN_MASK))

{}

SNVS->LPSRTCMR = 0x00;

SNVS->LPSRTCLR = 0x00;

SNVS->LPTAR = time_length;

EnableIRQ(SNVS_HP_NON_TZ_IRQn);

SNVS->LPCR |= SNVS_LPCR_SRTC_ENV_MASK | SNVS_LPCR_LPTA_EN_MASK;

while (!(SNVS->LPCR & SNVS_LPCR_LPTA_EN_MASK))

{ } /* 使能 GPC 中斷*/

GPC_EnableWakeupSource(SNVS_HP_NON_TZ_IRQn);

}

void SNVS_HP_NON_TZ_IRQHandler(void)

{

// if (SNVS_HP_RTC_GetStatusFlags(SNVS) & kSNVS_RTC_AlarmInterruptFlag)

// {

// SNVS_HP_RTC_ClearStatusFlags(SNVS, kSNVS_RTC_AlarmInterruptFlag);

// }

//

// SNVS_HP_RTC_GetEnabledInterrupts(SNVS);

//SNVS->LPSR &= ~(1<<30);

SNVS->LPSR |= 0x1;

SDK_ISR_EXIT_BARRIER;

}

int main(void)

{

char ch;

BOARD_ConfigMPU();

BOARD_InitPins();

BOARD_BootClockRUN();

BOARD_InitDebugConsole();

PRINTF("hello world. ");

GETCHAR();

gpc_configure_lprtc_wakeup(5);

SNVS->LPCR |= SNVS_LPCR_TOP_MASK;

while(1);

}

SNVS喚醒源可以是:GPIO喚醒引腳;RTC喚醒;POR。通常,使用SRC->SRSR[ipp_reset_b]來(lái)檢測(cè)POR復(fù)位。但測(cè)試后,即使使用WAKEUP引腳退出SNVS模式,SRC->SRSR[ipp_reset_b]仍為1,與退出SNVS方式的按鍵復(fù)位相同。那么,在退出SNVS模式后,有其他方法可以檢測(cè)細(xì)節(jié)喚醒源嗎?主要需要知道從SNVS低功耗模式喚醒,而不僅僅是從電源POR喚醒。

從SOC的角度來(lái)看,POR或SNVS喚醒復(fù)位相同。因此,無(wú)論P(yáng)OR或使用WAKEUP引腳退出SNVS模式,SRC->SRSR[ipp_reset_b]始終為1。一種可以知道從SNVS或POR喚醒的解決方案是使用SNVS_LP GPR寄存器作為標(biāo)志。例如:

1.將1寫入LPGPR0;2.SOC進(jìn)入SNVS低功耗模式;3.當(dāng)SOC啟動(dòng)時(shí),讀取LPGPR0。4.如果LPGPR0=0,則為POR。如果LPGPR0=1,則從SNVS低功耗模式喚醒。

操作方法如下:通過SNVS LP控制寄存器中的GPR_Z_DIS位禁用GPR歸零。使用SNVS->LPCR |= 1<<24;操作代碼。如果不執(zhí)行這個(gè)代碼,直接寫入 LPGPR寄存器是無(wú)效的。

818f6ece-cf11-11ed-bfe3-dac502259ad0.png

81bd212a-cf11-11ed-bfe3-dac502259ad0.png

81f5052c-cf11-11ed-bfe3-dac502259ad0.png

從 SNVS喚醒到 PMIC_ON_REQ輸出大約是 0.1ms的時(shí)間,如下圖所示。對(duì)于用戶來(lái)說(shuō),需要考慮PMIC_ON_REQ 到外部電源之間的時(shí)間間隔,上電順序的時(shí)間間隔這取決于外部電路,尤其是復(fù)位IC。

823861d2-cf11-11ed-bfe3-dac502259ad0.png

2) PMIC_ON_REQ 輸出使能外部的電源,這個(gè)時(shí)間間隔取決于外部電路,對(duì)于EVK來(lái)說(shuō)大約需要40ms。

8257e26e-cf11-11ed-bfe3-dac502259ad0.png

通電后,關(guān)于上電順序的時(shí)間間隔大約是SOC復(fù)位到第一個(gè)MCU指令,大約為8ms。82796e20-cf11-11ed-bfe3-dac502259ad0.png

從喚醒按鍵釋放到處理器 MCU 執(zhí)行指令大約需要260或270毫秒!這是因?yàn)殚_發(fā)板外部復(fù)位電路給了非常充裕的時(shí)間來(lái)釋放復(fù)位。

1)外部GPIO輸入觸發(fā)和PMIC_ON_REQ輸出

例如,這將使PMIC使能信號(hào)上升。從SNVS喚醒引腳輸入到PMIC_ON_REQ輸出大約需要0.1ms。

2) 電源上電(取決于系統(tǒng))

2.1 ) PMIC_ON_REQ 輸出以啟用外部加電.

例如,PMIC啟用DCDC_3v3。這可能需要一些時(shí)間,從6毫秒(測(cè)量值)到40毫秒。

2.2 ) 復(fù)位釋放

在EVK中,復(fù)位監(jiān)控IC將等待大量時(shí)間來(lái)解除MCU復(fù)位。例如,260ms。該延遲是確保所有電源域已經(jīng)達(dá)到穩(wěn)定的最安全裕度。

3) 復(fù)位后的MCU引導(dǎo)時(shí)間

這將需要 6~7ms(考慮到在GPIO切換之前一直在測(cè)量,測(cè)量時(shí)間為9ms)。希望在20毫秒動(dòng)力CAN或者 100毫秒車身CAN 要求更短的時(shí)間內(nèi)從SNVS中喚醒并執(zhí)行代碼。應(yīng)該注意電源上電序列!例如,確保調(diào)整外部復(fù)位電路復(fù)位的時(shí)間。此外,與其他電源模式相比,SNVS不會(huì)占用最大的延遲。MCU 將簡(jiǎn)單地從復(fù)位中恢復(fù)!會(huì)發(fā)現(xiàn)系統(tǒng)可能需要更長(zhǎng)的恢復(fù)時(shí)間,但這是因?yàn)橥獠侩娫丛俅瓮姡ò◤?fù)位)。

82a14a8a-cf11-11ed-bfe3-dac502259ad0.png

對(duì)于wakeup喚醒電平要求:

82c6dfe8-cf11-11ed-bfe3-dac502259ad0.png

支持低電平,高電平,上升沿,下降沿喚醒。

82fc90fc-cf11-11ed-bfe3-dac502259ad0.png

當(dāng)器件從SNVS模式喚醒時(shí),用戶可以知道系統(tǒng)從SNVS方式恢復(fù)的另外一種方法。試圖檢查SRC和SRSR,但找不到任何適合此要求的標(biāo)志。使用SNVS-GPR32,當(dāng)發(fā)生篡改事件時(shí)不會(huì)清除。還有一個(gè)鎖定位控制,可以用來(lái)阻止位修改,直到重新上電。

832b60e4-cf11-11ed-bfe3-dac502259ad0.png

RT1170在內(nèi)部處理上電序列,LPSR LDO將在開啟DCDC之前啟用。LPSR_1P0必須在DCDC啟用之前通電,喚醒流程將在內(nèi)部處理此問題。(LPSR_1P0是LDO,而不是DCDC,VCC_SOC和VDDA_1V8)。

835080c2-cf11-11ed-bfe3-dac502259ad0.png

如果有喚醒異常的情況,比如VDD_SOC_IN電壓一直為0的情況,這時(shí)需要檢查 DCDC_PSWITCH的電壓是否有從低到高變化的過程。與EVK相同的原始硬件:30k上拉電阻+0.22uF對(duì)地電容:如果3.3V系統(tǒng)電壓沒有降至0并立即通電,則無(wú)法產(chǎn)生1.1V內(nèi)核電壓。將30k電阻更改為130k,然后在這種情況下,1.1V內(nèi)核電壓正確啟動(dòng)。如果在某些情況下,3.3V系統(tǒng)電壓不能從0V通電,例如從2V通電,那么RC延遲時(shí)間的要求是什么?

83722a92-cf11-11ed-bfe3-dac502259ad0.png????從DCDC_IN 穩(wěn)定在 3V時(shí)到 DCDC-PSWITCH達(dá)到 0.5*DCDC_IN(1.5v)的延遲必須至少為1ms。如果 DCDC_IN電壓短時(shí)下降,該電壓不會(huì)降至0(例如僅降至2V),并立即升到3.3V,內(nèi)部1.1V內(nèi)核電壓降至0,并且由于PSWITCH沒有從0開始上升,而導(dǎo)致內(nèi)核電壓不會(huì)再次產(chǎn)生。這種情況在應(yīng)用中是可能的,如何確保PSWITCH RC延遲時(shí)間?這個(gè)問題是由RC電路沒有完全放電引起的,電源關(guān)閉,RC電路放電到低電平也需要時(shí)間,所以要使其工作,可以檢測(cè)PSWITCH,確保它是0V,然后再通一次電源,它應(yīng)該工作。在電壓驟降的情況下,3.3V DCDC_IN到DCDC-PSWITCH之間的1ms延遲達(dá)到0.5*DCDC_IN(1.5v)就不能保證,因?yàn)?.3V DCDC _IN可能在任何電壓下下降(例如>1.5v)并立即啟動(dòng)(這可能發(fā)生在工業(yè)現(xiàn)場(chǎng))。

83afffac-cf11-11ed-bfe3-dac502259ad0.png

解答:上電復(fù)位,在任何條件下,都需要確保 DCDC_PSWITCH 引腳在上電前低于0.5 V。建議使用RC延遲電路來(lái)提供DCDC_IN 穩(wěn)定和DCDC_PSWITCH之間的延遲,總 RC延遲應(yīng)為5-40毫秒。

?DCDC_IN必須在0.3 x RC時(shí)間范圍內(nèi)達(dá)到最低3.0 V。

?從DCDC_IN穩(wěn)定在3.0 V (最小電壓)到DCDC_PSWITCH達(dá)到0.5 x DCDC_IN(1.5 V)的延遲必須至少為1 ms。DCDC_PSWITCH延遲超過1ms以打開內(nèi)部DCDC。

?其他電源域的加電轉(zhuǎn)換速率規(guī)格為360V/s–36KV/s。

83d9a686-cf11-11ed-bfe3-dac502259ad0.png

8402730e-cf11-11ed-bfe3-dac502259ad0.png

8485c722-cf11-11ed-bfe3-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1642

    瀏覽量

    148437
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4199

    瀏覽量

    218800
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1721

    瀏覽量

    91955
  • 引腳
    +關(guān)注

    關(guān)注

    16

    文章

    1219

    瀏覽量

    50783
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1216

    瀏覽量

    52280

原文標(biāo)題:MIMXRT1172 SNVS模式Wakeup喚醒

文章出處:【微信號(hào):嵌入式 MCU,微信公眾號(hào):嵌入式 MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32L431RCT6關(guān)機(jī)模式使用Wakeup喚醒遇到的疑問求解

    關(guān)機(jī)模式WAKEUP喚醒,根據(jù)官方例程序。(所有資料都是配置的PA0)。 代碼如下: GPIO_InitStruct.Pin = EXTI0_Pin|EXTI2_Pin;//PA0
    發(fā)表于 07-03 07:11

    wince掛起和喚醒(suspend/wakeup)

    r4-r12,lr到堆棧6. 保存wakeup后的地址,MMU寄存器,進(jìn)入各模式將sp和lr寄存器保存到內(nèi)存RAM的某一個(gè)位置,這個(gè)位置是由config.bib指定保留的.為什么不象之前一樣保存到堆棧呢
    發(fā)表于 12-02 17:30

    aducm360用wakeup timer喚醒CPU功耗增大

    如上。因?yàn)槭窍虢档凸模胱宑pu進(jìn)入低功耗模式,然后用wakeup timer 喚醒cpu。在程序中未加入喚醒定時(shí)器這部分程序時(shí),cpu工作在模式
    發(fā)表于 02-21 13:53

    如何用WAKEUP喚醒例程?

    您好,我看到csl3.07里面的power例程都是用alarm喚醒的,我想問下如何用WAKEUP喚醒或者有沒有響應(yīng)的例程。我今天嘗試將WU_DIR設(shè)置成OUT,但是感覺好像沒有起作用。多謝!
    發(fā)表于 10-24 10:14

    STM32CubeMx配置wakeup喚醒低功耗

    任務(wù)目標(biāo)配置wakeup喚醒低功耗,上電燈亮5秒后關(guān)閉,進(jìn)入低功耗模式;若未進(jìn)入低功耗則會(huì)燈閃爍;當(dāng)按下wakeup喚醒MCU。CubeM
    發(fā)表于 08-16 08:38

    stm32的引腳wakeup有什么作用

    stm32的引腳wakeup有什么作用?喚醒MCU,比如當(dāng)MCU在低功耗狀態(tài)下或者休眠之類的狀態(tài)下,通過引腳的Wakeup功能可以將MCU喚醒,讓MCU進(jìn)入正常的工作狀態(tài)。低功耗
    發(fā)表于 08-16 08:15

    采用RTC WakeUP的方式對(duì)STM32F4xx StandBy模式進(jìn)行喚醒

    采用 RTC WakeUP 的方式進(jìn)行喚醒。1 STM32F4xx 待機(jī)模式介紹??STM32F4xx 待機(jī)模式的各種特性如下所示。在待機(jī)模式
    發(fā)表于 06-13 14:44

    RTC Wakeup為什么不從睡眠模式喚醒系統(tǒng)STM32L431?

    您好,我正在使用 RTC 喚醒在系統(tǒng)處于睡眠模式時(shí)定期啟動(dòng) WDG。我設(shè)置了 RTC 喚醒如下:/* RTC init function */void MX_RTC_Init(void
    發(fā)表于 12-13 08:27

    如何查詢iMXRT1172 SNVS bank -ON/OFF管腳功能?

    我們?cè)谄渲幸粋€(gè)電池應(yīng)用項(xiàng)目中使用了 iMXRT1172。在我將 iMXRT1172 置于 SNVS 模式的項(xiàng)目中,我們使用 ONOFF 引腳(球號(hào):U10) 我們只想知道 ONOFF
    發(fā)表于 03-21 07:06

    如何在MIMXRT1172上實(shí)現(xiàn)winUSB設(shè)備驅(qū)動(dòng)程序?

    我想在 MIMXRT1172 上實(shí)現(xiàn) winUSB 設(shè)備驅(qū)動(dòng)程序。目前正在做例程cdc_vcom_freertos,PC可以枚舉MIMXRT1172作為winUSB設(shè)備,但是只能接收數(shù)據(jù),不能發(fā)送數(shù)據(jù)。每次發(fā)送返回的狀態(tài)都是忙(kStatus_USB_Busy)。
    發(fā)表于 03-23 09:15

    當(dāng)VDD_SNVS使用備用電源時(shí),IC不工作的原因?

    我有一個(gè)使用 MIMXRT1171 IC 的定制板。該系統(tǒng)使用 12V 電源供電,該電源為設(shè)備上的域提供其他電源,包括用于 MIMXRT1171 的 3V3,以及為 SNVS 備份域供電的紐扣電池
    發(fā)表于 05-04 07:14

    MIMXRT1051CVL5B MCU不喚醒的原因?

    我們的設(shè)計(jì)中有 MIMXRT1051CVL5B。 MCU SNVS 和 3.3V 軌在要求的范圍內(nèi),時(shí)鐘正常,但是當(dāng)我們將 USB 主機(jī)連接到 J16 連接器或?qū)?NXP 調(diào)試器連接到 J3 時(shí),我們看不到連接的設(shè)備(在軟件或設(shè)備管理器上)連接器。
    發(fā)表于 05-05 09:16

    DC1172A-模式

    DC1172A-模式
    發(fā)表于 04-20 19:29 ?0次下載
    DC<b class='flag-5'>1172</b>A-<b class='flag-5'>模式</b>

    STM32CubeMx配置WKUP(PA0)按鍵低功耗喚醒進(jìn)入正常模式

    stm32的引腳wakeup有什么作用?喚醒MCU,比如當(dāng)MCU在低功耗狀態(tài)下或者休眠之類的狀態(tài)下,通過引腳的Wakeup功能可以將MCU喚醒,讓MCU進(jìn)入正常的工作狀態(tài)。低功耗
    發(fā)表于 12-07 20:21 ?21次下載
    STM32CubeMx配置WKUP(PA0)按鍵低功耗<b class='flag-5'>喚醒</b>進(jìn)入正常<b class='flag-5'>模式</b>

    Wakeup events framework同步問題

    Wakeup events framework 系統(tǒng)處于 suspend 狀態(tài),可通過 wakeup events 喚醒。具體的 wakeup events 可以是按鍵按下,可以是充電
    的頭像 發(fā)表于 09-11 16:17 ?523次閱讀
    主站蜘蛛池模板: 成年人免费观看的视频 | 超碰97超碰在线视频哦 | 国产在线精品亚洲第1页 | 久久久久青草大香线综合精品 | jizz日本美女 | 性夜影院午夜看片 | 国产AV国片精品无套内谢无码 | 花蝴蝶高清观看免费 | 纯肉高H种马艳遇风流多 | 别插我B嗯啊视频免费 | 99精品视频在线观看免费播放 | 久久草福利自拍视频在线观看 | 色婷婷综合久久久中文字幕 | 九九久久精品国产 | 日日摸天天添天天添无码蜜臀 | 午夜在线观看免费观看 视频 | 囯产精品一品二区三区 | 受坐在攻腿上H道具PLAY | 99RE6这里只有精品国产AV | 99re.05久久热最新地址 | 国产成人精品自拍 | 日本熟妇乱人伦A片精品软件 | 国产成人综合95精品视频免费 | 新图解av吧| 337p啪啪人体大胆 | 欧美精品一卡二卡 | 伊人久久综在合线影院 | 亚洲 日韩经典 中文字幕 | 扒开屁股眼往里面夹东西 | 国产欧美亚洲综合第一页 | 欧美日韩北条麻妃一区二区 | 国产成人精选免费视频 | 俄罗斯女肥臀大屁BBW | 久久 这里只精品 免费 | 三级黄在线 | 无码人妻精品一区二区蜜桃色 | 国产剧情在线精品视频不卡 | 第一次处破女18分钟免费 | 小黄文污到你湿 | 囯产精品久久久久久久久免费蜜桃 | 久久6699精品国产人妻 |