AN13951
Ngoptimalake Konsumsi Daya kanggo i.MX 8ULP
Wahyu 0 - 30 Mei 2023
Cathetan aplikasi
AN13951 Ngoptimalake Konsumsi Daya kanggo i.MX 8ULP
Informasi Dokumen
Informasi | Isi |
Tembung kunci | AN13951, i.MX 8ULP, Arsitektur daya, Konsumsi daya, Optimisasi piranti lunak |
Abstrak | Cathetan aplikasi iki nerangake carane ngoptimalake konsumsi daya tingkat sistem ing sawetara skenario khas karo kombinasi domain beda. |
Pambuka
Kulawarga prosesor i.MX 8ULP nampilake implementasi lanjutan NXP saka inti Arm Cortex-A35 dual bebarengan karo Arm Cortex-M33. Arsitektur gabungan iki mbisakake piranti kanggo mbukak sistem operasi sing sugih, kayata Linux, ing inti Cortex-A35 lan RTOS, kayata FreeRTOS, ing inti Cortex-M33. Uga kalebu Fusion DSP kanggo audio kurang daya lan HiFi4 DSP kanggo audio canggih lan aplikasi machine-learning. Iki ngarahake kasus panggunaan lan produk sing kurang daya lan ultra-rendah.
i.MX 8ULP nduweni desain sing rumit lan canggih kanggo nutupi macem-macem kasus panggunaan, sing mbagi SoC dadi telung domain kanthi kontrol daya lan jam sing mandiri lan khusus. Iki menehi keluwesan kanggo pangguna kanggo ngetrapake kasus panggunaan sing beda-beda kanthi nggabungake domain sing beda-beda. Cathetan aplikasi iki arep njlèntrèhaké cara ngoptimalake konsumsi daya tingkat sistem ing sawetara skenario khas kanthi kombinasi domain sing beda-beda.
Cathetan: Cathetan aplikasi iki nggunakake kode Linux lan SDK BSP minangka referensi lan examples.
Swaraview
I.MX 8ULP SoC nduweni telung domain sing kapisah: prosesor aplikasi (AP), video audio kurang daya (LPAV), lan domain wektu nyata (RT). Kontrol daya lan jam saka domain kasebut dipisahake, lan kain bis saben domain digabungake kanthi rapet kanggo komunikasi sing efisien.
Domain aplikasi (APD) digunakake kanggo komputasi kinerja dhuwur nggunakake intine dual A35 lan I/O kecepatan dhuwur kayata USB/Ethernet/eMMC. Domain LPAV (LPAVD) kanggo aplikasi multimedia kalebu audio, video, grafis, lan tampilan sing mbutuhake kinerja dhuwur lan memori DDR gedhe. Domain wektu nyata (RTD) kalebu inti M33 latensi rendah, DSP Fusion cilik kanggo pangolahan audio/swara, uPower kanggo kontrol status daya SoC total, lan Sentinel kanggo kontrol keamanan.
Gambar 1. i.MX8ULP domain
2.1 Arsitektur daya
Domain sing beda-beda duwe pasokan listrik sing kapisah (ril daya). Figure 2 nuduhake i.MX 8ULP rencana daya. Ana 18 x saklar daya (PS) kanggo modul IP internal SoC. Modul iki bisa diuripake / dipateni dening piranti lunak, liwat uPower FW API, kanggo kontrol daya sing tepat.
uPower minangka pengontrol daya tengah ing i.MX 8ULP. Firmware sing mlaku ing uPower nyedhiyakake fitur ing ngisor iki:
- Kontrol transisi mode daya.
- Meter daya kanggo pangukuran konsumsi domain daya piranti.
- Sensor suhu kanggo pangukuran suhu piranti.
- Unit olahpesen kanggo komunikasi karo prosesor on-chip.
- I2C kanggo komunikasi karo PMIC.
Ketik / metu saka mode kurang daya ditindakake kanthi nelpon uPower FW API ing piranti lunak APD utawa RTD. Kanggo ngatur PMIC kaya setelan, output ril daya voltage, watesan, etc.. kudu rampung kanthi nelpon uPower FW I2C utawa PMIC API.
Gambar 2. Arsitektur daya
2.2 Mode daya
Tabel 1 nuduhake kombinasi mode daya CA35 lan CM33 kasedhiya. SoC ora ndhukung sawetara kombinasi kasebut. Kanggo rincian liyane ing saben mode daya, waca bab "Power Management" ing i.MX 8ULP Processor Reference Manual (dokumen i.MX8ULPRM).
Tabel 1. i.MX8ULP mode daya
CA35 | CM33 | ||||
Aktif | Turu | turu jero | Daya mudhun | Daya jero mudhun | |
Aktif | YES Skenario #1 | YES Skenario #3 | YES Skenario #3 | NO | NO |
Aktif sebagian* | YA | YA | YA | NO | NO |
Turu | YA | YA | YA | NO | NO |
Turu jero* | YA | YA | YA | NO | NO |
Daya mudhun | YA Skenario #2/4 |
YA Skenario #2 |
YA Skenario #2 |
YA Skenario #2 |
YA |
Daya jero mudhun | YA | YA | YA | YA |
*Linux ora ndhukung turu jero utawa mode aktif parsial kanggo A35.
Tabel 2 peta infrastruktur daya kernel Linux menyang mode daya 8ULP.
Tabel 2. Linux BSP didhukung mode daya
daya Linux | 8 mode daya ULP |
Mlayu | Aktif |
CPU nganggur | Turu |
siyaga | N/A |
nundha | Daya mudhun |
Pateni | Daya jero mudhun |
Miturut kasus panggunaan lan skenario sing beda, pangguna bisa milih siji utawa loro utawa kabeh telung domain ing kasus utama. Kasus/skenario panggunaan iki bisa dilebokake ing patang kategori ing ngisor iki:
- Kabeh domain aktif - kayata smartwatch aktif.
- Domain RTD mung nggunakake - kayata hub sensor lan deteksi tembung kunci tangi kanthi daya sing sithik banget.
- APD aktif karo LPAV - kayata navigasi peta lan paging E-Reader.
- RTD aktif karo LPAV - kayata tampilan kurang daya lan pangolahan audio Hi-Fi.
Papat skenario iki wis ditandhani Tabel 1. Bab ing ngisor iki njlèntrèhaké cara ngoptimalake konsumsi daya kanggo skenario 2, 3, lan 4. Optimasi daya aktif kabeh domain bisa nggunakake tips saka skenario liyane.
2.3 Mode nyopir
SoC bisa ndhukung macem-macem mode nyopir: over drive (OD), nominal drive (ND), lan under drive (UD), tegese SoC bisa mlaku ing volume inti sing beda.tages karo bus lan IP frekuensi cocog. Pangguna bisa milih mode nyopir sing tepat kanggo kasus panggunaan lan kabutuhan daya.
Default BSP boot munggah SoC kanthi nglebokake APD/LPAV menyang mode OD lan RTD menyang mode ND. Pangguna bisa ngatur U-Boot lan mbukak kernel piranti-wit tartamtu files kanggo mode ND. Domain RTD mung ndhukung UD.
Tabel 3 dhaptar sawetara jam IP tombol ing mode beda.
Tabel 3. jam IP Key ing mode beda
Jeneng jam | Over Drive (1.1 V) Frekuensi (MHz) | Nominal Drive (1.0 V) Frekuensi (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 |
Kanggo jam liyane, deleng tabel frekuensi jam ing i.MX 8ULP Applications Processor—Industrial Products (dokumen IMX8ULPIEC).
mung domain RTD
Coba dipikir SDK Power_mode_switch demo minangka mantanample kasedhiya karo piranti lunak i.MX 8ULP SDK ngeculake.
Ing skenario iki, domain AP lan LPAV ana ing mode Power-down utawa jero, lan M33 inti utawa reset bisa tangi. Domain RTD bisa uga aktif, turu, turu jero, utawa mode Daya mudhun miturut konsumsi daya lan syarat wektu tangi.
Gambar 3 lan Gambar 4 nuduhake konsumsi daya lan wektu tangi kanggo saben mode kurang daya.
Gambar 3. Konsumsi daya ing mode daya sing beda
Figure 4. Sistem wektu tangi ing mode daya beda
3.1 Pilih mode kurang daya tengen
Pangguna kudu milih siji utawa luwih mode hemat daya tengen miturut syarat. Pertimbangan ing ngisor iki kudu ditindakake:
- Coba konsumsi daya SoC, PD < 300 µW, turu jero < 1 mW, turu < 50 mW
- Coba wektu tangi saka mode daya sedheng, PD > 400 µs, turu jero > 60 µs, turu > 10 µs
- Coba IP sing digunakake ing mode daya paling murah, kanthi ngrujuk Tabel 4.
Kanggo example:
1. Yen LPI2C [3] kudu fungsi utawa operasi Async, nanging ora CG / PG, nggunakake mode Turu.
2. Yen FlexSPI dibutuhake kanggo fungsi, mode daya paling turu tanpa sistem / jam bis gated.
Tabel 4. Rincian mode daya (domain wektu nyata)
Modul | Mode daya | Aktif | Turu | turu jero | Daya mudhun | Daya jero mudhun |
Domain daya negara daya | Pasokan inti = ON, Bias = AFBB lan DVS, Jam Sistem/ Bus = AKTIF, suplai I/O = AKTIF | Pasokan inti = ON, Bias = AFBB utawa ARBB, Voltage = tetep, Sistem / jam Bus = ON (opsional), I / O sumber = ON | Pasokan inti = ON, Bias = RBB Voltage/ Bias = prog, Jam Sistem/Bus = OFF, I/ 0 supply = ON | Pasokan inti = ON (mung Mem), Bias = RBB, Voltage/ Bias = prog, Sistem/Bus clock = OFF, I/ 0 supply = ON (opsional) | Pasokan inti = OFF, Bias = RBB, Voltage/ Bias = prog, Sistem/Bus clock = OFF, I/ 0 supply = ON (opsional) | |
CCGO | RTD | Fungsional | Fungsional | Fungsional (Limited) | PG | PG |
PLLO | PLL LDO | Fungsional | Fungsional | CG | PG | PG |
PLL1 (Audio) | PLL LDO | Fungsional | Fungsional | CG | PG | PG |
LPO (1 MHz) | RTD | Fungsional | Fungsional | Fungsional | PG | PG |
SYSOSC | RTD | Fungsional | Fungsional | Fungsional | PG | PG |
Kanggo rincian liyane, waca "Rincian mode daya (domain wektu nyata)" bab ing Manual Referensi Prosesor i.MX 8ULP (dokumen i.MX8ULPRM).
Coba kasus panggunaan tangi-up swara-daya cilik minangka mantanample. Mode daya paling murah sing bisa dipilih pangguna yaiku turu jero. IP mic-telpon (MICFIL) bisa digunakake ing turu jero kanthi jam FRO aktif, sing ora bisa digunakake ing mode Power-down.
3.2 Gunakake jam sing tepat
RTD domain duwe sawetara sumber jam, minangka ditampilake ing Figure 5: SYSOSC, FRO, LPO, PLL0 (sistem PLL (SPLL)), lan PLL1 (audio PLL (APLL)). Kangge, domain RTD uga bisa nggunakake domain VBAT RTC32K / 1K jam.
Gambar 5. Diagram jam RTD CGC0
- Sumber jam SYSOSC saka kristal onboard eksternal, normal 24 MHz. PLL0/1 sumber lan CM33 inti / bus bisa nggunakake sumber jam SYSOSC.
- FRO punika free mlaku osilator karo tuner, kang bisa output 192 MHz lan 24 MHz jam. FRO24 bisa digunakake kanggo PLL0 / 1 sumber, lan FRO192 bisa digunakake kanggo CM33 inti / jam bis.
- LPO tetep ing 1 MHz, digunakake dening modul IP sing kudu bisa ing mode kurang daya kaya EWM lan LPTMR.
- PLL0 mlaku ing 480 MHz lan PLL1 528 MHz. PLL0 minangka sistem PLL, digunakake dening CM33 inti/bus lan FlexSPI. PLL1 digunakake dening sistem audio kaya SAI/MICFIL/MQS. Loro-lorone bisa nyedhiyakake frekuensi jam sing luwih dhuwur kanggo inti / bus CM33.
Wiwit CM33 inti / jam bis bisa sumber saka FRO utawa SYSOSC, iku luwih apik kanggo supaya nggunakake PLL0/1 yen frekuensi sing luwih dhuwur ora dibutuhake. Mateni PLL bisa ngirit daya kanthi signifikan.
Yen PLL digunakake kanggo CM33 ing mode aktif, PLLs kudu dipateni kanthi manual sadurunge ngetik mode kurang daya (turu / turu jero / mudhun daya) kanggo ngirit daya. Iki mbutuhake sawetara langkah:
- Aktifake FRO utawa SYSOSC kanthi *setelan bit DSEN ing registrasi SCR miturut panggunaan Fusion DSP ing mode kurang daya
- Enteni validitas jam kanthi mriksa set bit VLD ing register SCR.
- Pateni modul IP sing nggunakake PLL, utawa ngalih jam menyang FRO utawa SYSOSC.
- Ganti jam CM33 kanggo FRO utawa SYSOSC karo setelan DIV inti / bis / jam alon ing CGC0.CM33CLK.
- Enteni sawetara mikrodetik. Kanggo ngenteni jam stabil, priksa bit CM33LOCKED.
- Pateni PLL0/1 kanthi mbusak bit SCR PLLEN.
3.3 Mateni lan jam gapura mode IP ora digunakake lan pemisahan SRAM
Kanggo domain RTD, sawetara switch daya bisa urip/mati (waca Bagean 7):
- PS0: CM33 inti, periferal, lan enclave EdgeLock
- PS1: Fusion DSP inti
- PS14: Fusion AON
- PS15: eFuse
Ing SDK, pangguna bisa nelpon UPOWER_PowerOffSwitches (topeng upower_ps_mask_t) lan Switch UPOWER_PowerOn (topeng upower_ps_mask_t) kanggo mateni lan ngaktifake modul yen perlu. Tabel 7 nampilake nilai paramèter topeng.
Kanggo peripheral CM33 (modul IP) sing ora digunakake, tinggalake status mateni (reset nilai), utawa mateni kanthi mbusak bit sing diaktifake, kaya LPI2C MCR master enable bit. Priksa manawa bit kontrol gapura jam PCC wis dibusak, kanggo Example, PCC1.PCC_LPI2C0[CGC] dicokot. Ing domain RTD, kabeh jam IP bisa gated jam utawa ungate dening modul jam PCC.
Pemisahan memori uga dadi pertimbangan kanggo ngirit daya yen kenangan kasebut ora digunakake. Ing SDK, pangguna bisa nelpon UPOWER_PowerOffMemPart (uint32_t mask0, uint32_t mask1) lan UPOWER_PowerOnMemPart (uint32_t mask0, uint32_t mask1) kanggo mateni lan ngaktifake partisi memori yen perlu. Tabel 8 nampilake nilai parameter mask0/1.
3.4 Mlebet mode kurang daya
Sadurunge ngetik mode daya sedheng (turu / turu jero / mateni daya), sawetara langkah kudu ditindakake kanggo mesthekake konsumsi daya sithik ing mode kasebut:
- Setelan PAD umum ing modul SIM
Ana rong jinis I/O PAD ing SoC: FSGPIO (PTA/B/E/F) lan HSGPIO (PTC/D). Kanggo ngirit daya ing mode kurang daya, pangguna kudu:
- Pateni fungsi ganti rugi kanggo HSGPIO kanthi mbusak bit COMPE ing registrasi PTC/D_COMPCELL.
- Watesan sawetara operasi I/O kanggo FSGPIO, sing dianggo ing 1.8 V kanthi nyetel bit PTx_OPERATION_RANGE
DGO_GP10/11 RTD_SEC_SIM lan DGO_GP4/5 APD_SIM. Ing EVK, PTB dianggo kanggo 1.8 V. Pangguna kudu matesi sawetara operasi PTB kanggo 1.8 V kanthi nyetel RTD_SEC_SIM[DGO_GP11] = 0x1. - Pateni pin I/O kanthi nyetel PAD mux menyang fungsi analog hi-Z Kajaba kanggo pin sing digunakake dening GPIO wake-up utawa fungsi modul ing mode kurang daya, kabeh pin PTA/B/C liyane kudu disetel menyang fungsi analog dhuwur-Z kanggo ngirit daya. Mbusak bit mux ing IOMUX0.PCR0_PTA/B/Cx ndhaftar bisa entuk iki. Ing SDK, pangguna bisa langsung nemtokake 0 menyang item array ing ngisor iki:
PTA: IOMUXC0->PCR0_IOMUXCARRAY0[x] PTB: IOMUXC0->PCR0_IOMUXCARRAY1[x] PTC: IOMUXC0->PCR0_IOMUXCARRAY2[x] Kanggo example, IOMUXC0-> PCR0_IOMUXCARRY0 [1] = 0 bisa mateni PTA1.
Cathetan: Wiwit PMIC kudu diatur liwat I2C (PTB10/11) sak transisi mode daya, sampeyan ora bisa mateni pin iki.
Kanggo njaga pin I/O minangka sumber tangi, setelan ing ngisor iki kudu ditindakake kanggo mode daya sing beda:
- Mode daya mudhun:
1. Aktifake bit pin ing ndhaftar WUU0 PE1 / PE2.
2. Konfigurasi pin mux ing IOMUXC0-> PCR0_IOMUXCARRYx kanggo fungsi WUU0_Pxx. Kanggo rincian, deleng I / Tabel Osignal ditempelake ing i.MX 8ULP Prosesor Reference Manual (dokumen i.MX8ULPRM).
– Mode Turu / Turu jero: Setel ndhaftar pengontrol interupsi saka grup GPIO (GPIOx->ICR) kanthi bener. - Tampilan PLLs - Ngalih jam inti / bus menyang FRO utawa LPO.
- Setup PMIC kanggo nyetel sumber daya voltage kanggo mode kurang daya
i.MX 8ULP ndhukung nyetel saka VDD_DIG0/1/2 ril daya voltage utawa langsung mateni sawetara ril (mung ndhukung ngalih mati LSW1 VDD_PTC ing EVK saiki lan SDK ing mode daya mudhun) sak transisi mode daya. Ngurangi voltage ing mode kurang daya bisa nyuda konsumsi daya kanthi efektif.
Mateni sawetara ril bisa mateni daya langsung kanggo ngirit daya. Tabel 5 nuduhake vol khastages saka VDD_DIG0/1 ing mode daya beda (VDD_DIG2 disambungake karo DIG1 ing Papan EVK. Bisa diatur bebarengan karo VDD_DIG1).
Tabel 5. Sumber daya voltage ing mode daya beda
Rel daya Aktif Turu turu jero Daya mudhun 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 Kanggo ngurangi voltage saka ril daya, pangguna kudu ngandhani uPower carane ngatur PMIC sajrone transisi daya kanthi nambahake item struktur ps_rtd_pmic_reg_data_cfgs_t menyang pwr_sys_cfg->ps_rtd_ pmic_reg_data_cfg [] array. Njupuk PCA9460 PMIC ing EVK minangka mantanamping ngisor iki:
1. Ketik mode Power-down:
a. Mudhun BUCK2 (VDD_DIG0) nganti 0.65 V.
b. Pateni LSW1 kanggo sumber daya PTC I/O.
2. Metu saka mode Power-down:
a. Angkat munggah BUCK2 (VDD_DIG0) bali menyang 1.0 V.
b. Ngaktifake LSW1 kanggo sumber daya PTC I/O.
Ing struktur, anggota power_mode nemtokake mode daya target kanggo setelan PMIC iki, kanggo Example, PD_RTD_PWR_MODE, tegese setelan iki ditrapake nalika mode daya ditransfer menyang daya mudhun. i2c_addr minangka alamat registrasi ing PMIC, lan i2c_data minangka nilai registrasi sing kudu dikonfigurasi.
Kanggo informasi luwih lengkap babagan alamat registrasi lan bit, waca PCA9460, IC Manajemen Daya kanggo Lembar Data i.MX 8ULP (dokumen PCA9460DS). - Setel uPower kanggo saklar daya, saklar partisi memori, lan konfigurasi PAD:
Kanggo loro struktur iki kanggo transisi mode daya, deleng lpm.c ing demo power_mode_switch.
Pangguna bisa njaga setelan kasebut supaya ora disentuh kajaba setelan tambahan dibutuhake kayata, urip/mati, sawetara modul IP, lan susunan memori. Pangguna bisa nguripake / mateni ngalih daya kanthi nyetel swt_board [0]: SWT_BOARD (on / off bit, topeng). Definisi bit bisa ditemokake ing Tabel 7. Power on / off memory array bisa ditindakake kanthi nyetel swt_mem [0]: SWT_MEM (SRAM Ctrl array bit, SRAM peripheral bit, mask). Definisi bit bisa ditemokake ing Tabel 8.
Kanggo rincian liyane babagan setelan transisi mode daya saka uPower, waca Pandhuan Pangguna Firmware uPower (dokumen UPOWERFWUG). - Telpon uPower kanggo transisi daya. Njupuk ngetik mode daya mudhun minangka mantanample, deleng fungsi LPM_SystemPowerDown (void) ing demo SDK power_mode_switch.
Sawise sistem tangi saka mode kurang daya, pangguna kudu mbalekake kabeh setelan registrasi sadurunge mlebu. Kanggo example, ing setelan IOMUXC, pangguna bisa nggunakake variabel Uploaded statis kanggo nyimpen nilai kabeh PCR0 lan mulihake.
APD domain aktif karo LPAV
Njupuk rilis NXP Linux minangka mantanampsistem operasi kanggo domain APD.
4.1 Sijine RTD menyang turu
Njaga domain RTD ing mode Turu bisa ngirit udakara 20 mW ~ 40 mW dibandhingake karo mode aktif. Uga, priksa manawa pin GPIO sing ora digunakake mati.
4.2 Pateni IP lan pin sing ora digunakake ing Linux DTS (wit piranti)
Pateni simpul piranti bisa ngindhari daya piranti iki utawa ora nguripake jam. Kanggo example, kanggo mateni GPU3D ing sumber wit piranti (DTS):
Kanggo nyegah ngalih daya PS7 saka nguripake, mateni GPU3D. Yen DCNano, MIPI DSI/CSI, lan GPU2D kabeh dipateni, banjur PLL4 ora bisa diaktifake.
Supaya ora ngaktifake I / O PAD kanggo pin kasebut, mateni pin sing ora digunakake ing node pinctrl.
4.3 Gunakake DVFS
i.MX 8ULP Linux ndhukung voltage lan fitur skala frekuensi, kanthi resmi dikenal minangka DVFS ing platform i.MX liyane. Voltage / fitur ukuran frekuensi ora mbosenke dipun ginakaken ing piranti lunak. Pangguna kudu ngalih nggunakake sysfs kernel Linux. Kanggo nggunakake VFS, mbukak imx8ulp-evk-nd.dtb minangka wit piranti standar kanggo boot munggah sistem. Banjur mlebu mode bis sedheng kanthi:Kernel nindakake owah-owahan ing ngisor iki:
- Ngurangi frekuensi inti DDR saka 528 MHz kanggo 96 MHz.
- Ngurangi jam APD NIC dadi 192 MHz kanthi nggunakake FRO minangka sumber jam tinimbang PLL.
- Ngurangi jam LPAV AXI dadi 192 MHz kanthi nggunakake FRO minangka sumber jam tinimbang PLL.
- Ngurangi jam cpu A35 dadi 500 MHz.
- Kurang mudhun ril daya BUCK3 (VDD_DIG1/2) voltage dadi 1.0 V saka 1.1 V.
Metu lan bali menyang mode bis dhuwur:4.4 Gunakake mode drive nominal (VDD_DIG1/2 1.0 V)
i.MX 8ULP SoC mlaku ing mode overdrive kanthi standar U-Boot lan konfigurasi kernel. Yen kinerja dhuwur ora dadi syarat utama, pangguna bisa mbukak SoC ing mode drive nominal nalika boot kanggo ngirit daya. Iku konfigurasi statis; pangguna ora bisa mbosenke ngganti voltage utawa frekuensi sawise boot munggah.
U-Boot: Mbangun U-Boot karo konfigurasi imx8ulp_evk_nd_defconfig. Iku nindakake owah-owahan ing ngisor iki:
- Ngisor ril VDD_DIG1/2 (BUCK3) nganti 1.0 V nalika miwiti.
- Ngatur jam DDR kanggo 266 MHz tinimbang 528 MHz.
- Ngurangi jam LPAV/APD NIC dadi 192 MHz.
- Ngurangi jam inti A35 dadi 750 MHz.
Kernel: mbukak imx8ulp-evk-nd.dtb nalika boot. Ngurangi jam GPU2D / 3D dadi 200 MHz, HiFi4 DSP inti
jam kanggo 260 MHz, uSDHC0 kanggo 194 MHz, lan uSDHC1 / 2 kanggo 97 MHz.
Domain RTD aktif karo LPAV
Njupuk kasus panggunaan "tansah-tampilan" minangka mantanample, kasedhiya karo cathetan aplikasi iki. Ing kasus iki, RTD ngakses pengontrol tampilan DCNano kanggo nampilake isi ing PSRAM. Kanggo rincian, deleng kode sing ditempelake ing cathetan aplikasi iki.
5.1 Ngaktifake domain LPAV
Sawise Linux digantung, domain AP lan LPAV mlebu ing mode Power-down. RTD kudu njupuk kepemilikan domain LPAV saka APD dhisik:
- SIM_RTD_SEC.SYSCTRL0[LPAV_MASTER_CTRL] = 0 // nyetel RTD dadi domain master domain LPAV
- SIM_RTC_SEC.LPAV_MASTER_ALLOC_CTRL = 0 // ngalokasikan IP master LPAV menyang RTD
- SIM_RTC_SEC.LPAV_SLAVE_ALLOC_CTRL = 0 // ngalokasikan IP slave LPAV menyang RTD
Banjur, nerusake VDD_DIG2 (BUCK3) daya inti saka domain LPAV kanggo 1.05 V utawa 1.1 V kanggo mesthekake kabeh IP ing LPAV bisa digunakake kanthi bener dening uPower upwr_vtm_pmic_config () API.
Pungkasan, tarik domain LPAV saka mode Daya mudhun menyang mode aktif:Ing kasus panggunaan tampilan sing tansah aktif, pangguna kudu nguripake ing ngisor iki supaya kabeh pipa tampilan bisa digunakake:
- saklar daya MIPI-DSI
- Partisi memori kanggo pengontrol tampilan DCNano
- MIPI-DSI
- FlexSPI FIFO buffer
5.3 Ngatur jam
Domain LPAV mung nduweni siji PLL kanggo sumber jam. Dadi pangguna kudu ngaktifake lan PFD kanggo drive IP.
Aktifake PLL4 karo PFD lan PFDDIV
Pilih PLL4 PFD0DIV1 minangka sumber jam kanggo DCNano lan aktifake jam ing PCC:
Sawise saklar daya diuripake lan jam wis siyap, pangguna bisa nggunakake driver SDK kanggo ngakses lan ngontrol IP domain LPAV.
Tabel 6 nampilake dokumen lan sumber daya tambahan sing bisa dirujuk kanggo informasi luwih lengkap. Sawetara dokumen ing ngisor iki mung kasedhiya ing perjanjian non-disclosure (NDA). Kanggo njaluk akses menyang dokumen kasebut, hubungi insinyur aplikasi lapangan lokal (FAE) utawa wakil sales.
Tabel 6. Dokumentasi / sumber sing gegandhengan
Dokumen | Link / carane ngakses |
PCA9460, IC Manajemen Daya kanggo Lembar Data i.MX 8ULP (dokumen PCA9460DS) | PCA9460DS |
uPower Firmware User's Guide (dokumen UPOWERFWUG) | UPOWERFWUG |
Manual Referensi Prosesor i.MX 8ULP (dokumen i.MX8 ULPRM) Hubungi insinyur aplikasi lapangan lokal NXP (Frepresentative. | Hubungi insinyur aplikasi lapangan lokal NXP (FAE) utawa wakil sales. |
Prosesor Aplikasi i.MX 8ULP—Produk Industri (dokumen IMX8ULPIEC) | Hubungi insinyur aplikasi lapangan lokal NXP (FAE) utawa wakil sales. |
MCUXpresso SDK Builder | https://mcuxpresso.nxp.com/en/welcome |
Lampiran
Tabel 7 nuduhake jeneng, nomer logis, lan bit kanggo saben ngalih daya.
Tabel 7. Ngalih daya
Fungsi | Ngalih daya logis | bit |
CM33 | PSO | 0 |
Fusion | PS1 | 1 |
A35[0] Inti | PS2 | 2 |
A35[1] Inti | PS3 | 3 |
Mercury L2 Cache [1] | PS4 | 4 |
NIC cepet / Mercury | PS5 | 5 |
APD Periph | PS6 | 6 |
GPU3D | PS7 | 7 |
HiFi4 | PS8 | 8 |
Pengontrol DDR | PS9 | 9 |
PXP, EPDC | PS13 | 10 |
MIPI-DSI | PS14 | 11 |
MIPI CSI | PS15 | 12 |
NIC AV / Periph | PS16 | 13 |
Fusion AO | PS17 | 14 |
SEKRING | PS18 | 15 |
uPower | PS19 | 16 |
Tabel 8 nuduhake bit lan jeneng saben kontrol partisi memori.
Tabel 8. Ctrls partisi memori
SRAM CTRL ARRAY_O (APD/LPAV) MaskerO |
SRAM CTRL ARRAY_1 (RTD) Topeng1 |
||
bit | Kenangan dikontrol | bit | Kenangan dikontrol |
0 | CA35 inti 0 L1 cache | 0 | Casper RAM |
1 | CA35 inti 1 L1 cache | 1 | DMAO RAM |
2 | L2 Cache 0 | 2 | RAM FIexCAN |
3 | L2 Cache 1 | 3 | FIexSPIO FIFO, Buffer |
4 | L2 Cache korban/tag | 4 | FlexSPI1 FIFO, Buffer |
5 | CAAM Aman RAM | 5 | Cache CM33 |
6 | DMA1 RAM | 6 | PowerQuad RAM |
7 | FlexSPI2 FIFO, Buffer | 7 | ETF RAM |
8 | SRAMO | 8 | Sentinel PKC, Data 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 lan USB1 TX / RX RAM | 13 | Partisi SSRAM 0 |
14 | GIC RAM | 14 | Partisi SSRAM 1 |
15 | ENET TX FIXO | 15 | Partisi SSRAM 2,3,4 |
16 | Cadangan (Brainshift) | 16 | Partisi SSRAM 5 |
17 | DCNano Tile2Linear lan Koreksi RGB | 17 | Partisi SSRAM 6 |
18 | Kursor DCNano lan FIFO | 18 | Partisi SSRAM 7_a (128 kB) |
19 | EPDC LUT | 19 | Partisi SSRAM 7_b (64 kB) |
20 | EPDC FIFO | 20 | Partisi SSRAM 7_c (64 kB) |
21 | DMA2 RAM | 21 | Sentinel Data RAM0, Inst RAM2 |
22 | GPU2D RAM Group 1 | 22 | dilindhungi |
23 | GPU2D RAM Group 2 | 23 | |
24 | GPU3D RAM Group 1 | 24 | |
25 | GPU3D RAM Group 2 | 25 | |
26 | HIFI4 Cache, IRAM, DRAM | 26 | |
27 | ISI Buffer | 27 | |
28 | MIPI-CSI FIFO | 28 | |
29 | MIPI-DSI FIFO | 29 | |
30 | Cache PXP, Buffer | 30 | |
31 | SRAM1 | 31 |
Wigati babagan kode sumber ing dokumen kasebut
ExampKode sing ditampilake ing dokumen iki nduweni hak cipta lan lisensi BSD-3-Clause:
Hak Cipta YYYY NXP Distribusi ulang lan digunakake ing sumber lan formulir binar, kanthi utawa tanpa modifikasi, diijini yen syarat ing ngisor iki dipenuhi:
- Distribusi ulang kode sumber kudu njaga kabar hak cipta ing ndhuwur, dhaptar kahanan iki lan wewaler ing ngisor iki.
- Distribusi ulang ing wangun binar kudu ngasilake kabar hak cipta ing ndhuwur, dhaptar kahanan iki lan wewaler ing ngisor iki ing dokumentasi lan / utawa bahan liyane kudu diwenehake karo distribusi kasebut.
- Jeneng sing duwe hak cipta utawa jeneng panganggo uga ora bisa digunakake kanggo nyengkuyung utawa promosi produk sing dijupuk saka piranti lunak iki tanpa ijin tertulis sadurunge.
PERANGKAT LUNAK IKI DISEDIAKAN DENING SING DUWE HAK CIPTA lan KONTRIBUTOR "AS IS" LAN JAMINAN TERSEBUT UTAWA TERSIRAT, Klebu, nanging ora diwatesi, JAMINAN DAGANG lan KESESUAIAN KANGGO TUJUAN TERTENTU. Ora ana sing duwe HAK CIPTA utawa kontributor TANGGUNG JAWAB LANGSUNG, LANGSUNG, INCIDENTAL, KHUSUS, EXEMPLARY, UTAWA KERUSAKAN KONSEQUENTIAL (kalebu, nanging ora winates, pengadaan barang-barang pengganti, layanan, layanan, layanan; UTAWA GANGGUAN BISNIS) Nanging nyebabake lan ing sembarang teori tanggung jawab, apa ing KONTRAK, TANGGUNG JAWAB STRICT, UTAWA TORT (kalebu teledor utawa liyane) njedhul ing sembarang cara metu saka panggunaan SOFTWARE THIS, sanajan DAMPOSSIBILED OF THE.
Riwayat revisi
Tabel 9 ngringkes owah-owahan sing ditindakake kanggo dokumen iki wiwit rilis dhisikan.
Tabel 9. Riwayat revisi
Nomer revisi | Tanggal | owah-owahan substantif |
0 | 30 Mei 2023 | Rilis wiwitan |
Informasi hukum
10.1 Definisi
Draft - A status konsep ing document nuduhake yen isi isih ing re internalview lan tundhuk persetujuan resmi, sing bisa nyebabake modifikasi utawa tambahan. NXP Semiconductors ora menehi perwakilan utawa garansi babagan akurasi utawa kelengkapan informasi sing kalebu ing versi konsep dokumen lan ora duwe tanggung jawab kanggo akibat saka panggunaan informasi kasebut.
10.2 Bantahan
babar pisan winates lan tanggung jawab - Informasi ing dokumen iki dipercaya akurat lan dipercaya. Nanging, NXP Semikonduktor ora menehi perwakilan utawa jaminan, sing ditulis utawa diwenehake, babagan akurasi utawa jangkep informasi kasebut lan ora duwe tanggung jawab kanggo akibat saka panggunaan informasi kasebut. NXP Semiconductors ora tanggung jawab kanggo isi ing dokumen iki yen diwenehake dening sumber informasi ing njaba NXP Semiconductors.
NXP Semiconductors ora bakal tanggung jawab kanggo karusakan ora langsung, insidental, punitive, khusus utawa konsekuensial (kalebu - tanpa watesan ilang bathi, ilang tabungan, gangguan bisnis, biaya sing ana gandhengane karo penghapusan utawa panggantos produk utawa biaya kerja ulang) ora karusakan kuwi adhedhasar tort (kalebu teledor), babar pisan, nerbitake kontrak utawa teori legal liyane.
Senadyan karusakan apa wae sing bisa ditindakake dening pelanggan kanthi alasan apa wae, tanggung jawab agregat lan kumulatif NXP Semikonduktor marang pelanggan kanggo produk sing diterangake ing kene bakal diwatesi miturut Katentuan lan kahanan adol komersial NXP Semikonduktor.
Hak kanggo nggawe owah-owahan - NXP Semiconductors nduweni hak kanggo ngowahi informasi sing diterbitake ing dokumen iki, kalebu tanpa watesan spesifikasi lan deskripsi produk, kapan wae lan tanpa kabar. Dokumen iki ngganti lan ngganti kabeh informasi sing diwenehake sadurunge diterbitake.
Cocog kanggo nggunakake - Produk NXP Semiconductors ora dirancang, sah utawa dijamin cocok kanggo digunakake ing dhukungan urip, sistem utawa peralatan sing kritis utawa safety-kritis, utawa ing aplikasi sing gagal utawa malfungsi produk NXP Semikonduktor bisa diduga nyebabake bundhas pribadi, pati utawa property abot utawa karusakan lingkungan. NXP Semikonduktor lan panyedhiya ora tanggung jawab kanggo inklusi lan/utawa nggunakake produk NXP Semiconductors ing peralatan utawa aplikasi kasebut lan mulane kalebu lan/utawa panggunaan kasebut tanggung jawab kanggo pelanggan.
Aplikasi — Aplikasi sing diterangake ing kene kanggo samubarang produk iki mung kanggo ilustrasi. NXP Semiconductors ora menehi perwakilan utawa garansi manawa aplikasi kasebut cocog kanggo panggunaan sing ditemtokake tanpa tes utawa modifikasi luwih lanjut.
Pelanggan tanggung jawab kanggo desain lan operasi aplikasi lan produk sing nggunakake produk NXP Semiconductors, lan NXP Semiconductors ora tanggung jawab kanggo bantuan karo aplikasi utawa desain produk pelanggan. Tanggung jawab tunggal pelanggan kanggo nemtokake manawa produk NXP Semiconductors cocok lan pas kanggo aplikasi lan produk sing direncanakake, uga kanggo aplikasi sing direncanakake lan panggunaan pelanggan pihak katelu. Pelanggan kudu menehi desain lan perlindungan operasi sing cocog kanggo nyuda risiko sing ana gandhengane karo aplikasi lan produk.
NXP Semiconductors ora nampa tanggung jawab sembarang related kanggo standar sembarang, karusakan, biaya utawa masalah kang adhedhasar sembarang kekirangan utawa gawan ing aplikasi utawa produk customer, utawa aplikasi utawa digunakake dening customer pihak katelu (e). Pelanggan tanggung jawab kanggo nindakake kabeh tes sing dibutuhake kanggo aplikasi lan produk pelanggan nggunakake produk NXP Semiconductors supaya ora dadi standar aplikasi lan produk utawa aplikasi utawa digunakake dening pelanggan pihak katelu. NXP ora nanggung tanggung jawab babagan iki.
Sarat lan kahanan sale komersial - Produk NXP Semiconductors didol tundhuk karo syarat umum lan kahanan adol komersial, kaya sing diterbitake ing http://www.nxp.com/profile/ syarat, kajaba digunakake sarujuk ing persetujuan individu ditulis bener. Ing kasus persetujuan individu rampung mung syarat lan katemtuan saka persetujuan pamilike bakal ditrapake. NXP Semiconductors kanthi iki kanthi tegas mbantah kanggo ngetrapake syarat lan kahanan umum pelanggan babagan tuku produk NXP Semiconductors dening pelanggan.
Kontrol ekspor - Dokumen iki uga item (e) sing diterangake ing kene bisa uga tundhuk karo peraturan kontrol ekspor. Ekspor bisa uga mbutuhake wewenang sadurunge saka panguwasa sing kompeten.
Cocog kanggo digunakake ing produk qualified non-otomotif - Yen lembar data iki kanthi tegas nyatakake yen produk Semikonduktor NXP spesifik iki nduweni kualifikasi otomotif, produk kasebut ora cocok kanggo panggunaan otomotif. Ora qualified utawa dites sesuai karo tes otomotif utawa syarat aplikasi. NXP Semiconductors ora tanggung jawab kanggo inklusi lan / utawa nggunakake produk qualified non-otomotif ing peralatan otomotif utawa aplikasi.
Yen pelanggan nggunakake produk kanggo desain lan digunakake ing aplikasi otomotif kanggo spesifikasi lan standar otomotif, pelanggan (a) kudu nggunakake produk kasebut tanpa jaminan NXP Semikonduktor kanggo produk kasebut kanggo aplikasi, panggunaan lan spesifikasi otomotif kasebut, lan ( b) nalika pelanggan nggunakake produk kanggo aplikasi otomotif ngluwihi spesifikasi NXP Semikonduktor, panggunaan kasebut mung dadi resiko pelanggan dhewe, lan (c) pelanggan menehi ganti rugi kanthi lengkap NXP Semikonduktor kanggo tanggung jawab, kerusakan utawa klaim produk sing gagal amarga desain lan panggunaan pelanggan. produk kanggo aplikasi otomotif ngluwihi babar pisan standar NXP Semikonduktor lan specifications produk NXP Semikonduktor.
Terjemahan — Versi non-Inggris (diterjemahake) saka dokumen, kalebu informasi hukum ing dokumen kasebut, mung kanggo referensi. Versi Inggris bakal ditrapake yen ana bedo antarane versi terjemahan lan Inggris.
Keamanan — Pelanggan mangertos manawa kabeh produk NXP bisa ngalami kerentanan sing ora dingerteni utawa ndhukung standar keamanan utawa spesifikasi sing wis ditemtokake kanthi watesan sing dingerteni. Pelanggan tanggung jawab kanggo desain lan operasi aplikasi lan produk sajrone siklus urip kanggo nyuda efek saka kerentanan kasebut ing aplikasi lan produk pelanggan. Tanggung jawab pelanggan uga ngluwihi teknologi mbukak lan/utawa eksklusif liyane sing didhukung produk NXP kanggo digunakake ing aplikasi pelanggan. NXP ora tanggung jawab kanggo kerentanan apa wae. Pelanggan kudu rutin mriksa nganyari keamanan saka NXP lan tindakake kanthi tepat.
Pelanggan kudu milih produk kanthi fitur keamanan sing paling cocog karo aturan, peraturan, lan standar aplikasi sing dituju lan nggawe keputusan desain sing paling penting babagan produk lan tanggung jawab mung kanggo netepi kabeh syarat legal, peraturan, lan keamanan babagan produke, preduli informasi utawa dhukungan sing bisa diwenehake dening NXP.
NXP duwe Product Security Incident Response Team (PSIRT) (bisa digayuh ing PSIRT@nxp.com) sing ngatur investigasi, laporan, lan rilis solusi kanggo kerentanan keamanan produk NXP.
NXP BV - NXP BV dudu perusahaan operasi lan ora nyebarake utawa ngedol produk.
merek dagang
Kabar: Kabeh merek sing dirujuk, jeneng produk, jeneng layanan, lan merek dagang minangka properti sing nduweni.
NXP — wordmark lan logo iku merek dagang saka 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 - minangka merek dagang lan/utawa merek dagang kadhaptar saka Arm Limited (utawa anak perusahaan utawa afiliasi) ing AS lan/utawa ing papan liya. Teknologi sing gegandhengan bisa dilindhungi dening samubarang utawa kabeh paten, hak cipta, desain lan rahasia dagang. Kabeh hak dilindhungi undhang-undhang.
EdgeLock - iku merek dagang saka NXP BV
i.MX - iku merek dagang saka NXP BV
Wigati dimangerteni manawa kabar penting babagan dokumen iki lan produk sing diterangake ing kene, wis kalebu ing bagean 'Informasi hukum'.
© 2023 NXP BV
Kanggo informasi luwih lengkap, bukak: http://www.nxp.com
Kabeh hak dilindhungi undhang-undhang.
Tanggal rilis: 30 Mei 2023
Pengenal dokumen: AN13951
NXP Semikonduktor"
AN13951
Ngoptimalake Konsumsi Daya kanggo i.MX 8ULP
Dokumen / Sumber Daya
![]() |
NXP AN13951 Ngoptimalake Konsumsi Daya kanggo i.MX 8ULP [pdf] Pandhuan pangguna AN13951, AN13951 Ngoptimalake Konsumsi Daya kanggo i.MX 8ULP, Ngoptimalake Konsumsi Daya kanggo i.MX 8ULP, Konsumsi Daya kanggo i.MX 8ULP, Konsumsi kanggo i.MX 8ULP, i.MX 8ULP |