Logo NXPAN13951
Ottimizza u cunsumu di energia per i.MX 8ULP

NXP AN13951 Ottimizza u Cunsumu di Energia per i MX 8ULP - Image FeaturedRev. 0 - 30 May 2023
Nota di l'applicazione

AN13951 Optimizing Power Consumption per i.MX 8ULP

Document Information

infurmazione Cuntinutu
Parole chjave AN13951, i.MX 8ULP, architettura di energia, cunsumu di energia, ottimisazione di u software
Astrattu Questa nota di l'applicazione descrive cumu ottimisà u cunsumu di energia à u livellu di u sistema in parechji
scenari tipici cù diverse cumminazzioni di duminiu.

Introduzione

A famiglia di processori i.MX 8ULP presenta l'implementazione avanzata NXP di i core duali Arm Cortex-A35 à fiancu à un Arm Cortex-M33. Questa architettura cumminata permette à u dispusitivu di eseguisce sistemi operativi ricchi, cum'è Linux, nantu à u core Cortex-A35 è un RTOS, cum'è FreeRTOS, in u core Cortex-M33. Include ancu un Fusion DSP per l'audio di bassa putenza è un HiFi4 DSP per l'audio avanzatu è l'applicazioni di apprendimentu machine. Hè destinatu à casi è prudutti d'usu di bassa putenza è ultra-bassa putenza.
L'i.MX 8ULP hà un disignu cumplessu è avanzatu per copre diversi casi d'usu, chì dividenu SoC in trè duminii cù cuntrolli indipendenti è dedicati di putere è clock. Questu furnisce flessibilità per l'utilizatori per implementà diversi casi d'usu cumminendu diversi domini. Questa nota di l'applicazione intende descriverà cumu ottimisà u cunsumu di energia à u livellu di u sistema in parechji scenarii tipici cù diverse cumminazzioni di domini.
Nota: Questa nota di l'applicazione usa Linux è codice SDK di BSP cum'è riferimenti è examples.

Overview

L'i.MX 8ULP SoC hà trè duminii separati: u processatore di l'applicazione (AP), l'audio video di bassa putenza (LPAV) è i domini in tempu reale (RT). I cuntrolli di putenza è clock di sti domini sò separati, è u tissu di bus di ogni duminiu hè strettamente integratu per una cumunicazione efficiente.
U duminiu di l'applicazione (APD) hè utilizatu per l'informatica d'altu rendiment chì utilizanu core duali A35 è I / O d'alta veloce cum'è USB / Ethernet / eMMC. U duminiu LPAV (LPAVD) hè per l'applicazioni multimediali cumpresi audio, video, grafica è display chì necessitanu un altu rendiment è una grande memoria DDR. U duminiu in tempu reale (RTD) include un core M33 di bassa latenza, un picculu Fusion DSP per l'elaborazione di l'audio / voce, uPower per u cuntrollu tutale di u statutu di putenza SoC, è Sentinel per u cuntrollu di sicurità.
Figura 1. Domini i.MX8ULP

