AN13951
Optimizacija porabe energije za i.MX 8ULP
Rev. 0 – 30. maj 2023
Opomba o aplikaciji
AN13951 Optimizacija porabe energije za i.MX 8ULP
Informacije o dokumentu
Informacije | Vsebina |
Ključne besede | AN13951, i.MX 8ULP, arhitektura napajanja, poraba energije, optimizacija programske opreme |
Povzetek | Ta opomba o aplikaciji opisuje, kako optimizirati porabo energije na ravni sistema v več tipični scenariji z različnimi kombinacijami domen. |
Uvod
Družina procesorjev i.MX 8ULP vključuje NXP napredno implementacijo dvojnih jeder Arm Cortex-A35 poleg Arm Cortex-M33. Ta kombinirana arhitektura omogoča, da naprava poganja bogate operacijske sisteme, kot je Linux, na jedru Cortex-A35 in RTOS, kot je FreeRTOS, na jedru Cortex-M33. Vključuje tudi Fusion DSP za nizkoenergijski zvok in HiFi4 DSP za napredne aplikacije za zvok in strojno učenje. Usmerjen je na primere uporabe in izdelke z nizko in ultra nizko porabo energije.
i.MX 8ULP ima zapleteno in napredno zasnovo, ki pokriva različne primere uporabe, ki delijo SoC na tri domene z neodvisnimi in namenskimi krmilniki napajanja in ure. To uporabnikom omogoča prilagodljivost pri izvajanju različnih primerov uporabe s kombiniranjem različnih domen. Namen te opombe o aplikaciji je opisati, kako optimizirati porabo energije na sistemski ravni v več tipičnih scenarijih z različnimi kombinacijami domen.
Opomba: Ta opomba o aplikaciji uporablja kodo Linuxa in SDK BSP kot reference in npramples.
konecview
SoC i.MX 8ULP ima tri ločene domene: aplikacijski procesor (AP), avdio video z nizko porabo energije (LPAV) in domene realnega časa (RT). Kontrole napajanja in ure teh domen so ločene, struktura vodila vsake domene pa je tesno integrirana za učinkovito komunikacijo.
Aplikacijska domena (APD) se uporablja za visoko zmogljivo računalništvo z uporabo dvojnih jeder A35 in hitrih V/I, kot je USB/Ethernet/eMMC. Domena LPAV (LPAVD) je za multimedijske aplikacije, vključno z zvokom, videom, grafiko in zasloni, ki zahtevajo visoko zmogljiv in velik pomnilnik DDR. Domena v realnem času (RTD) vključuje jedro M33 z nizko zakasnitvijo, majhen Fusion DSP za obdelavo zvoka/glasa, uPower za popoln nadzor stanja napajanja SoC in Sentinel za varnostni nadzor.
Slika 1. Domene i.MX8ULP
2.1 Arhitektura napajanja
Različne domene imajo ločene napajalnike (power rail). Slika 2 prikazuje napajalno shemo i.MX 8ULP. Obstaja 18 x stikal za vklop (PS) za notranje IP module SoC. Te module je mogoče vklopiti/izklopiti s programsko opremo prek uPower FW API za natančen nadzor moči.
uPower je centralni krmilnik moči v i.MX 8ULP. Vdelana programska oprema, ki se izvaja na uPower, ponuja naslednje funkcije:
- Krmilnik prehoda v način napajanja.
- Merilnik moči za merjenje porabe v domenah moči naprave.
- Temperaturni senzor za merjenje temperature naprave.
- Sporočilne enote za komunikacijo s procesorji na čipu.
- I2C za komunikacijo s PMIC.
Vstop/izstop iz načinov nizke porabe se izvede s klicem uPower FW API v programski opremi APD ali RTD. Če želite konfigurirati nastavitev, podobno PMIC, izhod voltage, omejitev itd. je treba opraviti s klicem API-jev uPower FW I2C ali PMIC.
Slika 2. Struktura napajanja
2.2 Načini napajanja
Tabela 1 prikazuje razpoložljivo kombinacijo načinov napajanja CA35 in CM33. SoC ne podpira nekaterih kombinacij. Za več podrobnosti o vsakem načinu napajanja glejte poglavje »Upravljanje napajanja« v Referenčnem priročniku procesorja i.MX 8ULP (dokument i.MX8ULPRM).
Tabela 1. Načini napajanja i.MX8ULP
CA35 | CM33 | ||||
Aktiven | spi | Globok spanec | Izklop | Globok izklop | |
Aktiven | DA Scenarij #1 | DA Scenarij #3 | DA Scenarij #3 | št | št |
Delno aktivno* | DA | DA | DA | št | št |
spi | DA | DA | DA | št | št |
globok spanec* | DA | DA | DA | št | št |
Izklop | DA Scenarij #2/4 |
DA Scenarij #2 |
DA Scenarij #2 |
DA Scenarij #2 |
DA |
Globok izklop | DA | DA | DA | DA |
*Linux ne podpira globokega spanja ali delno aktivnega načina za A35.
Tabela 2 preslika infrastrukturo napajanja jedra Linuxa v načine napajanja 8ULP.
Tabela 2. Načini napajanja, ki jih podpira Linux BSP
Moč Linuxa | 8ULP načini moči |
Teči | Aktiven |
CPU v mirovanju | spi |
Pripravljenost | N/A |
Prekini | Izklop |
Izklop | Globok izklop |
Glede na različne primere uporabe in scenarije lahko uporabnik izbere eno ali dve ali v večjih primerih vse tri domene. Te primere uporabe/scenarije je mogoče uvrstiti v naslednje štiri kategorije:
- Aktivne so vse domene – na primer aktivna pametna ura.
- Domena RTD uporablja samo – na primer zvezdišče senzorja in zaznavanje ključnih besed za glasovno bujenje pri zelo nizki moči.
- APD je aktiven z LPAV – kot je navigacija po zemljevidu in stransko iskanje v e-bralniku.
- RTD je aktiven z LPAV – na primer zaslon z nizko porabo energije in obdelava Hi-Fi zvoka.
Ti štirje scenariji so bili označeni v Tabela 1. Naslednja poglavja opisujejo, kako optimizirati porabo energije za scenarij 2, 3 in 4. Optimizacije aktivne porabe vseh domen lahko izkoristijo nasvete iz drugih scenarijev.
2.3 Načini vožnje
SoC lahko podpira različne načine vožnje: over drive (OD), nominalni pogon (ND) in under drive (UD), kar pomeni, da lahko SoC deluje pod različnimi volumni jedra.tages z ustreznim vodilom in frekvenco IP. Uporabniki lahko izberejo pravi način vožnje za svoje primere uporabe in zahteve glede moči.
Privzeti BSP zažene SoC tako, da APD/LPAV preklopi v način OD in RTD v način ND. Uporabniki lahko konfigurirajo U-Boot in naložijo določeno drevo naprav jedra files za način ND. Domena RTD podpira samo UD.
Tabela 3 navaja nekaj ključnih ur IP v različnih načinih.
Tabela 3. Ključne ure IP v različnih načinih
Ime ure | Prenapetost (1.1 V) Frekvenca (MHz) | Nazivna pogonska frekvenca (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 |
Za več taktov glejte tabelo taktnih frekvenc v aplikacijskem procesorju i.MX 8ULP – industrijski izdelki (dokument IMX8ULPIEC).
Samo domena RTD
Razmislite SDK Power_mode_switch demo kot bivšiampki je priložen programski opremi i.MX 8ULP SDK sprostitev.
V tem scenariju sta domeni AP in LPAV v načinu izklopa ali globokega izklopa, jedro M33 ali ponastavitev pa ju lahko prebudita. Domena RTD je lahko v aktivnem načinu, načinu spanja, globokega spanja ali načinu izklopa glede na porabo energije in zahteve glede časa bujenja.
Slika 3 in Slika 4 prikaže porabo energije in čas bujenja za vsak način nizke porabe.
Slika 3. Poraba energije v različnih načinih napajanja
Slika 4. Čas prebujanja sistema v različnih načinih napajanja
3.1 Izberite pravi način nizke porabe
Uporabnik mora izbrati enega ali več desnih načinov nizke porabe za varčevanje z energijo glede na zahteve. Upoštevati je treba naslednje:
- Upoštevajte porabo energije SoC, PD < 300 µW, globoko spanje < 1 mW, spanje < 50 mW
- Upoštevajte čas prebujanja iz načinov nizke porabe, PD > 400 µs, globoko spanje > 60 µs, spanje > 10 µs
- Upoštevajte IP-je, ki se uporabljajo v načinih z najmanjšo porabo energije, tako da se sklicujete Tabela 4.
Na primerample:
1. Če mora LPI2C[3] delovati ali delovati asinhrono, ne pa CG/PG, uporabite način mirovanja.
2. Če se zahteva, da FlexSPI deluje, je način najnižje porabe v stanju mirovanja brez zaporne ure sistema/vodila.
Tabela 4. Podrobnosti načina napajanja (domena v realnem času)
Moduli | Načini moči | Aktiven | spi | Globok spanec | Izklop | Globoka moč navzdol |
Power state močnostna domena | Napajanje jedra = VKLOP, pristranskost = AFBB in DVS, takti sistema/vodila = VKLOP, napajanje V/I = VKLOP | Napajanje jedra = VKLOP, Bias = AFBB ali ARBB, Voltage = fiksno, ura sistema/vodila = VKLOPLJENO (izbirno), V/I napajanje = VKLOPLJENO | Napajanje jedra = VKLOP, Bias = RBB Voltage/ Bias = prog, ura sistema/vodila = IZKLOP, I/0 napajanje = VKLOP | Napajanje jedra = ON (samo Mem), Bias = RBB, Voltage/ Bias = prog, ura sistema/vodila = IZKLOP, I/0 napajanje = VKLOP (neobvezno) | Napajanje jedra = OFF, Bias = RBB, Voltage/ Bias = prog, ura sistema/vodila = IZKLOP, I/0 napajanje = VKLOP (neobvezno) | |
CCGO | RTD | Funkcionalen | Funkcionalen | Funkcionalno (omejeno) | PG | PG |
PLLO | PLL LDO | Funkcionalen | Funkcionalen | CG | PG | PG |
PLL1 (avdio) | PLL LDO | Funkcionalen | Funkcionalen | CG | PG | PG |
LPO (1 MHz) | RTD | Funkcionalen | Funkcionalen | Funkcionalen | PG | PG |
SYSOSC | RTD | Funkcionalen | Funkcionalen | Funkcionalen | PG | PG |
Za več podrobnosti glejte poglavje »Podrobnosti načina napajanja (domena realnega časa)« v Referenčnem priročniku procesorja i.MX 8ULP (dokument i.MX8ULPRM).
Razmislite o primeru uporabe glasovnega bujenja z nizko močjoample. Najnižji način porabe energije, ki ga lahko uporabnik izbere, je globok spanec. IP mikrofona in telefona (MICFIL) lahko deluje v globokem spanju z vklopljeno uro FRO, kar ne deluje v načinu izklopa.
3.2 Uporabite ustrezne ure
Domena RTD ima več virov takta, kot je prikazano na sliki 5: SYSOSC, FRO, LPO, PLL0 (sistemski PLL (SPLL)) in PLL1 (zvočni PLL (APLL)). Medtem lahko domena RTD uporablja tudi uro domene VBAT RTC32K/1K.
Slika 5. Urni diagram RTD CGC0
- Vir takta SYSOSC je iz zunanjega vgrajenega kristala, običajno 24 MHz. Izvor PLL0/1 in jedro/vodilo CM33 lahko uporabljata vir ure SYSOSC.
- FRO je prosto delujoč oscilator z uglaševalnikom, ki lahko oddaja frekvenco 192 MHz in 24 MHz. FRO24 je mogoče uporabiti za vir PLL0/1, FRO192 pa za takte jedra/vodila CM33.
- LPO je fiksiran na 1 MHz, uporabljajo ga moduli IP, ki morajo delovati v načinih nizke porabe, kot sta EWM in LPTMR.
- PLL0 deluje pri 480 MHz, PLL1 pa 528 MHz. PLL0 je sistemski PLL, ki ga uporabljata jedro/vodilo CM33 in FlexSPI. PLL1 uporabljajo zvočni sistemi, kot je SAI/MICFIL/MQS. Oba lahko zagotovita višjo taktno frekvenco za jedro/vodilo CM33.
Ker je uro jedra/vodila CM33 mogoče pridobiti iz FRO ali SYSOSC, se je bolje izogniti uporabi PLL0/1, če ni potrebna višja frekvenca. Z izklopom PLL-jev lahko znatno prihranite energijo.
Če se PLL uporabljajo za CM33 v aktivnem načinu, jih je treba ročno izklopiti, preden vstopite v načine nizke porabe (mirovanje/globoko spanje/izklop), da prihranite energijo. To zahteva več korakov:
- Omogočite FRO ali SYSOSC z bitnimi nastavitvami *DSEN v registrih SCR glede na uporabo Fusion DSP v načinih nizke porabe
- Počakajte na veljavnost ure tako, da preverite bit VLD, nastavljen v registru SCR.
- Onemogočite module IP, ki uporabljajo PLL, ali preklopite uro na FRO ali SYSOSC.
- Preklopite uro CM33 na FRO ali SYSOSC z nastavitvami DIV za jedro/bus/počasno uro v CGC0.CM33CLK.
- Počakajte nekaj mikrosekund. Če želite počakati na stabilnost ure, preverite bit CM33LOCKED.
- Onemogočite PLL0/1 tako, da počistite bit SCR PLLEN.
3.3 Izklopi in uri vrata za neuporabljene načine IP in particijo SRAM
Za domeno RTD je lahko več stikal za vklop/izklop (glejte razdelek 7):
- PS0: jedro CM33, zunanje naprave in enklava EdgeLock
- PS1: jedro Fusion DSP
- PS14: Fusion AON
- PS15: eFuse
V SDK-ju lahko uporabnik pokliče UPOWER_PowerOffSwitches(upower_ps_mask_t mask) in UPOWER_PowerOn Switches(upower_ps_mask_t mask), da po potrebi izklopi in vklopi module. Tabela 7 prikazuje vrednost parametrov maske.
Za zunanje naprave CM33 (IP modul), ki se ne uporabljajo, pustite status onemogočenega (vrednost ponastavitve) ali ga onemogočite tako, da počistite njegov omogočeni bit, kot je glavni omogočitveni bit LPI2C MCR. Prepričajte se, da je krmilni bit vrat PCC počiščen, nprample, bit PCC1.PCC_LPI2C0[CGC]. V domeni RTD so lahko vse ure IP odporne ali neomejene z urnimi moduli PCC.
Pomnilniška particija je prav tako pomembna za varčevanje z energijo, če se ti pomnilniki ne uporabljajo. V SDK-ju lahko uporabnik pokliče UPOWER_PowerOffMemPart(uint32_t mask0, uint32_t mask1) in UPOWER_PowerOnMemPart(uint32_t mask0, uint32_t mask1), da po potrebi izklopi in vklopi pomnilniške particije. Tabela 8 prikaže vrednost parametrov mask0/1.
3.4 Vstop v način nizke porabe
Pred vstopom v načine nizke porabe energije (mirovanje/globoko spanje/izklop) je treba izvesti več korakov, da zagotovite nizko porabo energije v teh načinih:
- Splošne nastavitve PAD v modulu SIM
Znotraj SoC obstajata dve vrsti V/I PAD: FSGPIO (PTA/B/E/F) in HSGPIO (PTC/D). Za varčevanje z energijo v načinu nizke porabe mora uporabnik:
– Onemogočite funkcijo kompenzacije za HSGPIO tako, da počistite bit COMPE v registrih PTC/D_COMPCELL.
– Omejite območje delovanja V/I za FSGPIO, ki deluje znotraj 1.8 V, tako da nastavite bit PTx_OPERATION_RANGE
DGO_GP10/11 RTD_SEC_SIM in DGO_GP4/5 APD_SIM. Na EVK PTB deluje za 1.8 V. Uporabnik mora omejiti območje delovanja PTB na 1.8 V z nastavitvijo RTD_SEC_SIM[DGO_GP11] = 0x1. - Onemogočite I/O zatiče tako, da PAD mux nastavite na analogno funkcijo hi-Z. Razen za zatiče, ki jih uporablja GPIO bujenje ali funkcija modula v načinih nizke porabe, morajo biti vsi drugi zatiči PTA/B/C nastavljeni na analogna funkcija visokega Z za varčevanje z energijo. To lahko dosežete z brisanjem bitov mux v registrih IOMUX0.PCR0_PTA/B/Cx. V SDK-ju lahko uporabnik neposredno dodeli 0 spodnjim elementom polja:
PTA: IOMUXC0->PCR0_IOMUXCARRAY0[x] PTB: IOMUXC0->PCR0_IOMUXCARRAY1[x] PTC: IOMUXC0->PCR0_IOMUXCARRAY2[x] Na primerample, IOMUXC0->PCR0_IOMUXCARRY0[1] = 0 lahko onemogoči PTA1.
Opomba: Ker mora biti PMIC med prehodom v način napajanja konfiguriran prek I2C (PTB10/11), teh zatičev ne morete onemogočiti.
Če želite, da I/O pin deluje kot vir bujenja, je treba narediti spodnje nastavitve za različne načine napajanja:
– Način izklopa:
1. Omogočite pin bit v registrih WUU0 PE1/PE2.
2. Konfigurirajte pin mux v funkciji IOMUXC0->PCR0_IOMUXCARRYx do WUU0_Pxx. Za podrobnosti glejte tabelo I/Osignal, priloženo v Referenčnem priročniku procesorja i.MX 8ULP (dokument i.MX8ULPRM).
– Način spanja/globokega spanja: pravilno nastavite registre krmilnika prekinitev skupine GPIO (GPIOx->ICR). - Prikaz PLL-jev – Preklopite ure jedra/vodila na FRO ali LPO.
- Nastavite PMIC za prilagoditev volumna napajanjatage za načine nizke porabe
i.MX 8ULP podpira prilagajanje VDD_DIG0/1/2 napajalna tirnica voltage ali neposredno izklopite nekatere tirnice (podprite samo izklop LSW1 VDD_PTC v trenutnih EVK in SDK v načinih izklopa) med prehodom načinov napajanja. Znižanje voltage v načinih nizke porabe lahko učinkovito zmanjša porabo energije.
Izklop nekaterih tirnic lahko neposredno prekine napajanje, da prihrani energijo. Tabela 5 prikazuje tipično voltages VDD_DIG0/1 pod različnimi načini napajanja (VDD_DIG2 je povezan z DIG1 na plošči EVK. Lahko se ga prilagodi skupaj z VDD_DIG1).
Tabela 5. Napajanje voltage v različnih načinih napajanja
Električna tirnica Aktiven spi Globok spanec Izklop 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 Za znižanje glasnostitagPri napajalnih tirnicah mora uporabnik uPowerju povedati, kako naj konfigurira PMIC med prehodom napajanja z dodajanjem elementov strukture ps_rtd_pmic_reg_data_cfgs_t v polje pwr_sys_cfg->ps_rtd_ pmic_reg_data_cfg[]. Za primer vzemi PCA9460 PMIC na EVKample spodaj:
1. Vstopite v način izklopa:
a. Nizko navzdol BUCK2 (VDD_DIG0) na 0.65 V.
b. Izklopite LSW1 za napajanje PTC I/O.
2. Zapustite način izklopa:
a. Dvignite BUCK2 (VDD_DIG0) nazaj na 1.0 V.
b. Vklopite LSW1 za PTC V/I napajanje.
V strukturi član power_mode definira ciljne načine napajanja za to nastavitev PMIC, npr.ample, PD_RTD_PWR_MODE, kar pomeni, da se ta nastavitev uporabi, ko se način napajanja prenese v izklop. I2c_addr je naslov registra znotraj PMIC, i2c_data pa vrednost registra, ki jo je treba konfigurirati.
Za več informacij o naslovu registra in bitih glejte PCA9460, podatkovni list IC za upravljanje porabe za i.MX 8ULP (dokument PCA9460DS). - Nastavite uPower za stikalo za vklop, stikalo za pomnilniško particijo in konfiguracijo PAD:
Za ti dve strukturi za prehod v način napajanja glejte lpm.c v predstavitvi power_mode_switch.
Uporabnik lahko ohrani te nastavitve nedotaknjene, razen če so potrebne dodatne nastavitve, kot so vklop/izklop, nekateri moduli IP in pomnilniško polje. Uporabniki lahko vklopijo/izklopijo stikala za napajanje tako, da nastavijo swt_board[0]: SWT_BOARD(biti za vklop/izklop, maske). Definicijo bitov lahko najdete v Tabela 7. Vklop/izklop pomnilniškega polja je mogoče izvesti z nastavitvijo swt_mem[0]: SWT_MEM(SRAM Ctrl array bits, SRAM peripheral bits, masks). Definicijo bitov lahko najdete v Tabela 8.
Za več podrobnosti o nastavitvah prehoda načina napajanja za uPower glejte Uporabniški priročnik za vdelano programsko opremo uPower (dokument UPOWERFWUG). - Pokličite uPower za prehod moči. Kot primer vzemite vstop v način izklopaample, glejte funkcijo LPM_SystemPowerDown(void) v predstavitvi SDK power_mode_switch.
Ko se sistem prebudi iz načinov nizke porabe, mora uporabnik pred vstopom obnoviti vse nastavitve registrov. Na primerample, v nastavitvah IOMUXC lahko uporabnik uporabi statično matrično spremenljivko za shranjevanje vrednosti vseh PCR0 in njihovo obnovitev.
Domena APD aktivna z LPAV
Vzemite izdajo NXP Linux kot primerample operacijski sistem za domeno APD.
4.1 Preklopite RTD v način spanja
Ohranjanje domene RTD v načinu mirovanja lahko prihrani približno 20 mW ~ 40 mW v primerjavi z aktivnim načinom. Prepričajte se tudi, da so neuporabljeni priključki GPIO izklopljeni.
4.2 Onemogočite neuporabljene IP in zatiče v Linux DTS (drevo naprav)
Če onemogočite vozlišče naprave, se lahko izognete vklopu te naprave ali odklopu njene ure. Na primerample, da onemogočite GPU3D v viru drevesa naprav (DTS):
Če želite preprečiti, da bi se stikalo za vklop PS7 vklopilo, onemogočite GPU3D. Če so DCNano, MIPI DSI/CSI in GPU2D vsi onemogočeni, PLL4 ni omogočen.
Če se želite izogniti omogočanju I/O PAD za te zatiče, onemogočite neuporabljene zatiče v vozliščih pinctrl.
4.3 Uporabite DVFS
i.MX 8ULP Linux podpira voltage in funkcije skaliranja frekvence, uradno znane kot DVFS na drugih platformah i.MX. VoltagFunkcije skaliranja e/frekvenčnosti niso dinamično implementirane v programsko opremo. Uporabnik mora preklopiti s sysfs jedra Linuxa. Za uporabo VFS naložite imx8ulp-evk-nd.dtb kot privzeto drevo naprav za zagon sistema. Nato vstopite v način nizkega vodila tako:Kernel izvede naslednje spremembe:
- Zmanjšajte frekvenco jedra DDR s 528 MHz na 96 MHz.
- Zmanjšajte takt APD NIC na 192 MHz z uporabo FRO kot vira takta namesto PLL.
- Zmanjšajte takt LPAV AXI na 192 MHz z uporabo FRO kot vira takta namesto PLL.
- Zmanjšajte takt procesorja A35 na 500 MHz.
- Nizko na napajalni tračnici BUCK3 (VDD_DIG1/2) voltage na 1.0 V od 1.1 V.
Izhod in vrnitev v način visokega vodila:4.4 Uporabite nominalni način pogona (VDD_DIG1/2 1.0 V)
i.MX 8ULP SoC deluje v načinu overdrive s privzetimi konfiguracijami U-Boot in jedra. Če visoka zmogljivost ni ključna zahteva, lahko uporabnik ob zagonu zažene SoC v načinu nominalnega pogona, da prihrani energijo. Je statična konfiguracija; uporabnik ne more dinamično spremeniti voltage ali frekvenca po zagonu.
U-Boot: Zgradite U-Boot s konfiguracijo imx8ulp_evk_nd_defconfig. Izvaja naslednje spremembe:
- Med zagonom znižajte napajalno vodilo VDD_DIG1/2 (BUCK3) na 1.0 V.
- Konfigurirajte takt DDR na 266 MHz namesto na 528 MHz.
- Zmanjšajte takt omrežne kartice LPAV/APD na 192 MHz.
- Zmanjšajte takt jedra A35 na 750 MHz.
Jedro: naloži imx8ulp-evk-nd.dtb ob zagonu. Zmanjša takt GPU2D/3D na 200 MHz, jedro HiFi4 DSP
takt na 260 MHz, uSDHC0 na 194 MHz in uSDHC1/2 na 97 MHz.
Domena RTD aktivna z LPAV
Vzemite primer uporabe »vedno na zaslonu«.ample, ki je na voljo s to opombo o aplikaciji. V tem primeru RTD dostopa do krmilnika zaslona DCNano za prikaz vsebine v PSRAM. Za podrobnosti glejte kodo, priloženo tej opombi o aplikaciji.
5.1 Omogoči domeno LPAV
Ko se Linux prekine, domeni AP in LPAV preideta v način izklopa. RTD mora najprej prevzeti lastništvo domene LPAV od APD:
- SIM_RTD_SEC.SYSCTRL0[LPAV_MASTER_CTRL] = 0 // nastavi RTD kot glavno domeno domene LPAV
- SIM_RTC_SEC.LPAV_MASTER_ALLOC_CTRL = 0 // dodeli glavni IP LPAV RTD
- SIM_RTC_SEC.LPAV_SLAVE_ALLOC_CTRL = 0 // dodeli podrejeni IP LPAV RTD
Nato obnovite osnovno napajanje VDD_DIG2 (BUCK3) domene LPAV na 1.05 V ali 1.1 V, da zagotovite pravilno delovanje vseh IP-jev v LPAV z API-jem uPower upwr_vtm_pmic_config().
Končno izvlecite domeno LPAV iz načina izklopa v aktivni način:V primeru uporabe vedno vklopljenega zaslona mora uporabnik vklopiti naslednje, da začne delovati celoten cevovod zaslona:
- Stikalo za vklop MIPI-DSI
- Pomnilniške particije za krmilnik zaslona DCNano
- MIPI-DSI
- Medpomnilniki FlexSPI FIFO
5.3 Konfigurirajte ure
Domena LPAV ima samo en PLL za vire takta. Torej mora uporabnik omogočiti, da ta in njegov PFD poganjata IP-je.
Omogočite PLL4 s svojima PFD in PFDDIV
Izberite PLL4 PFD0DIV1 kot vir ure za DCNano in omogočite njegovo uro v PCC:
Ko je stikalo za vklop vklopljeno in so ure pripravljene, lahko uporabnik uporablja gonilnike SDK za dostop in nadzor IP-jev domene LPAV.
Tabela 6 navaja dodatne dokumente in vire, na katere se lahko obrnete za več informacij. Nekateri spodaj našteti dokumenti so morda na voljo samo na podlagi pogodbe o nerazkritju podatkov (NDA). Če želite zahtevati dostop do teh dokumentov, se obrnite na lokalnega terenskega inženirja za aplikacije (FAE) ali prodajnega predstavnika.
Tabela 6. Povezana dokumentacija/viri
Dokument | Povezava/kako dostopati |
PCA9460, IC za upravljanje porabe za i.MX 8ULP podatkovni list (dokument PCA9460DS) | PCA9460DS |
Uporabniški priročnik za vdelano programsko opremo uPower (dokument UPOWERFWUG) | UPOWERFWUG |
Referenčni priročnik za procesor i.MX 8ULP (dokument i.MX8 ULPRM) Obrnite se na lokalnega terenskega inženirja NXP (predstavnik. | Obrnite se na lokalnega terenskega inženirja NXP (FAE) ali prodajnega predstavnika. |
Procesor aplikacij i.MX 8ULP – industrijski izdelki (dokument IMX8ULPIEC) | Obrnite se na lokalnega terenskega inženirja NXP (FAE) ali prodajnega predstavnika. |
MCUXpresso SDK Builder | https://mcuxpresso.nxp.com/en/welcome |
Dodatek
Tabela 7 prikazuje ime, logično številko in bit za vsako vklopno stikalo.
Tabela 7. Napajalna stikala
funkcija | Logično stikalo za vklop | bit |
CM33 | PSO | 0 |
Fuzija | PS1 | 1 |
A35[0] Jedro | PS2 | 2 |
A35[1] Jedro | PS3 | 3 |
Predpomnilnik Mercury L2 [1] | PS4 | 4 |
Hitri NIC / Mercury | PS5 | 5 |
APD Periph | PS6 | 6 |
GPU3D | PS7 | 7 |
HiFi4 | PS8 | 8 |
Krmilnik DDR | PS9 | 9 |
PXP, EPDC | PS13 | 10 |
MIPI-DSI | PS14 | 11 |
MIPI CSI | PS15 | 12 |
NIC AV / perif | PS16 | 13 |
Fusion AO | PS17 | 14 |
VAROVALKA | PS18 | 15 |
uPower | PS19 | 16 |
Tabela 8 prikazuje bit in ime vsakega krmilnika pomnilniške particije.
Tabela 8. Kontrolniki pomnilniške particije
SRAM CTRL ARRAY_O (APD/LPAV) MaskaO |
SRAM CTRL ARRAY_1 (RTD) Maska1 |
||
bit | Spomini pod nadzorom | bit | Spomini pod nadzorom |
0 | CA35 Core 0 L1 predpomnilnik | 0 | Casper RAM |
1 | CA35 Core 1 L1 predpomnilnik | 1 | DMAO RAM |
2 | L2 predpomnilnik 0 | 2 | FIexCAN RAM |
3 | L2 predpomnilnik 1 | 3 | FIexSPIO FIFO, medpomnilnik |
4 | Žrtev predpomnilnika L2/tag | 4 | FlexSPI1 FIFO, medpomnilnik |
5 | CAAM Secure RAM | 5 | Predpomnilnik CM33 |
6 | DMA1 RAM | 6 | PowerQuad RAM |
7 | FlexSPI2 FIFO, medpomnilnik | 7 | ETF RAM |
8 | SRAMO | 8 | Sentinel PKC, Data RAM1, Inst RAMO/1 |
9 | AD ROM | 9 | Sentinel ROM |
10 | USB TX/RX RAM | 10 | uPower IRAM/DRAM |
11 | uSDHCO FIFO RAM | 11 | uPower ROM |
12 | uSDHC1 FIFO RAM | 12 | CM33 ROM |
13 | uSDHC2 FIFO in USB1 TX/RX RAM | 13 | SSRAM particija 0 |
14 | GIC RAM | 14 | SSRAM particija 1 |
15 | ENET TX FIXO | 15 | SSRAM particija 2,3,4 |
16 | Rezervirano (premik možganov) | 16 | SSRAM particija 5 |
17 | DCNano Tile2Linear in RGB popravek | 17 | SSRAM particija 6 |
18 | DCNano kazalec in FIFO | 18 | SSRAM particija 7_a (128 kB) |
19 | EPDC LUT | 19 | SSRAM particija 7_b (64 kB) |
20 | EPDC FIFO | 20 | SSRAM particija 7_c (64 kB) |
21 | DMA2 RAM | 21 | Sentinel Data RAM0, Inst RAM2 |
22 | GPU2D RAM skupina 1 | 22 | Rezervirano |
23 | GPU2D RAM skupina 2 | 23 | |
24 | GPU3D RAM skupina 1 | 24 | |
25 | GPU3D RAM skupina 2 | 25 | |
26 | HIFI4 predpomnilniki, IRAM, DRAM | 26 | |
27 | Medpomnilniki ISI | 27 | |
28 | MIPI-CSI FIFO | 28 | |
29 | MIPI-DSI FIFO | 29 | |
30 | PXP predpomnilniki, medpomnilniki | 30 | |
31 | SRAM1 | 31 |
Opomba o izvorni kodi v dokumentu
Exampkoda datoteke, prikazana v tem dokumentu, ima naslednje avtorske pravice in licenco klavzule BSD-3:
Avtorska pravica LLLL NXP Nadaljnja distribucija in uporaba v izvorni in binarni obliki, s spremembami ali brez njih, sta dovoljeni, če so izpolnjeni naslednji pogoji:
- Nadaljnja distribucija izvorne kode mora ohraniti zgornje obvestilo o avtorskih pravicah, ta seznam pogojev in naslednjo zavrnitev odgovornosti.
- Nadaljnje distribucije v binarni obliki morajo reproducirati zgornje obvestilo o avtorskih pravicah, ta seznam pogojev in naslednjo zavrnitev odgovornosti v dokumentaciji in/ali drugem gradivu morajo biti priloženi distribuciji.
- Niti ime imetnika avtorskih pravic niti imena njegovih sodelujočih se ne smejo uporabljati za podporo ali promocijo izdelkov, pridobljenih iz te programske opreme, brez posebnega predhodnega pisnega dovoljenja.
IMETNIKI AVTORSKIH PRAVIC IN SODELUJOČI PONUJAJO TO PROGRAMSKO OPREMO "TAKŠNO, KOT JE" IN VSE IZRECNE ALI NAZNAČENE JAMSTVA, VKLJUČNO, VENDAR NE OMEJENO NA, NAZNAČENA JAMSTVA GLEDE PRIMERNOSTI ZA PRODAJO IN PRIMERNOSTI ZA DOLOČEN NAMEN. IMETNIK AVTORSKIH PRAVIC ALI SODELUJOČI V NOBENEM PRIMERU NISO ODGOVORNI ZA KAKRŠNO KOLI NEPOSREDNO, POSREDNO, NAKLJUČNO, POSEBNO, EKSEMPLARNO ALI POSLEDIČNO ŠKODO (VKLJUČNO, VENDAR NE OMEJENO NA NABAVO NADOMESTNEGA BLAGA ALI STORITEV; IZGUBO UPORABE , PODATKI ALI DOBIČKI; ALI PREKINITEV POSLOVANJA), NE glede na to, KI JE POVZROČEN IN NA KAKRŠNI KOLI TEORIJI ODGOVORNOSTI, BODISI V POGODBI, OBVEZNI ODGOVORNOSTI ALI DELKTU (VKLJUČNO Z MALOMARNOSTJO ALI DRUGAČEM), KI NA KAKRŠEN KOLI NAČIN IZHAJA IZ UPORABE TE PROGRAMSKE OPREME, TUDI ČE BI BIL OBVEŠČEN O MOŽNOSTI TAKŠNE PREKRIBE STAROST.
Zgodovina revizij
Tabela 9 povzema spremembe tega dokumenta od prve izdaje.
Tabela 9. Zgodovina revizij
Številka revizije | Datum | Vsebinske spremembe |
0 | 30. maj 2023 | Začetna izdaja |
Pravne informacije
10.1 Definicije
Osnutek — Status osnutka na dokumentu pomeni, da je vsebina še vedno v internem pregleduview in predmet formalne odobritve, ki lahko povzroči spremembe ali dodatke. NXP Semiconductors ne daje nobenih zagotovil ali jamstev glede točnosti ali popolnosti informacij, vključenih v osnutek različice dokumenta, in ne prevzema nobene odgovornosti za posledice uporabe takih informacij.
10.2 Omejitve odgovornosti
Omejena garancija in odgovornost — Podatki v tem dokumentu naj bi bili točni in zanesljivi. Vendar pa NXP Semiconductors ne daje nobenih izrecnih ali implicitnih zagotovil ali jamstev glede točnosti ali popolnosti takih informacij in ne prevzema nobene odgovornosti za posledice uporabe takih informacij. NXP Semiconductors ne prevzema nikakršne odgovornosti za vsebino v tem dokumentu, če jo zagotavlja vir informacij zunaj NXP Semiconductors.
NXP Semiconductors v nobenem primeru ni odgovoren za kakršno koli posredno, naključno, kaznovalno, posebno ali posledično škodo (vključno – brez omejitev z izgubljenim dobičkom, izgubljenimi prihranki, prekinitvijo poslovanja, stroški, povezanimi z odstranitvijo ali zamenjavo katerega koli izdelka ali stroški predelave), ne glede na to ali taka škoda ne temelji na odškodninski odgovornosti (vključno z malomarnostjo), garanciji, kršitvi pogodbe ali kateri koli drugi pravni teoriji.
Ne glede na morebitno škodo, ki bi jo stranka lahko utrpela iz kakršnega koli razloga, je skupna in kumulativna odgovornost družbe NXP Semiconductors do stranke za izdelke, opisane v tem dokumentu, omejena v skladu s pogoji komercialne prodaje družbe NXP Semiconductors.
Pravica do sprememb — NXP Semiconductors si pridržuje pravico do sprememb informacij, objavljenih v tem dokumentu, vključno brez omejitev s specifikacijami in opisi izdelkov, kadar koli in brez predhodnega obvestila. Ta dokument nadomešča in nadomešča vse informacije, posredovane pred objavo tega dokumenta.
Primernost za uporabo — Izdelki NXP Semiconductors niso zasnovani, odobreni ali zanje ni zagotovljeno, da bi bili primerni za uporabo v sistemih ali opremi za vzdrževanje življenja, življenjsko kritičnih ali varnostno kritičnih sistemih ali opremi, niti v aplikacijah, kjer je razumno pričakovati, da bo okvara ali okvara izdelka NXP Semiconductors povzročila osebne poškodbe, smrt ali huda materialna ali okoljska škoda. NXP Semiconductors in njegovi dobavitelji ne prevzemajo nobene odgovornosti za vključitev in/ali uporabo izdelkov NXP Semiconductors v tako opremo ali aplikacije, zato je taka vključitev in/ali uporaba na lastno odgovornost stranke.
Aplikacije — Aplikacije, ki so tukaj opisane za katerega koli od teh izdelkov, so samo v ilustrativne namene. NXP Semiconductors ne daje nobene izjave ali jamstva, da bodo takšne aplikacije primerne za določeno uporabo brez nadaljnjega testiranja ali spreminjanja.
Stranke so odgovorne za načrtovanje in delovanje svojih aplikacij in izdelkov, ki uporabljajo izdelke NXP Semiconductors, NXP Semiconductors pa ne prevzema nobene odgovornosti za kakršno koli pomoč pri oblikovanju aplikacij ali izdelkov strank. Stranka je izključno odgovorna, da ugotovi, ali je izdelek NXP Semiconductors primeren in primeren za strankine aplikacije in načrtovane izdelke ter za načrtovano uporabo in uporabo strankine tretje stranke. Stranke morajo zagotoviti ustrezne zaščitne ukrepe za načrtovanje in delovanje, da zmanjšajo tveganja, povezana z njihovimi aplikacijami in izdelki.
NXP Semiconductors ne prevzema nobene odgovornosti v zvezi s kakršno koli napako, škodo, stroški ali težavo, ki temelji na kakršni koli pomanjkljivosti ali napaki v strankinih aplikacijah ali izdelkih ali aplikaciji ali uporabi strankine tretje stranke. Stranka je odgovorna za izvedbo vseh potrebnih testiranj strankinih aplikacij in izdelkov z uporabo izdelkov NXP Semiconductors, da bi se izognili privzetim aplikacijam in izdelkim ali aplikaciji ali uporabi s strani strankine tretje stranke. NXP v zvezi s tem ne prevzema nobene odgovornosti.
Pogoji komercialne prodaje — Izdelki NXP Semiconductors se prodajajo v skladu s splošnimi pogoji komercialne prodaje, kot so objavljeni na http://www.nxp.com/profile/pogoji, razen če ni drugače dogovorjeno v veljavni pisni individualni pogodbi. V primeru sklenitve posamezne pogodbe veljajo le pogoji posamezne pogodbe. NXP Semiconductors s tem izrecno nasprotuje uporabi strankinih splošnih pogojev v zvezi z nakupom izdelkov NXP Semiconductors s strani stranke.
Izvozni nadzor — Ta dokument in predmet(i), opisani v njem, so lahko predmet predpisov o nadzoru izvoza. Izvoz lahko zahteva predhodno dovoljenje pristojnih organov.
Primernost za uporabo v neavtomobilskih izdelkih — Če ta podatkovni list izrecno ne navaja, da je ta izdelek NXP Semiconductors primeren za avtomobile, izdelek ni primeren za uporabo v avtomobilih. Ni niti kvalificiran niti preizkušen v skladu z avtomobilskimi testiranji ali zahtevami uporabe. NXP Semiconductors ne prevzema nikakršne odgovornosti za vključitev in/ali uporabo neavtomobilskih izdelkov v avtomobilski opremi ali aplikacijah.
V primeru, da stranka uporablja izdelek za načrtovanje in uporabo v avtomobilskih aplikacijah v skladu z avtomobilskimi specifikacijami in standardi, mora stranka (a) uporabljati izdelek brez garancije NXP Semiconductors za izdelek za takšne avtomobilske aplikacije, uporabo in specifikacije in ( b) kadarkoli stranka uporablja izdelek za avtomobilske aplikacije, ki presegajo specifikacije NXP Semiconductors, je taka uporaba izključno na strankino lastno odgovornost in (c) stranka v celoti odškodnini družbi NXP Semiconductors za kakršno koli odgovornost, škodo ali neuspešne zahtevke glede izdelka, ki izhajajo iz strankine zasnove in uporabe izdelek za avtomobilske aplikacije, ki presegajo standardno garancijo NXP Semiconductors in specifikacije izdelkov NXP Semiconductors.
Prevodi — Neangleška (prevedena) različica dokumenta, vključno s pravnimi informacijami v tem dokumentu, je samo za referenco. V primeru neskladja med prevedeno in angleško različico prevlada angleška različica.
Varnost — Stranka razume, da so lahko vsi izdelki NXP izpostavljeni neznanim ranljivostim ali podpirajo uveljavljene varnostne standarde ali specifikacije z znanimi omejitvami. Stranka je odgovorna za načrtovanje in delovanje svojih aplikacij in izdelkov v celotnem življenjskem ciklu, da zmanjša učinek teh ranljivosti na strankine aplikacije in izdelke. Odgovornost stranke se razširi tudi na druge odprte in/ali lastniške tehnologije, ki jih podpirajo izdelki NXP za uporabo v aplikacijah stranke. NXP ne prevzema nobene odgovornosti za kakršno koli ranljivost. Stranka mora redno preverjati varnostne posodobitve NXP in ustrezno ukrepati.
Stranka bo izbrala izdelke z varnostnimi funkcijami, ki najbolje ustrezajo pravilom, predpisom in standardom predvidene uporabe, in sprejela končne odločitve glede oblikovanja svojih izdelkov ter je izključno odgovorna za skladnost z vsemi pravnimi, regulativnimi in varnostnimi zahtevami v zvezi z njenimi izdelki, ne glede na to. kakršnih koli informacij ali podpore, ki jih lahko zagotovi NXP.
NXP ima ekipo za odzivanje na incidente varnosti izdelkov (PSIRT) (dosegljiva na PSIRT@nxp.com), ki upravlja preiskavo, poročanje in objavo rešitev za varnostne ranljivosti izdelkov NXP.
NXP BV – NXP BV ni operativno podjetje in ne distribuira ali prodaja izdelkov.
Blagovne znamke
Obvestilo: Vse navedene blagovne znamke, imena izdelkov, imena storitev in blagovne znamke so last njihovih lastnikov.
NXP — besedni znak in logotip sta blagovni znamki 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 — so blagovne znamke in/ali registrirane blagovne znamke Arm Limited (ali njegovih podružnic ali podružnic) v ZDA in/ali drugje. Povezana tehnologija je lahko zaščitena s katerim koli ali vsemi patenti, avtorskimi pravicami, dizajni in poslovnimi skrivnostmi. Vse pravice pridržane.
EdgeLock — je blagovna znamka NXP BV
i.MX — je blagovna znamka NXP BV
Upoštevajte, da so pomembna obvestila o tem dokumentu in izdelkih, opisanih v njem, vključena v razdelek »Pravne informacije«.
© 2023 NXP BV
Za več informacij obiščite: http://www.nxp.com
Vse pravice pridržane.
Datum izida: 30. maj 2023
Identifikator dokumenta: AN13951
NXP Semiconductors”
AN13951
Optimizacija porabe energije za i.MX 8ULP
Dokumenti / Viri
![]() |
NXP AN13951 Optimizacija porabe energije za i.MX 8ULP [pdf] Uporabniški priročnik AN13951, AN13951 Optimiziranje porabe energije za i.MX 8ULP, Optimiziranje porabe energije za i.MX 8ULP, Poraba energije za i.MX 8ULP, Poraba za i.MX 8ULP, i.MX 8ULP |