NXP AN13951 Ottimizza u cunsumu di energia per i MX 8ULP - Overview2.1 Architettura di putenza
Diversi duminii anu alimentazione separata (rail d'energia). Figura 2 mostra schema di putenza i.MX 8ULP. Ci sò 18 x interruttori di putenza (PS) per i moduli IP interni SoC. Questi moduli ponu esse attivati ​​/ disattivati ​​da u software, attraversu uPower FW API, per un cuntrollu precisu di putenza.
uPower hè un controller di putenza centrale in i.MX 8ULP. U firmware chì funziona nantu à uPower furnisce e seguenti caratteristiche:

  • Controller di transizione di u modu di putenza.
  • Misuratore di putenza per a misurazione di u cunsumu di domini di putenza di u dispositivu.
  • Sensore di temperatura per a misura di a temperatura di u dispusitivu.
  • Unità di messageria per a cumunicazione cù processori in chip.
  • I2C per a cumunicazione cù PMIC.

L'entrata / l'uscita di i modi di bassa putenza hè fatta chjamendu uPower FW API in u software APD o RTD. Per cunfigurà u PMIC cum'è paràmetru, l'output rail power voltage, limitazione, etc. deve esse fattu chjamendu uPower FW I2C o API PMIC.
Figura 2. Architettura di putenza

NXP AN13951 Ottimizza u cunsumu di energia per i MX 8ULP - Architettura di energia2.2 Modi di putenza
Tabella 1 mostra a cumminazione di modi di putenza CA35 è CM33 dispunibili. U SoC ùn sustene micca alcune di e cumminazzioni. Per più dettagli nantu à ogni modu di putenza, riferite à u capitulu "Gestione di l'energia" in u Manuale di Riferimentu di Processore i.MX 8ULP (documentu i.MX8ULPRM).
Table 1. Modi di putenza i.MX8ULP

CA35 CM33
Attivu Dormi Sonnu prufondu Power down Prufonda putenza
Attivu SI Scenariu #1 SI Scenariu #3 SI Scenariu #3 INNÒ INNÒ
Parziale attivu* INNÒ INNÒ
Dormi INNÒ INNÒ
sonnu prufondu* INNÒ INNÒ
Power down
Scenariu #2/4

Scenariu #2

Scenariu #2

Scenariu #2
Prufonda putenza 

* Linux ùn sustene micca u sonnu profondu o u modu attivu parziale per A35.
Tabella 2 mappe l'infrastruttura di energia di u kernel Linux à i modi di putenza 8ULP.

Table 2. Linux BSP supportatu modi di putenza

putenza Linux 8 modi di putenza ULP
Corri Attivu
CPU inattivu Dormi
Esse prontu à N/A
Suspende Power down
Power off Prufonda putenza

Sicondu diversi casi d'usu è scenarii, l'utilizatore pò sceglie unu o dui o tutti i trè domini in casi maiò. Questi casi d'usu / scenarii ponu esse messi in quattru categurie seguenti:

  1. Tutti i domini attivi - cum'è smart watch attivu.
  2. U duminiu RTD usa solu - cum'è u centru di u sensoru è a rilevazione di keyword wake-up di voce in putenza assai bassa.
  3. APD attivu cù LPAV - cum'è a navigazione di carte è a paginazione E-Reader.
  4. RTD attivu cù LPAV - cum'è a visualizazione di bassa putenza è u processu audio Hi-Fi.

Questi quattru scenarii sò stati marcati Tabella 1. I capituli seguenti descrizanu cumu ottimisà u cunsumu di energia per u scenariu 2, 3 è 4. L'ottimisazioni di u putere attivu di tutti i domini ponu sfruttà i cunsiglii da altri scenarii.

2.3 Modi di guida
SoC pò supportà diversi modi di guida: over drive (OD), drive nominale (ND), è under drive (UD), chì significa chì SoC pò eseguisce sottu diverse core vol.tages cù bus currispondente è frequenza IP. L'utilizatori ponu selezziunà u modu di guida ghjusta per i so casi d'usu è u requisitu di putere.
Default BSP boot up the SoC mettendu APD / LPAV in modu OD è RTD in modu ND. L'utilizatori ponu cunfigurà U-Boot è carica l'arburu di u dispositivu di u kernel specificu files per u modu ND. U duminiu RTD supporta solu UD.
Tabella 3 elenca alcuni orologi IP chjave in diverse modi.

Table 3. Chjave IP orologi sottu diverse modi

Nome di u clock Over Drive (1.1 V) Frequenza (MHz) Frequenza nominale (1.0 V) (MHz)
CM33_BUSCLK 108 65
DSP_CORECLK 200 150
FlexSPI0/1 400 150
NIC_AP_CLK 460 241
NIC_PER_CLK 244 148
uSDHC0 397 200
uSDHC1 (PTE/F) 200 100
uSDHC2 (PTF) 200 100
HIFI4_CLK 594 263
NIC_LPAV_AXI_CLK 316.8 200
NIC_LPAV_AHB_CLK 158.4 100
DDR_CLK 266 200
DDR_PHY 528 400
GPU3D/2D 316.8 200
DCNano 105 75

Per più clock, fate riferimentu à a tavola di frequenze di clock in u Processor d'Applicazioni i.MX 8ULP - Prodotti Industriali (document IMX8ULPIEC).

U duminiu RTD solu

Cunsiderate SDK Power_mode_switch demo cum'è example furnitu cù u software i.MX 8ULP SDK liberazione.
In questu scenariu, i duminii AP è LPAV sò in u modu di putenza o in modu profondu di Power-down, è u core M33 o resettate ponu svegliate. U duminiu RTD pò esse sia attivu, dorme, sonnu prufondu, o modalità Power-down secondu u cunsumu di energia è i bisogni di u tempu di sveglia.
Figura 3 è Figura 4 mostra u cunsumu di energia è u tempu di sveglia per ogni modu di bassa putenza.

Figura 3. Cunsumu d'energia in diversi modi di putenza

NXP AN13951 Ottimizza u cunsumu di energia per i MX 8ULP - modi di putenzaFigura 4. System wake-up time in different modes power

NXP AN13951 Ottimizza u cunsumu di energia per i MX 8ULP - diversi modi di putenza3.1 Selezziunà u modu dritta bassa putenza
L'utilizatore deve selezziunà unu o più modi di risparmiu di energia à bassa putenza ghjustu secondu u requisitu. E seguenti considerazioni deve esse pigliatu:

  • Cunsiderate u cunsumu di energia SoC, PD < 300 µW, sonnu profondu < 1 mW, sonnu < 50 mW
  • Cunsiderate l'ora di sveglia da i modi di bassa putenza, PD > 400 µs, sonnu profondu > 60 µs, sonnu > 10 µs
  • Cunsiderate l'IPs utilizati in i modi di putenza più bassu, riferendu Tabella 4.
    Per esampLe:
    1. Sè LPI2C [3] deve esse funziunamentu funziunamentu o Async, ma micca CG / PG, aduprà u modu Sleep.
    2. Se FlexSPI hè necessariu per esse funziunale, u modu di putenza più bassu hè u sonnu senza sistema / bus clock gated.

Table 4. Dettagli di u modu di putenza (dominu in tempu reale)

Moduli Modi di putenza Attivu Dormi Sonnu prufondu Power down putenza prufonda
giù
U duminiu di u putere di u statu Core supply = ON, Bias = AFBB e DVS, System/Bus clock = ON, I/O supply = ON Core supply = ON, Bias = AFBB o ARBB, Voltage = fixe, System/Bus clock = ON (optional), I/O supply = ON Core supply = ON, Bias = RBB Voltage/ Bias = prog, System/Bus clock = OFF, I/ 0 supply = ON Core supply = ON (Mem solu), Bias = RBB, Voltage/ Bias = prog, System/Bus clock = OFF, I/ 0 supply = ON (opzionale) Alimentazione di core = OFF, Bias = RBB, Voltage/ Bias = prog, System/Bus clock = OFF, I/ 0 supply = ON (opzionale)
CCGO RTD Funziunale Funziunale Funziunale (Limitatu) PG PG
PLLO PLL LDO Funziunale Funziunale CG PG PG
PLL1 (Audio) PLL LDO Funziunale Funziunale CG PG PG
LPO (1 MHz) RTD Funziunale Funziunale Funziunale PG PG
SYSOSC RTD Funziunale Funziunale Funziunale PG PG

Per più ditaglii, riferite à u capitulu "Dettagli di u modu di potenza (domain in tempu reale)" in u Manuale di Riferimentu di Processori i.MX 8ULP (documentu i.MX8ULPRM).
Cunsiderate u casu d'usu di sveglia di voce di bassa putenza cum'è example. U modu di putenza più bassu chì un utilizatore pò selezziunate hè u sonnu prufondu. U mic-phone IP (MICFIL) pò travaglià in u sonnu prufondu cù u clock FRO, chì ùn hè micca operabile in u modu Power-down.

3.2 Aduprate l'orologi adattati
U duminiu RTD hà parechje fonti di clock, cum'è mostra in Figura 5: SYSOSC, FRO, LPO, PLL0 (sistema PLL (SPLL)), è PLL1 (audio PLL (APLL)). Intantu, u duminiu RTD pò ancu aduprà u duminiu VBAT RTC32K / 1K clock.

Figura 5. Diagramma di clock RTD CGC0

NXP AN13951 Optimizing Power Consumption for i MX 8ULP - diagramma

  • A fonte di clock SYSOSC hè da un cristallu esternu à bordu, normale 24 MHz. A fonte PLL0/1 è u core/bus CM33 ponu utilizà a fonte di clock SYSOSC.
  • U FRO hè un oscillatore in esecuzione libera cù un sintonizzatore, chì pò pruduce 192 MHz è 24 MHz clock. FRO24 pò esse usatu per a fonte PLL0/1, è FRO192 pò esse usatu per i clock core/bus CM33.
  • U LPO hè fissatu à 1 MHz, utilizatu da i moduli IP chì devenu travaglià in modi di bassa putenza cum'è EWM è LPTMR.
  • PLL0 hè in esecuzione à 480 MHz è PLL1 hè 528 MHz. PLL0 hè u sistema PLL, utilizatu da CM33 core/bus è FlexSPI. PLL1 hè utilizatu da i sistemi audio cum'è SAI/MICFIL/MQS. Tutti dui ponu furnisce una frequenza di clock più alta per u core / bus CM33.

Siccomu l'orologio core/bus CM33 pò esse acquistatu da FRO o SYSOSC, hè megliu evità di utilizà PLL0/1 se ùn hè micca necessariu una frequenza più alta. Spegnere i PLL pò risparmià energia significativamente.
Se i PLL sò usati per CM33 in modu attivu, devenu esse spenti manualmente prima di entre in modi di bassa putenza (sonnu / sonnu prufondu / putenza) per risparmià energia. Questu hè bisognu di parechji passi:

  1. Abilita FRO o SYSOSC cù i paràmetri di bit *DSEN in i registri SCR secondu l'usu di Fusion DSP in modi di bassa putenza
  2. Aspettate a validità di u clock cuntrollendu u bit VLD impostatu in u registru SCR.
  3. Disattivate i moduli IP chì utilizanu PLL, o cambiate u clock à FRO o SYSOSC.
  4. Cambia l'orologio CM33 à FRO o SYSOSC cù i paràmetri DIV core/bus/slow clock in CGC0.CM33CLK.
  5. Aspettate parechji microsecondi. Per aspittà chì u clock stable, verificate u bit CM33LOCKED.
  6. Disabilita u PLL0/1 cancellando u bit SCR PLLEN.

3.3 Spegnimentu è clock gate modi IP inutilizati è partizione SRAM
Per u duminiu RTD, parechji interruttori di putenza ponu esse on / off (consultate a Sezione 7):

  • PS0: core CM33, periferiche è enclave EdgeLock
  • PS1: core Fusion DSP
  • PS14: Fusion AON
  • PS15: eFuse

In SDK, l'utilizatori ponu chjamà UPOWER_PowerOffSwitches (upower_ps_mask_t mask) è UPOWER_PowerOn Switches (upower_ps_mask_t mask) per spegne è accende i moduli in quantu necessariu. A Tabella 7 mostra u valore di i paràmetri di a maschera.
Per i periferichi CM33 (modulu IP) chì ùn sò micca utilizati, lasciate cum'è statu di disattivazione (valore di reset), o disattiveghjanu sguassendu u so bit attivatu, cum'è LPI2C MCR master enable bit. Assicuratevi chì u bit di cuntrollu di a porta di u clock PCC hè sbulicatu, per esempiuample, PCC1.PCC_LPI2C0[CGC] bit. In u duminiu RTD, tutti i clock IP ponu esse clock gated or ungated da i moduli di clock PCC.
A partizione di memoria hè ancu una considerazione per salvà u putere se quelli ricordi ùn sò micca usati. In SDK, l'utilizatore pò chjamà UPOWER_PowerOffMemPart (uint32_t mask0, uint32_t mask1) è UPOWER_PowerOnMemPart (uint32_t mask0, uint32_t mask1) per disattivà è accende e partizioni di memoria cum'è necessariu. Tabella 8 mostra u valore di i parametri mask0/1.

3.4 Entre in u modu di bassa putenza

Prima di entre in i modi di bassa putenza (sonnu / sonnu profondu / power down), deve esse realizatu parechji passi per assicurà chì u cunsumu di energia hè bassu in quelli modi:

  • Paràmetri generale PAD in u modulu SIM
    Ci sò dui tipi di PAD I/O in SoC: FSGPIO (PTA/B/E/F) è HSGPIO (PTC/D). Per risparmià energia sottu u modu di bassa putenza, l'utilizatore deve:
    - Disattivate a funzione di compensazione per HSGPIO sguassendu u bit COMPE in i registri PTC/D_COMPCELL.
    - Limite l'intervalle d'opération d'E/S pour FSGPIO, qui fonctionne à 1.8 V en définissant le bit PTx_OPERATION_RANGE dans
    a DGO_GP10/11 di RTD_SEC_SIM è DGO_GP4/5 di APD_SIM. Nantu à EVK, u PTB travaglia per 1.8 V. L'utilizatori deve limità a gamma di operazione di PTB à 1.8 V per stabilisce RTD_SEC_SIM[DGO_GP11] = 0x1.
  • Disabilita i pin I/O mettendu u PAD mux à a funzione analogica hi-Z Eccettu per i pin chì sò usati da a funzione GPIO wake-up o modulu in modi di bassa putenza, tutti l'altri pin PTA/B/C deve esse impostati à funzione analogica high-Z per risparmià energia. Sliming the mux bits in IOMUX0.PCR0_PTA/B/Cx registers pò ottene questu. In SDK, l'utilizatore pò direttamente assignà 0 à l'articuli di array sottu:
    PTA: IOMUXC0->PCR0_IOMUXCARRAY0[x]
    PTB: IOMUXC0->PCR0_IOMUXCARRAY1[x]
    PTC: IOMUXC0->PCR0_IOMUXCARRAY2[x]

    Per esample, IOMUXC0->PCR0_IOMUXCARRY0[1] = 0 pò disattivà u PTA1.
    Nota: Perchè u PMIC deve esse cunfiguratu attraversu I2C (PTB10/11) durante a transizione di u modu di putenza, ùn pudete micca disattivà questi pin.
    Per mantene un pin I/O per agisce cum'è una fonte di sveglia, i paràmetri sottu deve esse fattu per diversi modi di putenza:
    - Modu di spegnimentu:
    1. Habilita u pin bit in i registri WUU0 PE1/PE2.
    2. Configurate u pin mux in IOMUXC0->PCR0_IOMUXCARRYx à a funzione WUU0_Pxx. Per i dettagli, fate riferimentu à a tavola I/Osignal attaccata in u Manuale di Riferimentu di Processor i.MX 8ULP (documentu i.MX8ULPRM).
    - Modu Sleep / Deep sleep: Configurate currettamente i registri di cuntrollu di interruzzione di u gruppu GPIO (GPIOx->ICR).

  • Display PLLs - Cambia l'orologio core/bus à FRO o LPO.
  • Configurate PMIC per aghjustà u voltage per i modi di bassa putenza
    i.MX 8ULP supporta l'ajustamentu di VDD_DIG0/1/2 power rail voltage o direttamente spegne alcuni rails (supporta solu l'interruzione di LSW1 VDD_PTC in l'EVK attuale è SDK in i modi di spegnimentu) durante a transizione di i modi di putenza. Abbassendu u voltage in modi low-putere pò riduce u cunsumu putenza in un modu efficaci. 
    Power off certi rails pò tagliate u putere direttamente à salvà u putere. Table 5 mostra u tipicu voltages di VDD_DIG0/1 sottu diverse modi di putenza (VDD_DIG2 hè ligatu cù DIG1 nantu à u bordu EVK. Pò esse aghjustatu inseme cun  VDD_DIG1).
    Table 5. Alimentazione voltage sottu sfarenti modi di putenza
    Ferru di putenza Attivu Dormi Sonnu prufondu Power down
    VDD_DIGO 1.05 V 1.05 V 0.73 V 0.65 V
    VDD_DIG1 1.05 V 1.05 V 0.73 V 0.73 V

    Per bassu u voltagE di i rails di putenza, l'utilizatori deve dì à uPower cumu cunfigurà u PMIC durante a transizione di putenza aghjustendu elementi di ps_rtd_pmic_reg_data_cfgs_t struttura in pwr_sys_cfg->ps_rtd_ pmic_reg_data_cfg[] array. Pigliate PCA9460 PMIC nantu à EVK cum'è example quì sottu:
    1. Entre in modalità Power-down:
    a. Bassa BUCK2 (VDD_DIG0) à 0.65 V.
    b. Spegnere LSW1 per l'alimentazione PTC I/O.
    2. Esci da u modu Power-down:
    a. Aumentà BUCK2 (VDD_DIG0) torna à 1.0 V.
    b. Accende LSW1 per l'alimentazione PTC I/O.
    NXP AN13951 Ottimizza u cunsumu di energia per i MX 8ULP - alimentazione 1NXP AN13951 Ottimizza u cunsumu di energia per i MX 8ULP - alimentazione 2In a struttura, u membru power_mode definisce i modi di putenza di destinazione per questa paràmetra PMIC, per esempiuample, PD_RTD_PWR_MODE, chì significa chì sta paràmetra hè appiicata quandu u modu di putenza hè trasferitu à u putere. L'i2c_addr hè l'indirizzu di registru in PMIC, è i2c_data hè u valore di registru chì deve esse cunfiguratu.
    Per più infurmazione nantu à l'indirizzu di u registru è i bit, riferite à u PCA9460, Power Management IC per i.MX 8ULP Data Sheet (documentu PCA9460DS).

  • Configura uPower per l'interruttore di alimentazione, l'interruttore di partizione di memoria è a cunfigurazione PAD:
    NXP AN13951 Ottimizza u Cunsumu di Energia per i MX 8ULP - switch di partizionePer queste duie strutture per a transizione di u modu di putenza, riferite à lpm.c in a demo power_mode_switch.
    L'utilizatore pò mantene questi paràmetri intatti, salvu chì i paràmetri supplementari sò necessarii cum'è, accensione / spegnimentu, alcuni moduli IP è matrice di memoria. L'utilizatori ponu accende / spegne l'interruttori di putenza setendu u swt_board [0]: SWT_BOARD (bits on/off, maschere). A definizione di bit pò esse truvata in Tabella 7. L'array di memoria di accensione / spegnimentu pò esse fatta da swt_mem [0]: SWT_MEM (SRAM Ctrl array bits, SRAM peripheral bits, masks). A definizione di bit pò esse truvata in  Tabella 8.
    Per più dettagli nantu à i paràmetri di transizione di u modu di putenza di uPower, fate riferimentu à a Guida d'Usuariu di u Firmware uPower (documentu UPOWERFWUG).
  • Chjamate uPower per a transizione di putenza. Pigliate l'ingressu à u modu di u putere cum'è un example, riferite à a funzione di LPM_SystemPowerDown (void) in u SDK power_mode_switch demo.

Dopu chì u sistema si sveglia da i modi di bassa putenza, l'utilizatore deve ricuperà tutti i paràmetri di i registri prima di entre. Per esample, in i paràmetri IOMUXC, l'utilizatore pò usà una variabile di array statica per almacenà i valori di tutti i PCR0 è restaurà.

Dominiu APD attivu cù LPAV

Pigliate a liberazione NXP Linux cum'è example sistema operatore per u duminiu APD.
4.1 Mettite RTD in sonnu
Mantene u duminiu RTD in modalità Sleep pò salvà circa 20 mW ~ 40 mW cumparatu cù u modu attivu. Inoltre, assicuratevi chì i pin GPIO inutilizati sò spenti.
4.2 Disattivà l'IP inutilizatu è i pin in u Linux DTS (arburu di u dispositivu)
Disattivà u node di u dispositivu pò evità di accende stu dispusitivu o ungated u so clock. Per esample, per disattivà GPU3D in a fonte di l'arburu di u dispositivu (DTS):
NXP AN13951 Optimizing Power Consumption for i MX 8ULP - TablePer impediscenu l'accensione di l'interruttore PS7, disattiveghjanu GPU3D. Se DCNano, MIPI DSI/CSI è GPU2D sò tutti disattivati, allora PLL4 ùn hè micca attivatu.
Per evità di attivà I/O PAD per quelli pin, disattiveghjanu i pin inutilizati in i nodi pinctrl.

4.3 Aduprate DVFS
i.MX 8ULP Linux supporta voltage funzioni di scaling di frequenza, formale cunnisciute cum'è DVFS in altre piattaforme i.MX. U voltagE funzioni di scala di frequenza ùn sò micca implementate dinamicamente in u software. L'utilizatore deve cambià cù u Linux kernel sysfs. Per utilizà VFS, caricate l'imx8ulp-evk-nd.dtb cum'è un arbulu di u dispositivu predeterminatu per inizià u sistema. Allora entre in u modu di autobus bassu da:NXP AN13951 Ottimisazione di u cunsumu di energia per i MX 8ULP - Tabella 2Kernel faci i seguenti cambiamenti:

  • Riduce a frequenza core DDR da 528 MHz à 96 MHz.
  • Reduce u clock APD NIC à 192 MHz usendu FRO cum'è fonte di clock invece di PLL.
  • Reduce u clock LPAV AXI à 192 MHz usendu FRO cum'è fonte di clock invece di PLL.
  • Riduce u clock cpu A35 à 500 MHz.
  • Low down the BUCK3 power rail (VDD_DIG1/2) voltage à 1.0 V da 1.1 V.

Esci è torna à u modu di autobus altu:NXP AN13951 Ottimisazione di u cunsumu di energia per i MX 8ULP - Tabella 94.4 Aduprà u modu di drive nominali (VDD_DIG1/2 1.0 V)
i.MX 8ULP SoC funziona in modalità overdrive per default U-Boot e configurazioni di kernel. Se un altu rendimentu ùn hè micca un requisitu chjave, l'utilizatore pò eseguisce u SoC in u modu di unità nominale in u boot per risparmià energia. Hè una cunfigurazione statica; l'utilizatore ùn pò micca cambià dinamicamente u voltage o frequenza dopu à u boot up.
U-Boot: Custruite U-Boot cù a cunfigurazione imx8ulp_evk_nd_defconfig. Face i seguenti cambiamenti:

  • Bassa u rail di putenza VDD_DIG1/2 (BUCK3) à 1.0 V durante l'avvio.
  • Configurate u clock DDR à 266 MHz invece di 528 MHz.
  • Riduce u clock NIC LPAV/APD à 192 MHz.
  • Riduce u core clock A35 à 750 MHz.

Kernel: carica imx8ulp-evk-nd.dtb in u boot. Riduce u clock GPU2D / 3D à 200 MHz, core HiFi4 DSP
clock à 260 MHz, uSDHC0 à 194 MHz, è uSDHC1/2 à 97 MHz.

U duminiu RTD attivu cù LPAV

Pigliate u casu d'usu "sempre in visualizazione" cum'è example, dispunibule cù questa nota di l'applicazione. In questu casu, RTD accede à u controller di display DCNano per vede u cuntenutu in u PSRAM. Per i dettagli, fate riferimentu à u codice attaccatu à sta nota di l'applicazione.

5.1 Habilita u duminiu LPAV
Dopu chì Linux suspende, u duminiu AP è LPAV entra in modalità Power-down. RTD deve piglià a pruprietà di u duminiu LPAV da APD prima:

  • SIM_RTD_SEC.SYSCTRL0[LPAV_MASTER_CTRL] = 0 // stabilisce l'RTD per esse u duminiu maestru di u duminiu LPAV
  • SIM_RTC_SEC.LPAV_MASTER_ALLOC_CTRL = 0 // alloca l'IP master LPAV à RTD
  • SIM_RTC_SEC.LPAV_SLAVE_ALLOC_CTRL = 0 // alloca l'IP slave LPAV à RTD

Allora, ripiglià a putenza core VDD_DIG2 (BUCK3) di u duminiu LPAV à 1.05 V o 1.1 V per assicurà chì tutti l'IP in u LPAV funziona bè da uPower upwr_vtm_pmic_config () API.

Infine, tira fora u duminiu LPAV da u modu Power-down à u modu attivu:NXP AN13951 Ottimisazione di u cunsumu di energia per i MX 8ULP - Tabella 5In u casu d'usu di visualizazione sempre in visualizazione, l'utilizatore deve accende e seguenti per fà funziona tuttu u pipeline di visualizazione:

  • Interruttore d'alimentazione MIPI-DSI
  • Partizioni di memoria per u controller di display DCNano
  • MIPI-DSI
  • Tampon FlexSPI FIFO

5.3 Configurate l'orologi
U duminiu LPAV hà solu un PLL per e fonti di clock. Allora l'utilizatore deve attivà è u so PFD per guidà l'IP.
Habilita PLL4 cù i so PFD è PFDDIV

NXP AN13951 Ottimisazione di u cunsumu di energia per i MX 8ULP - Tabella 6NXP AN13951 Ottimisazione di u cunsumu di energia per i MX 8ULP - Tabella 7Selezziunate u PLL4 PFD0DIV1 cum'è a fonte di clock per DCNano è attivate u so clock in PCC:NXP AN13951 Ottimisazione di u cunsumu di energia per i MX 8ULP - Tabella 8Dopu chì l'interruttore di putenza hè attivatu è l'orologi sò pronti, l'utilizatore pò utilizà i driver SDK per accede è cuntrullà l'IP di u duminiu LPAV.

Documentazione / risorse correlate

A Tabella 6 elenca documenti supplementari è risorse chì ponu esse riferiti per più infurmazione. Alcuni di i documenti elencati quì sottu ponu esse dispunibuli solu sottu un accordu di non divulgazione (NDA). Per dumandà l'accessu à questi documenti, cuntattate l'ingegnere di l'applicazioni di campu lucale (FAE) o un rappresentante di vendita.

Table 6. Documentazione / risorse Related

Documentu Link / cumu accede
PCA9460, Power Management IC per i.MX 8ULP Data Sheet (documentu PCA9460DS) PCA9460DS
uPower Firmware User's Guide (document UPOWERFWUG) UPOWERFWUG
Manuale di Riferimentu di Processore i.MX 8ULP (documentu i.MX8 ULPRM) Cuntattate l'ingegnere di l'applicazioni lucali di NXP (Frepresentante. Cuntattate l'ingegnere di l'applicazioni lucali di NXP (FAE) o un rappresentante di vendita.
Processor d'applicazioni i.MX 8ULP - Prudutti industriali (documentu IMX8ULPIEC) Cuntattate l'ingegnere di l'applicazioni lucali di NXP (FAE) o un rappresentante di vendita.
MCUXpresso SDK Builder https://mcuxpresso.nxp.com/en/welcome

Appendice

Tabella 7 mostra u nome, u numeru logicu è u bit per ogni interruttore di putenza.
Table 7. Switches di putenza

Funzione Interruttore di putenza logica Bit
CM33 PSO 0
Fusione PS1 1
A35[0] Core PS2 2
A35[1] Core PS3 3
Mercury L2 Cache [1] PS4 4
NIC veloce / Mercury PS5 5
APD Periph PS6 6
GPU3D PS7 7
HiFi 4 PS8 8
Controller DDR PS9 9
PXP, EPDC PS13 10
MIPI-DSI PS14 11
MIPI CSI PS15 12
NIC AV / Periph PS16 13
Fusion AO PS17 14
FUSE PS18 15
uPower PS19 16

Tabella 8 mostra u bit è u nome di ogni controller di partizione di memoria.

Table 8. Ctrls di partizioni di memoria

SRAM CTRL ARRAY_O (APD/LPAV)
Mascara O
SRAM CTRL ARRAY_1 (RTD)
maschera 1
Bit I ricordi cuntrullati Bit I ricordi cuntrullati
0 Cache CA35 Core 0 L1 0 Casper RAM
1 Cache CA35 Core 1 L1 1 DMAO RAM
2 L2 Cache 0 2 FIexCAN RAM
3 L2 Cache 1 3 FIexSPIO FIFO, Tampon
4 L2 cache vittima/tag 4 FlexSPI1 FIFO, buffer
5 CAAM Secure RAM 5 CM33 Cache
6 RAM DMA1 6 RAM PowerQuad
7 FlexSPI2 FIFO, buffer 7 ETF RAM
8 SRAMU 8 Sentinel PKC, Dati RAM1, Inst RAMO/1
9 AD ROM 9 Sentinel ROM
10 USBO TX/RX RAM 10 uPower IRAM/DRAM
11 uSDHCO FIFO RAM 11 uPower ROM
12 uSDHC1 FIFO RAM 12 CM33 ROM
13 uSDHC2 FIFO è USB1 TX/RX RAM 13 Partizione SSRAM 0
14 GIC RAM 14 Partizione SSRAM 1
15 ENET TX FIXO 15 Partizione SSRAM 2,3,4
16 Riservatu (Brainshift) 16 Partizione SSRAM 5
17 DCNano Tile2Correzione lineare è RGB 17 Partizione SSRAM 6
18 DCNano Cursor è FIFO 18 Partizione SSRAM 7_a (128 kB)
19 EPDC LUT 19 Partizione SSRAM 7_b (64 kB)
20 EPDC FIFO 20 Partizione SSRAM 7_c (64 kB)
21 RAM DMA2 21 Sentinel Data RAM0, Inst RAM2
22 GPU2D RAM Gruppu 1 22 Riservatu
23 GPU2D RAM Gruppu 2 23
24 GPU3D RAM Gruppu 1 24
25 GPU3D RAM Gruppu 2 25
26 Cache HIFI4, IRAM, DRAM 26
27 ISI Buffers 27
28 MIPI-CSI FIFO 28
29 MIPI-DSI FIFO 29
30 Cache PXP, buffer 30
31 SRAM1 31

Nota nantu à u codice fonte in u documentu

Exampu codice mostratu in stu documentu hà i seguenti copyright è licenza BSD-3-Clause:
Copyright YYYY NXP A ridistribuzione è l'utilizazione in forma di fonte è binari, cù o senza mudificazione, sò permessi, basta chì e seguenti cundizioni sò soddisfatte:

  1. I redistribuzioni di u codice fonte devenu mantene l'avvisu di copyright sopra, sta lista di cundizioni è a seguente disclaimer.
  2. Redistribuzioni in forma binaria deve ripruduce l'avvisu di copyright sopra, sta lista di e cundizioni è a seguente disclaimer in a documentazione è / o altri materiali deve esse furnitu cù a distribuzione.
  3. Nè u nome di u detentore di i diritti d'autore nè i nomi di i so cuntributori ponu esse aduprati per appruvà o prumove prudutti derivati ​​da stu software senza permessu specificu è scrittu.

QUESTU SOFTWARE hè furnitu da i detentori di diritti d'autore è i cuntributori "cum'è" è ogni garanzia espressa o IMPLICITA, INCLUSI, MA NON LIMITATA, E GARANTIE IMPLICITE DI COMMERCIABILITÀ E IDONEITA' PER UN PUBLIC PARTICULARI SONT DISCLAIMED. IN NESSUN CASU U COPYRIGHT O CONTRIBUTORS SERÀ RESPONSABILI PER QUALSIASI DANNI DIRETTI, INDIRETTI, INCIDENTALI, SPECIALI, ESEMPLARI, O CONSEGUENTI (INCLUSU, MA NON LIMITATI À, L'ACQUISSIONE DI BEN SOSTITUTI O SERVIZI, PERDITA DI SERVIZI; OR INTERRUPTION BUSINESS) QUANTÀ CAUSATA E IN QUALSIASI TEORIA DI RESPONSABILITÀ, SIA IN CONTRATTU, STRICT RESPONSABILITÀ, O TORT (INCLUSU NEGGLIGENZA O ALTRE) SURGIENDU IN QUALSUNA MANIERA DA L'USU DI QUESTI SOFTWARE, ANCHE SE A CONSIGLIA.

Storia di rivisione

Tabella 9 riassume i cambiamenti fatti à stu documentu da a liberazione iniziale.

Table 9. Storia di rivisione

Numero di rivisione Data Cambiamenti sustantivi
0 30 di maghju di u 2023 Liberazione iniziale

L'infurmazione legale

10.1 Definizioni
Draft - Un statutu di prughjettu nantu à un documentu indica chì u cuntenutu hè sempre in re internuview è sottumessu à appruvazioni formale, chì pò esse risultatu in mudificazioni o aghjunte. NXP Semiconductors ùn dà alcuna rapprisintazioni o garanzie in quantu à l'accuratezza o a completezza di l'infurmazioni incluse in una versione bozza di un documentu è ùn hà micca responsabilità per e cunsequenze di l'usu di tali informazioni.

10.2 Disclaims

Garanzia limitata è responsabilità - L'infurmazione in stu documentu hè ritenuta precisa è affidabile. Tuttavia, NXP Semiconductors ùn dà alcuna rapprisintazioni o garanzie, espresse o implicite, in quantu à l'accuratezza o a completezza di tali informazioni è ùn anu micca responsabilità per e cunsequenze di l'usu di tali informazioni. NXP Semiconductors ùn assume micca rispunsabilità per u cuntenutu di stu documentu se furnitu da una fonte d'infurmazioni fora di NXP Semiconductors.
In nessun casu, NXP Semiconductors serà rispunsevule per danni indiretti, incidentali, punitivi, speciali o cunsequenziali (cumpresu - senza limitazione prufitti persi, risparmii persi, interruzioni di l'affari, costi ligati à a rimozione o a sostituzione di qualsiasi prudutti o carichi di rilavorazione) micca tali danni sò basati nantu à tort (cumpresa negligenza), garanzia, violazione di cuntrattu o qualsiasi altra teoria legale.
Malgradu qualsiasi dannu chì u cliente puderia incorre per qualsiasi ragione, a responsabilità cumulativa è cumulativa di NXP Semiconductors versu u cliente per i prudutti descritti quì serà limitata in cunfurmità cù i Termini è e cundizioni di vendita cummerciale di NXP Semiconductors.
U dirittu di fà cambiamenti - NXP Semiconductors si riserva u dirittu di fà cambiamenti à l'infurmazioni publicate in stu documentu, cumprese senza limitazione specificazioni è descrizzioni di i prudutti, in ogni mumentu è senza avvisu. Stu documentu rimpiazza è rimpiazza tutte l'infurmazioni furnite prima di a publicazione di questu.
Idoneità à l'usu - I prudutti di NXP Semiconductors ùn sò micca cuncepiti, autorizati o garantiti per esse adattati per l'utilizazione in u supportu di vita, in sistemi o equipaghji critichi per a vita o per a sicurezza, nè in applicazioni induve fallimentu o malfunzionamentu di un pruduttu NXP Semiconductors pò esse ragionevolmente attesa di risultà. ferite persunale, morte o danni gravi à a pruprietà o à l'ambiente. NXP Semiconductors è i so fornitori ùn accettanu alcuna responsabilità per l'inclusione è / o l'usu di i prudutti NXP Semiconductors in tali equipaghji o applicazioni è per quessa, tali inclusioni è / o usu sò à u risicu di u cliente.

Applicazioni - L'applicazioni chì sò descritte quì per qualsiasi di sti prudutti sò solu per scopi illustrativi. NXP Semiconductors ùn face alcuna rappresentanza o garanzia chì tali applicazioni seranu adattate per l'usu specificatu senza più teste o mudificazione.
I clienti sò rispunsevuli di u disignu è u funziunamentu di e so applicazioni è prudutti chì utilizanu i prudutti NXP Semiconductors, è NXP Semiconductors ùn accetta micca responsabilità per qualsiasi assistenza cù applicazioni o cuncepimentu di i prudutti di i clienti. Hè a sola rispunsabilità di u cliente di determinà se u pruduttu NXP Semiconductors hè adattatu è adattatu per l'applicazioni di u cliente è i prudutti pianificati, è ancu per l'applicazione pianificata è l'usu di i clienti di terze parti di u cliente. I Clienti duveranu furnisce un disignu adattatu è salvaguardi operativi per minimizzà i risichi assuciati cù e so applicazioni è prudutti.
NXP Semiconductors ùn accetta alcuna responsabilità in relazione à qualsiasi difettu, dannu, costi o prublema chì hè basatu annantu à qualsiasi debule o predefinitu in l'applicazioni o i prudutti di u cliente, o l'applicazione o l'usu da u cliente (s) terzu di u cliente. U Cliente hè rispunsevuli di fà tutte e teste necessarie per l'applicazioni è i prudutti di u cliente chì utilizanu i prudutti NXP Semiconductors per evità un difettu di l'applicazioni è i prudutti o di l'applicazione o l'utilizazione da i clienti di terze parti di u cliente. NXP ùn accetta alcuna responsabilità in questu rispettu.

Termini è cundizioni di vendita cummerciale - I prudutti di NXP Semiconductors sò venduti sottumessi à i termini è e cundizioni generali di vendita cummerciale, cum'è publicatu in http://www.nxp.com/profile/terms, salvo accordu altrimenti in un accordu individuale scrittu validu. In casu chì un accordu individuale hè cunclusu solu i termini è e cundizioni di l'accordu rispettivu sò applicati. NXP Semiconductors si oppone espressamente à applicà i termini è e cundizioni generali di u cliente in quantu à l'acquistu di i prudutti NXP Semiconductors da u cliente.
U cuntrollu di l'esportazione - Stu ducumentu è ancu l'articulu (s) descritti quì ponu esse sottumessi à e regule di cuntrollu di l'esportazione. L'esportazione pò esse bisognu di una autorizazione previa da l'autorità competenti.

Idoneità per l'usu in i prudutti qualificati micca di l'automobile - A menu chì sta scheda di dati dichjara espressamente chì stu pruduttu specificu NXP Semiconductors hè qualificatu per l'automobile, u pruduttu ùn hè micca adattatu per l'usu di l'automobile. Ùn hè nè qualificatu nè testatu in cunfurmità cù e teste di l'automobile o i requisiti di l'applicazione. NXP Semiconductors ùn accetta alcuna responsabilità per l'inclusione è / o l'usu di prudutti qualificati micca di l'automobile in l'equipaggiu o l'applicazioni di l'automobile.
In l'eventu chì u cliente usa u pruduttu per u disignu è l'usu in l'applicazioni automobilistiche à e specificazioni è i standard di l'automobile, u cliente (a) utilizerà u pruduttu senza a garanzia di NXP Semiconductors di u pruduttu per tali applicazioni, usu è specificazioni automobilistiche, è ( b) ogni volta chì u cliente usa u pruduttu per l'applicazioni automobilistiche al di là di e specificazioni di NXP Semiconductors, tale usu serà solu à u risicu di u cliente, è (c) u cliente indennizza cumplettamente NXP Semiconductors per ogni responsabilità, danni o rivendicazioni di produttu falluti risultanti da u disignu è l'usu di u cliente. u pruduttu per l'applicazioni automobilistiche oltre a garanzia standard di NXP Semiconductors è e specificazioni di produttu di NXP Semiconductors.

Traduzioni - Una versione non-inglese (traduttu) di un documentu, cumprese l'infurmazioni legali in quellu documentu, hè solu per riferimentu. A versione inglese prevalerà in casu di qualsiasi discrepanza trà e versioni tradutte è inglesi.
Sicurezza - U Cliente capisce chì tutti i prudutti NXP ponu esse sughjetti à vulnerabilità micca identificate o ponu sustene standard di sicurezza stabiliti o specificazioni cù limitazioni cunnisciute. U Cliente hè rispunsevule per u disignu è u funziunamentu di e so applicazioni è prudutti in tuttu u so ciclu di vita per riduce l'effettu di queste vulnerabilità nantu à l'applicazioni è i prudutti di u cliente. A rispunsabilità di u Cliente si estende ancu à altre tecnulugia aperte è / o proprietarie supportate da i prudutti NXP per l'usu in l'applicazioni di u cliente. NXP ùn accetta alcuna responsabilità per alcuna vulnerabilità. U Cliente deve cuntrollà regularmente l'aghjurnamenti di sicurezza da NXP è seguite in modu adattatu.
U Cliente deve selezziunà i prudutti cù caratteristiche di sicurezza chì risponde megliu à e regule, i regulamenti è i normi di l'applicazione prevista è pigliate e decisioni finali di cuncepimentu riguardanti i so prudutti è hè solu rispunsevule per u rispettu di tutti i requisiti legali, regulatori è di sicurezza in quantu à i so prudutti, indipendentamente. di qualsiasi informazione o supportu chì pò esse furnitu da NXP.
NXP hà una Squadra di Risposta à Incidenti di Sicurezza di u Produttu (PSIRT) (accessibile à PSIRT@nxp.com) chì gestisce l'inchiesta, i rapporti è a liberazione di suluzione per e vulnerabilità di sicurezza di i prudutti NXP.
NXP BV - NXP BV ùn hè micca una sucità operativa è ùn distribuisce o vende prudutti.

Marchi

Avvisu: Tutti i marchi riferiti, i nomi di i prudutti, i nomi di serviziu, è i marchi sò a pruprietà di i so rispettivi pruprietarii.
NXP - u marchio è u logo sò marchi di NXP BV

AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed Enabled, NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINKPLUS, ULINKpro, μVision, Versatile - sò marchi è / o marchi registrati di Arm Limited (o i so filiali o affiliati) in i Stati Uniti è / o in altrò. A tecnulugia cunnessa pò esse prutetta da qualsiasi o tutti i brevetti, copyright, disinni è secreti cummerciale. Tutti i diritti riservati.
EdgeLock - hè una marca di NXP BV
i.MX - hè una marca di NXP BV

Per piacè esse cuscenti chì avvisi impurtanti riguardanti stu documentu è u pruduttu (s) descritti quì, sò stati inclusi in a sezione "Informazioni legali".

Logo NXP© 2023 NXP BV
Per più infurmazione, visitate: http://www.nxp.com
Tutti i diritti riservati.
Data di liberazione: 30 May 2023
Identificatore di u documentu: AN13951
NXP Semiconductors"
AN13951
Ottimizza u cunsumu di energia per i.MX 8ULP

Documenti / Risorse

NXP AN13951 Ottimizza u cunsumu di energia per i.MX 8ULP [pdfGuida di l'utente
AN13951, AN13951 Ottimisazione di u cunsumu di energia per i.MX 8ULP, ottimisazione di u cunsumu di energia per i.MX 8ULP, u cunsumu di energia per i.MX 8ULP, u cunsumu per i.MX 8ULP, i.MX 8ULP

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *