AN13951
Оптимизирање на потрошувачката на енергија за i.MX 8ULP
Отк. 0 — 30 мај 2023 година
Забелешка за апликација
AN13951 Оптимизирање на потрошувачката на енергија за i.MX 8ULP
Информации за документот
Информации | Содржина |
Клучни зборови | AN13951, i.MX 8ULP, Архитектура на енергија, Потрошувачка на енергија, Оптимизација на софтвер |
Апстракт | Оваа белешка за апликација опишува како да се оптимизира нивото на потрошувачката на енергија на системот во неколку типични сценарија со различни комбинации на домени. |
Вовед
Семејството на процесори i.MX 8ULP се одликува со напредна NXP имплементација на двојните Arm Cortex-A35 јадра заедно со Arm Cortex-M33. Оваа комбинирана архитектура му овозможува на уредот да работи богати оперативни системи, како што е Linux, на јадрото Cortex-A35 и RTOS, како што е FreeRTOS, на јадрото Cortex-M33. Вклучува и Fusion DSP за аудио со мала моќност и HiFi4 DSP за напредни апликации за аудио и машинско учење. Таа ги таргетира случаите и производите со мала и ултра ниска моќност.
i.MX 8ULP има комплексен и напреден дизајн за покривање различни случаи на употреба, кои го делат SoC на три домени со независни и посветени контроли за напојување и часовник. Ова обезбедува флексибилност за корисниците да имплементираат различни случаи на употреба со комбинирање на различни домени. Оваа белешка за апликација има намера да опише како да се оптимизира потрошувачката на енергија на ниво на системот во неколку типични сценарија со различни комбинации на домени.
Забелешка: Оваа белешка за апликација користи Linux и SDK код на BSP како референци и прampлес.
Во текот наview
i.MX 8ULP SoC има три посебни домени: процесор за апликации (AP), аудио видео со мала моќност (LPAV) и домени во реално време (RT). Контролите за напојување и часовник на овие домени се одвоени, а магистралната ткаенина на секој домен е цврсто интегрирана за ефикасна комуникација.
Апликацискиот домен (APD) се користи за пресметување со високи перформанси со користење на двојни A35 јадра и брз влез/излез, како што се USB/Ethernet/eMMC. LPAV доменот (LPAVD) е за мултимедијални апликации вклучувајќи аудио, видео, графика и дисплеи за кои е потребна DDR меморија со високи перформанси и голема. Доменот во реално време (RTD) вклучува јадро M33 со мала латентност, мал Fusion DSP за обработка на аудио/глас, uPower за целосна контрола на статусот на моќност на SoC и Sentinel за безбедносна контрола.
Слика 1. домени i.MX8ULP
2.1 Архитектура на моќност
Различни домени имаат посебни напојувања (power rail). Слика 2 ја прикажува шемата за напојување i.MX 8ULP. Има 18 x прекинувачи за напојување (PS) за внатрешни IP модули на SoC. Овие модули може да се вклучат/исклучуваат со софтвер, преку uPower FW API, за прецизна контрола на напојувањето.
uPower е централен контролер за напојување во i.MX 8ULP. Фирмверот што работи на uPower ги обезбедува следниве карактеристики:
- Контролор за транзиција на режимот на напојување.
- Мерач на моќност за мерење на потрошувачката на домени на уред-моќ.
- Температурен сензор за мерење на температурата на уредот.
- Единици за пораки за комуникација со процесори на чип.
- I2C за комуникација со PMIC.
Внесувањето/излегувањето од режимите со мала потрошувачка се врши со повикување на uPower FW API во софтверот APD или RTD. За да ја конфигурирате поставката како PMIC, излезната шина за напојување voltage, ограничување, итн. мора да се направи со повикување на uPower FW I2C или PMIC API.
Слика 2. Архитектура на моќност
2.2 Режими на напојување
Табела 1 ја прикажува достапната комбинација на режими за напојување CA35 и CM33. SoC не поддржува некои од комбинациите. За повеќе детали за секој режим на напојување, погледнете го поглавјето „Управување со енергија“ во Референтното упатство за процесорот i.MX 8ULP (документ i.MX8ULPRM).
Табела 1. i.MX8ULP режими на напојување
CA35 | CM33 | ||||
Активен | Спиј | Длабок сон | Исклучување на струјата | Длабоко моќ надолу | |
Активен | ДА Сценарио бр.1 | ДА Сценарио бр.3 | ДА Сценарио бр.3 | БР | БР |
Делумно активни* | ДА | ДА | ДА | БР | БР |
Спиј | ДА | ДА | ДА | БР | БР |
Длабок сон * | ДА | ДА | ДА | БР | БР |
Исклучување на струјата | ДА Сценарио #2/4 |
ДА Сценарио бр. 2 |
ДА Сценарио бр. 2 |
ДА Сценарио бр. 2 |
ДА |
Длабоко моќ надолу | ДА | ДА | ДА | ДА |
*Linux не поддржува длабок сон или делумно активен режим за A35.
Табела 2 ја мапира инфраструктурата за напојување на јадрото на Линукс во режими на напојување со 8ULP.
Табела 2. Линукс BSP поддржани режими на напојување
Моќ на Linux | 8 ULP режими на напојување |
Трчај | Активен |
Процесорот е неактивен | Спиј |
Во мирување | N/A |
Суспендирај | Исклучување на струјата |
Исклучете го | Длабоко моќ надолу |
Според различни случаи на употреба и сценарија, корисникот може да избере еден или два или сите три домени во главните случаи. Овие употребни случаи/сценарија може да се поделат во следните четири категории:
- Активни се сите домени – како што е паметниот часовник активни.
- RTD доменот користи само – како што се сензорскиот центар и откривањето на клучни зборови за гласовно будење со многу мала моќност.
- APD е активен со LPAV – како што се навигација на карти и страничење со E-Reader.
- RTD е активен со LPAV – како што е екранот со мала моќност и Hi-Fi аудио обработка.
Овие четири сценарија се означени Табела 1. Следните поглавја опишуваат како да се оптимизира потрошувачката на енергија за сценаријата 2, 3 и 4. Оптимизациите на активната моќност на сите домени може да ги искористат советите од другите сценарија.
2.3 Режими на возење
SoC може да поддржува различни режими на возење: преку возење (OD), номинален погон (ND) и под возење (UD), што значи дека SoC може да работи под различни јачини на јадротоtagе со соодветна магистрала и IP фреквенција. Корисниците можат да го изберат вистинскиот режим на возење за нивните случаи и потребата за енергија.
Стандардно BSP го подига SoC со ставање на APD/LPAV во OD режим и RTD во ND режим. Корисниците можат да го конфигурираат U-Boot и да вчитаат специфично стебло на уреди за јадро files за ND режим. RTD доменот поддржува само UD.
Табела 3 наведува неколку клучни IP часовници под различни режими.
Табела 3. Клучни IP часовници под различни режими
Име на часовникот | Фреквенција преку погон (1.1 V) (MHz) | Номинален погон (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 |
За повеќе часовници, погледнете ја табелата со фреквенции на часовникот во i.MX 8ULP Applications Processor—Industrial Products (документ IMX8ULPIEC).
Само RTD домен
Размислете SDK Power_mode_switch демо како ексampобезбедено со софтверот i.MX 8ULP SDK ослободување.
Во ова сценарио, домените AP и LPAV се во режим на исклучување или длабоко исклучување, а јадрото M33 или ресетирањето може да ги разбуди. RTD доменот може да биде или во активен, режим на мирување, длабок сон или режим на исклучување во согласност со барањата за потрошувачка на енергија и време на будење.
Слика 3 и Слика 4 прикажете ја потрошувачката на енергија и времето на будење за секој режим со мала моќност.
Слика 3. Потрошувачка на енергија во различни режими на енергија
Слика 4. Време на будење на системот во различни режими на напојување
3.1 Изберете го вистинскиот режим на ниска потрошувачка на енергија
Корисникот мора да избере еден или повеќе правилни режими на заштеда на енергија со мала моќност според барањата. Треба да се земат предвид следните размислувања:
- Размислете за потрошувачката на енергија на SoC, PD < 300 µW, длабок сон < 1 mW, спиење < 50 mW
- Размислете за времето на будење од режимите со мала моќност, PD > 400 µs, длабок сон > 60 µs, спиење > 10 µs
- Размислете за IP-адресите што се користат во режимите со најниска моќност, со упатување Табела 4.
За прampле:
1. Ако LPI2C[3] мора да биде функционална или асинхронизирана, но не и CG/PG, користете режим на мирување.
2. Ако се бара FlexSPI да биде функционален, режимот со најниска моќност е спиење без затворен часовник на системот/автобусот.
Табела 4. Детали за режимот на напојување (домен во реално време)
Модули | Режими на напојување | Активен | Спиј | Длабок сон | Исклучување на струјата | Длабока моќ надолу |
Енергетска состојба моќ домен | Основно напојување = ВКЛУЧЕНО, пристрасност = AFBB и DVS, часовници на систем/магистрала = вклучено, напојување на влез/излез = вклучено | Основно снабдување = ВКЛУЧЕНО, Пристрасност = AFBB или ARBB, Voltage = фиксна, часовник на систем/магистрала = ВКЛУЧЕНО (опционално), напојување на влез/излез = ВКЛУЧЕНО | Основно снабдување = ВКЛУЧЕНО, Пристрасност = RBB Voltage/ Пристрасност = прог, часовник на систем/магистрала = ИСКЛУЧЕН, I/ 0 напојување = ВКЛУЧЕНО | Основно снабдување = ВКЛУЧЕНО (само за мем), пристрасност = RBB, Voltage/ Пристрасност = прог, часовник на систем/магистрала = исклучен, I/ 0 напојување = ВКЛУЧЕНО (опционално) | Основно снабдување = ИСКЛУЧЕНО, Пристрасност = RBB, Voltage/ Пристрасност = прог, часовник на систем/магистрала = исклучен, I/ 0 напојување = ВКЛУЧЕНО (опционално) | |
CCGO | RTD | Функционални | Функционални | Функционално (ограничено) | PG | PG |
PLLO | PLL LDO | Функционални | Функционални | CG | PG | PG |
PLL1 (Аудио) | PLL LDO | Функционални | Функционални | CG | PG | PG |
LPO (1 MHz) | RTD | Функционални | Функционални | Функционални | PG | PG |
SYSOSC | RTD | Функционални | Функционални | Функционални | PG | PG |
За повеќе детали, погледнете во поглавјето „Детали за режимот на напојување (домен во реално време)“ во Референтниот прирачник за процесорот i.MX 8ULP (документ i.MX8ULPRM).
Размислете за употреба на случај за гласовно будење со мала моќност како прampле. Режимот со најниска енергија што може да го избере корисникот е длабок сон. IP-а на микрофонот (MICFIL) може да работи во длабок сон со вклучен FRO часовник, што не е функционално во режим на исклучување.
3.2 Користете ги соодветните часовници
RTD доменот има неколку извори на часовник, како што е прикажано на Слика 5: SYSOSC, FRO, LPO, PLL0 (системски PLL (SPLL)) и PLL1 (аудио PLL (APLL)). Во меѓувреме, доменот RTD може да го користи и VBAT доменот RTC32K/1K часовник.
Слика 5. Дијаграм на часовникот RTD CGC0
- Изворот на часовникот SYSOSC е од надворешен вграден кристал, нормален 24 MHz. Изворот PLL0/1 и јадрото/магистралата CM33 можат да го користат изворот на часовникот SYSOSC.
- FRO е бесплатен осцилатор со тјунер, кој може да емитува такт од 192 MHz и 24 MHz. FRO24 може да се користи за изворот PLL0/1, а FRO192 може да се користи за CM33 јадрени/магистрални часовници.
- LPO е фиксиран на 1 MHz, користен од IP модули кои мора да работат во режими со мала моќност како EWM и LPTMR.
- PLL0 работи на 480 MHz, а PLL1 е 528 MHz. PLL0 е системот PLL, кој се користи од CM33 core/bus и FlexSPI. PLL1 се користи од аудио системи како SAI/MICFIL/MQS. И двете можат да обезбедат поголема фреквенција на часовникот за јадрото/магистралата CM33.
Бидејќи часовникот на јадрото/магистралата CM33 може да се набави од FRO или SYSOSC, подобро е да се избегнува користење на PLL0/1 доколку не е потребна поголема фреквенција. Исклучувањето на PLL може значително да заштеди енергија.
Ако PLL се користат за CM33 во активен режим, тие мора рачно да се исклучат пред да влезат во режими со ниска потрошувачка на енергија (спиење/длабок сон/исклучување) за да се заштеди енергија. Ова бара неколку чекори:
- Овозможете FRO или SYSOSC со *DSEN поставки за битови во SCR регистрите според употребата на Fusion DSP во режими со мала моќност
- Почекајте ја валидноста на часовникот со проверка на VLD битот поставен во регистарот SCR.
- Оневозможете ги IP-модулите што користат PLL или префрлете го часовникот на FRO или SYSOSC.
- Префрлете го часовникот CM33 на FRO или SYSOSC со DIV поставки за јадро/магистрала/бавен часовник во CGC0.CM33CLK.
- Почекајте неколку микросекунди. За да го чекате стабилниот часовник, проверете го битот CM33LOCKED.
- Оневозможете го PLL0/1 со бришење на битот SCR PLLEN.
3.3 Исклучување и неискористени IP режими и SRAM партиција
За доменот RTD, неколку прекинувачи за напојување може да се вклучат/исклучат (видете во Дел 7):
- PS0: CM33 јадро, периферни уреди и EdgeLock енклава
- PS1: Fusion DSP јадро
- PS14: Fusion AON
- PS15: eFuse
Во SDK, корисникот може да ги повика UPOWER_PowerOffSwitches (upower_ps_mask_t маска) и UPOWER_PowerOn Switches (upower_ps_mask_t маска) за да ги исклучи и вклучи модулите по потреба. Табелата 7 ја прикажува вредноста на параметрите на маската.
За CM33 периферни уреди (IP модул) што не се користат, оставете го како статус на оневозможување (вредност на ресетирање) или оневозможете го со бришење на неговиот овозможен бит, како што е LPI2C MCR master enable bit. Проверете дали е исчистен битот за контрола на портата на часовникот PCC, на прample, PCC1.PCC_LPI2C0[CGC] бит. Во доменот RTD, сите IP часовници можат да бидат затворени или незаклучени со PCC часовници.
Поделбата на меморијата исто така е важна за заштеда на енергија ако тие мемории не се користат. Во SDK, корисникот може да повика UPOWER_PowerOffMemPart(uint32_t mask0, uint32_t mask1) и UPOWER_PowerOnMemPart(uint32_t mask0, uint32_t mask1) за да ги исклучи и вклучи мемориските партиции по потреба. Табела 8 ја прикажува вредноста на параметрите mask0/1.
3.4 Влегување во режим на ниска потрошувачка на енергија
Пред да влезете во режимите со ниска потрошувачка на енергија (спиење/длабок сон/исклучување), мора да се направат неколку чекори за да се осигура дека потрошувачката на енергија е мала во тие режими:
- Општи поставки на PAD во SIM-модулот
Постојат два типа на I/O PAD-и во SoC: FSGPIO (PTA/B/E/F) и HSGPIO (PTC/D). За да заштеди енергија во режим на ниска енергија, корисникот треба:
– Оневозможете ја функцијата за компензација за HSGPIO со бришење на битот COMPE во регистрите PTC/D_COMPCELL.
– Ограничете го опсегот на работа I/O за FSGPIO, кој работи во рамките на 1.8 V со поставување PTx_OPERATION_RANGE бит во
DGO_GP10/11 од RTD_SEC_SIM и DGO_GP4/5 од APD_SIM. На EVK, PTB работи за 1.8 V. Корисникот треба да го ограничи опсегот на работа на PTB на 1.8 V со поставување RTD_SEC_SIM[DGO_GP11] = 0x1. - Оневозможете ги I/O пиновите со поставување на PAD mux на аналогна hi-Z функција Освен пиновите што се користат од GPIO будење или функцијата на модулот во режими со мала моќност, сите други PTA/B/C пинови треба да се постават на аналогна high-Z функција за заштеда на енергија. Ова може да се постигне со бришење на mux-битовите во регистрите IOMUX0.PCR0_PTA/B/Cx. Во SDK, корисникот може директно да додели 0 на долунаведените ставки од низата:
PTA: IOMUXC0->PCR0_IOMUXCARRAY0[x] PTB: IOMUXC0->PCR0_IOMUXCARRAY1[x] PTC: IOMUXC0->PCR0_IOMUXCARRAY2[x] За прample, IOMUXC0->PCR0_IOMUXCARRY0[1] = 0 може да го оневозможи PTA1.
Забелешка: Бидејќи PMIC мора да се конфигурира преку I2C (PTB10/11) за време на транзицијата на режимот на напојување, не можете да ги оневозможите овие пинови.
За да го задржите влезниот/излезен пин да делува како извор за будење, треба да се направат долунаведените поставки за различни режими на напојување:
– Режим на исклучување:
1. Овозможете го битот за пинови во регистрите WUU0 PE1/PE2.
2. Конфигурирајте го пинот mux во функцијата IOMUXC0->PCR0_IOMUXCARRYx во WUU0_Pxx. За детали, погледнете ја табелата I/Osignal прикачена во Референтниот прирачник за процесорот i.MX 8ULP (документ i.MX8ULPRM).
– Режим Sleep/Deep sleep: правилно поставете ги регистрите на контролорот за прекини на групата GPIO (GPIOx->ICR). - Прикажи PLL - Префрлете ги основните/магистралните часовници на FRO или LPO.
- Поставете PMIC за да ја прилагодите јачината на напојувањетоtage за режими со мала моќност
i.MX 8ULP поддржува прилагодување на VDD_DIG0/1/2 енергетска шина волtagд или директно исклучете некои шини (само го поддржува исклучувањето LSW1 VDD_PTC во тековните EVK и SDK при режими за исклучување) за време на транзицијата на режимите на напојување. Намалување на јачината на звукотtage во режими со мала моќност може да ја намали потрошувачката на енергија на ефективен начин.
Исклучувањето на некои шини може директно да го прекине напојувањето за да заштеди струја. Табела 5 го покажува типичниот томtages од VDD_DIG0/1 под различни режими на напојување (VDD_DIG2 е врзан со DIG1 на EVK плочата. Може да се прилагоди заедно со VDD_DIG1).
Табела 5. Напојување волtage под различни режими на напојување
Енергетска шина Активен Спиј Длабок сон Исклучување на струјата VDD_DIGO 1.05 В 1.05 В 0.73 В 0.65 В VDD_DIG1 1.05 В 1.05 В 0.73 В 0.73 В Да се намали јачината на звукотtage од електричните шини, корисникот треба да му каже на uPower како да го конфигурира PMIC за време на транзиција на моќност со додавање ставки од структурата ps_rtd_pmic_reg_data_cfgs_t во низата pwr_sys_cfg->ps_rtd_ pmic_reg_data_cfg[]. Земете PCA9460 PMIC на EVK како ексampле подолу:
1. Влезете во режим на исклучување:
а. Намалете го BUCK2 (VDD_DIG0) на 0.65 V.
б. Исклучете го LSW1 за напојување со PTC I/O.
2. Излезете од режимот за исклучување:
а. Подигнете го BUCK2 (VDD_DIG0) назад на 1.0 V.
б. Вклучете го LSW1 за PTC I/O напојување.
Во структурата, членот power_mode ги дефинира целните режими на моќност за оваа поставка PMIC, на прample, PD_RTD_PWR_MODE, што значи дека оваа поставка се применува кога режимот за напојување се префрла на исклучување. i2c_addr е адресата на регистарот во PMIC, а i2c_data е вредноста на регистарот што мора да се конфигурира.
За повеќе информации за адресата на регистарот и битовите, погледнете го PCA9460, Power Management IC for i.MX 8ULP Data Sheet (документ PCA9460DS). - Поставете uPower за прекинувачот за напојување, прекинувачот за мемориска партиција и конфигурацијата на PAD:
За овие две структури за транзиција во режим на напојување, погледнете во lpm.c во демонстрацијата power_mode_switch.
Корисникот може да ги задржи тие поставки недопрени освен ако не се потребни дополнителни поставки како што се вклучување/исклучување, некои IP-модули и мемориска низа. Корисниците можат да ги вклучат/исклучуваат прекинувачите за напојување со поставување на swt_board[0]: SWT_BOARD (битови за вклучување/исклучување, маски). Дефиницијата на битови може да се најде во Табела 7. Вклучување/исклучување на мемориската низа може да се направи со поставување на swt_mem[0]: SWT_MEM(битови од низата SRAM Ctrl, битови за периферни SRAM, маски). Дефиницијата на битови може да се најде во Табела 8.
За повеќе детали за поставките за транзиција на режимот на напојување на uPower, погледнете во Упатството за корисникот на фирмверот uPower (документ UPOWERFWUG). - Јавете се на uPower за транзиција на енергија. Прифатете го режимот за исклучување како прample, погледнете ја функцијата на LPM_SystemPowerDown(void) во демонстрацијата на SDK power_mode_switch.
Откако системот ќе се разбуди од режимите со мала моќност, корисникот мора да ги врати сите поставки за регистри пред да влезе. За прample, во поставките на IOMUXC, корисникот може да користи променлива на статична низа за да ги зачува вредностите на сите PCR0 и да ги врати.
APD доменот е активен со LPAV
Земете го NXP Linux издание како ексampоперативен систем за APD домен.
4.1 Ставете го RTD во сон
Одржувањето на доменот RTD во режим на мирување може да заштеди околу 20 mW ~ 40 mW во споредба со активниот режим. Исто така, проверете дали неискористените GPIO пинови се исклучени.
4.2 Оневозможете ја неискористената IP адреса и пиновите во Linux DTS (дрвото на уредите)
Оневозможувањето на јазолот на уредот може да избегне да го напојува уредов или да го оневозможи неговиот часовник. За прample, за да го оневозможите GPU3D во изворот на дрвото на уредот (DTS):
За да спречите вклучување на прекинувачот за напојување PS7, оневозможете го GPU3D. Ако DCNano, MIPI DSI/CSI и GPU2D се оневозможени, тогаш PLL4 не се вклучува.
За да избегнете овозможување I/O PAD за тие пинови, оневозможете ги неискористените пинови во pinctrl јазлите.
4.3 Користете DVFS
i.MX 8ULP Linux поддржува voltage и карактеристики за скалирање на фреквенција, формално познати како DVFS на други i.MX платформи. волtagКарактеристиките за скалирање на е/фреквенција не се динамично имплементирани во софтверот. Корисникот мора да се префрли со користење на кернелот на Linux sysfs. За да користите VFS, вчитајте го imx8ulp-evk-nd.dtb како стандардно стебло на уреди за да го подигнете системот. Потоа внесете го режимот на низок автобус со:Кернелот ги прави следните промени:
- Намалете ја фреквенцијата на јадрото DDR од 528 MHz на 96 MHz.
- Намалете го APD NIC часовникот на 192 MHz со користење на FRO како извор на часовник наместо PLL.
- Намалете го часовникот LPAV AXI на 192 MHz користејќи FRO како извор на часовник наместо PLL.
- Намалете го часовникот на процесорот A35 на 500 MHz.
- Намалете ја шината за напојување BUCK3 (VDD_DIG1/2) voltage до 1.0 V од 1.1 V.
Излезете и вратете се во режим на висока автобуска:4.4 Користете номинален режим на возење (VDD_DIG1/2 1.0 V)
i.MX 8ULP SoC работи во режим на overdrive по стандардни конфигурации на U-Boot и кернел. Ако високите перформанси не се клучен услов, корисникот може да го стартува SoC во режим на номинален погон при подигнување за да заштеди енергија. Тоа е статичка конфигурација; корисникот не може динамички да го промени томtage или фреквенција по подигање.
U-Boot: Изградете U-Boot со конфигурација imx8ulp_evk_nd_defconfig. Ги прави следните промени:
- Намалете го VDD_DIG1/2 (BUCK3) напојната шина на 1.0 V додека се подига.
- Конфигурирајте го часовникот DDR на 266 MHz наместо 528 MHz.
- Намалете го LPAV/APD NIC часовникот на 192 MHz.
- Намалете го тактот на јадрото A35 на 750 MHz.
Јадрото: вчитај imx8ulp-evk-nd.dtb на подигање. Го намалува часовникот на GPU2D/3D на 200 MHz, HiFi4 DSP јадро
такт до 260 MHz, uSDHC0 до 194 MHz и uSDHC1/2 до 97 MHz.
RTD домен активен со LPAV
Земете ја футролата за употреба „секогаш на екранот“ како прample, достапно со оваа белешка за апликација. Во овој случај, RTD пристапува до контролорот на екранот DCNano за прикажување на содржината во PSRAM. За детали, погледнете го кодот прикачен на оваа белешка за апликација.
5.1 Овозможи LPAV домен
По суспендирањето на Linux, доменот AP и LPAV влегува во режим на исклучување. RTD мора прво да ја преземе сопственоста на доменот LPAV од APD:
- SIM_RTD_SEC.SYSCTRL0[LPAV_MASTER_CTRL] = 0 // го поставува RTD да биде главен домен на LPAV доменот
- SIM_RTC_SEC.LPAV_MASTER_ALLOC_CTRL = 0 // доделува LPAV главната IP на RTD
- SIM_RTC_SEC.LPAV_SLAVE_ALLOC_CTRL = 0 // алоцира LPAV slave IP на RTD
Потоа, продолжете со основната моќност на VDD_DIG2 (BUCK3) на LPAV доменот на 1.05 V или 1.1 V за да се осигурате дека сите IP-адреси во LPAV работат правилно со uPower upwr_vtm_pmic_config() API.
Конечно, извлечете го доменот LPAV од режим на исклучување во активен режим:Во случајот за употреба со секогаш вклучен екран, корисникот мора да го вклучи следново за да функционира целата линија на екранот:
- MIPI-DSI прекинувач за напојување
- Мемориски партиции за контролер на екранот DCNano
- MIPI-DSI
- FlexSPI FIFO бафери
5.3 Конфигурирајте ги часовниците
LPAV доменот има само еден PLL за извори на часовник. Значи, корисникот мора да му овозможи на него и на неговиот PFD да вози IP-адреси.
Овозможете PLL4 со неговите PFD и PFDDIV
Изберете го PLL4 PFD0DIV1 како извор на часовник за DCNano и овозможете го неговиот часовник во PCC:
Откако ќе се вклучи прекинувачот за напојување и часовниците се подготвени, корисникот може да ги користи двигателите на SDK за пристап и контрола на IP доменот LPAV.
Табелата 6 наведува дополнителни документи и ресурси на кои може да се повикате за повеќе информации. Некои од документите наведени подолу може да бидат достапни само според договор за необјавување (NDA). За да побарате пристап до овие документи, контактирајте со локалниот инженер за апликации на терен (FAE) или претставник за продажба.
Табела 6. Поврзана документација/ресурси
Документ | Врска/како да пристапите |
PCA9460, ИЦ за управување со енергија за i.MX 8ULP лист со податоци (документ PCA9460DS) | PCA9460DS |
Упатство за корисникот на фирмверот uPower (документ UPOWERFWUG) | UPOWERFWUG |
Референтен прирачник за процесорот i.MX 8ULP (документ i.MX8 ULPRM) Контактирајте со инженерот за локални теренски апликации на NXP (Frepresentative. | Контактирајте со NXP локалниот инженер за теренски апликации (FAE) или претставник за продажба. |
i.MX 8ULP процесор за апликации — индустриски производи (документ IMX8ULPIEC) | Контактирајте со NXP локалниот инженер за теренски апликации (FAE) или претставник за продажба. |
MCUXpresso SDK Builder | https://mcuxpresso.nxp.com/en/welcome |
Додаток
Табела 7 ги прикажува името, логичкиот број и битот за секој прекинувач за напојување.
Табела 7. Прекинувачи за напојување
Функција | Логички прекинувач за напојување | Бит |
CM33 | ПСО | 0 |
Фузија | PS1 | 1 |
Јадро A35[0] | PS2 | 2 |
Јадро A35[1] | PS3 | 3 |
Меркур L2 Кеш [1] | PS4 | 4 |
Брза NIC / Меркур | PS5 | 5 |
APD Periph | PS6 | 6 |
GPU3D | PS7 | 7 |
HiFi4 | PS8 | 8 |
DDR контролер | PS9 | 9 |
PXP, EPDC | PS13 | 10 |
MIPI-DSI | PS14 | 11 |
MIPI CSI | PS15 | 12 |
NIC AV / Periph | PS16 | 13 |
Фузија АО | PS17 | 14 |
ОСИГУРУВАЧ | PS18 | 15 |
uPower | PS19 | 16 |
Табела 8 ги прикажува битот и името на секој контролер на мемориска партиција.
Табела 8. Ctrls на партиција на меморија
SRAM CTRL ARRAY_O (APD/LPAV) MaskO |
SRAM CTRL ARRAY_1 (RTD) Маска 1 |
||
Бит | Спомени се контролирани | Бит | Спомени се контролирани |
0 | Кеш CA35 Core 0 L1 | 0 | Каспер RAM меморија |
1 | Кеш CA35 Core 1 L1 | 1 | DMAO RAM меморија |
2 | L2 Кеш 0 | 2 | FIexCAN RAM меморија |
3 | L2 Кеш 1 | 3 | FIexSPIO FIFO, тампон |
4 | Жртва на кешот L2/tag | 4 | FlexSPI1 FIFO, тампон |
5 | CAAM Безбедна RAM меморија | 5 | CM33 Кеш |
6 | DMA1 RAM меморија | 6 | PowerQuad RAM меморија |
7 | FlexSPI2 FIFO, тампон | 7 | ETF RAM меморија |
8 | СРАМО | 8 | Sentinel PKC, Data RAM1, Inst RAMO/1 |
9 | AD ROM | 9 | Сентинел 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 | SSRAM партиција 0 |
14 | GIC RAM меморија | 14 | SSRAM партиција 1 |
15 | ENET TX FIXO | 15 | SSRAM партиција 2,3,4 |
16 | Резервирано (Brainshift) | 16 | SSRAM партиција 5 |
17 | DCNano Tile2Linear и RGB корекција | 17 | SSRAM партиција 6 |
18 | DCNano курсорот и FIFO | 18 | SSRAM партиција 7_a (128 kB) |
19 | EPDC LUT | 19 | SSRAM партиција 7_b (64 kB) |
20 | EPDC FIFO | 20 | SSRAM партиција 7_c (64 kB) |
21 | DMA2 RAM меморија | 21 | Сентинел податоци RAM0, Inst RAM2 |
22 | GPU2D RAM Група 1 | 22 | Резервирано |
23 | GPU2D RAM Група 2 | 23 | |
24 | GPU3D RAM Група 1 | 24 | |
25 | GPU3D RAM Група 2 | 25 | |
26 | HIFI4 кешови, IRAM, DRAM | 26 | |
27 | ISI бафери | 27 | |
28 | MIPI-CSI FIFO | 28 | |
29 | MIPI-DSI FIFO | 29 | |
30 | PXP кешови, бафери | 30 | |
31 | SRAM1 | 31 |
Забелешка за изворниот код во документот
Exampкодот прикажан во овој документ ги има следните авторски права и лиценца BSD-3-Clause:
Авторски права YYYY NXP Прераспределбата и употребата во изворни и бинарни форми, со или без модификација, се дозволени под услов да се исполнети следниве услови:
- Прераспределбата на изворниот код мора да го задржи горенаведеното известување за авторски права, оваа листа на услови и следното одрекување.
- Прераспределбите во бинарна форма мора да го репродуцираат горенаведеното известување за авторски права, оваа листа на услови и следното одрекување во документацијата и/или други материјали мора да бидат обезбедени со дистрибуцијата.
- Ниту името на сопственикот на авторските права ниту имињата на неговите соработници не смеат да се користат за одобрување или промовирање на производи добиени од овој софтвер без конкретно претходно писмено одобрение.
ОВОЈ СОФТВЕР ГО ОБЕЗБЕДУВААТ НОСИТЕЛИТЕ НА АВТОРСКИТЕ ПРАВА И ПРИДОНЕСИТЕЛИ „КАКО ШТО СЕ“ И КОЈА ИЗРАЗНИ ИЛИ ИММПЛИЦИРАНИ ГАРАНЦИИ, ВКЛУЧУВАЈЌИ, НО НЕ ОГРАНИЧЕНИ НА, ИММПЛИЦИРАНАТА ГАРАНЦИЈА ЗА БЕСПЛАТНА ГАРАНЦИЈА . ВО НИКОЈ СЛУЧАЈ НОСИТЕЛОТ НА АВТОРСКИТЕ ПРАВА ДА СЕ ОДГОВОРУВААТ ЗА НИКАКВА ДИРЕКТНА, ИНДИРЕКТНА, ИНЦИДЕНТАЛНА, ПОСЕБНА, ПРИМЕРНА ИЛИ СОСЕДНИЧКА ШТЕТА (ВКЛУЧУВАЊЕ, НЕ ОГРАНИЧЕНО ОГРАНИЧЕНО; НА КОРИСТЕЊЕ, ПОДАТОЦИ ИЛИ ДОБИВКИ; ИЛИ ДЕЛОВЕН ПРЕКИН) КАКО И ДА СЕ ПРЕДИЗВИКУВААТ И ЗА КОЈА ТЕОРИЈА НА ОДГОВОРНОСТ, БИЛО БИЛО ДОГОВОР, СТРОГА ОДГОВОРНОСТ ИЛИ ДЕЛОК (ВКЛУЧУВАЈТЕ ГО НЕМОРНИЦА ИЛИ ПОинаку) КОИ СЕ ПОСЛЕДУВААТ НА КОЈ НАЧИН F МОЖНОСТА ЗА ТАКВА ШТЕТА.
Историја на ревизии
Табела 9 ги сумира промените направени на овој документ од првичното објавување.
Табела 9. Историја на ревизии
Број на ревизија | Датум | Суштински промени |
0 | 30 мај 2023 година | Почетно ослободување |
Правни информации
10.1 Дефиниции
Нацрт — Нацрт статус на документ покажува дека содржината е сè уште под внатрешна ревизијаview и предмет на формално одобрување, што може да резултира со измени или дополнувања. NXP Semiconductors не дава никакви забелешки или гаранции за точноста или комплетноста на информациите вклучени во нацрт верзијата на документот и нема да има одговорност за последиците од употребата на таквите информации.
10.2 Одрекување
Ограничена гаранција и одговорност — Се верува дека информациите во овој документ се точни и веродостојни. Сепак, NXP Semiconductors не дава никакви изјави или гаранции, изразени или имплицирани, за точноста или комплетноста на тие информации и нема да има одговорност за последиците од употребата на тие информации. NXP Semiconductors не презема никаква одговорност за содржината во овој документ доколку е обезбедена од извор на информации надвор од NXP Semiconductors.
Во никој случај NXP Semiconductors нема да биде одговорен за какви било индиректни, случајни, казнени, посебни или последователни штети (вклучувајќи - без ограничување изгубена добивка, изгубени заштеди, прекин на бизнисот, трошоци поврзани со отстранување или замена на какви било производи или трошоци за преработка) без разлика дали или таквите штети не се засноваат на деликт (вклучувајќи небрежност), гаранција, прекршување на договорот или која било друга правна теорија.
Без оглед на штетите што може да ги направи клиентот од која било причина, збирната и кумулативната одговорност на NXP Semiconductors кон купувачот за производите опишани овде ќе биде ограничена во согласност со Условите и условите за комерцијална продажба на NXP Semiconductors.
Право да се прават промени — NXP Semiconductors го задржува правото да прави промени на информациите објавени во овој документ, вклучително и без ограничување спецификации и описи на производи, во секое време и без известување. Овој документ ги заменува и заменува сите информации доставени пред објавувањето на овој документ.
Погодност за употреба — Производите на NXP Semiconductors не се дизајнирани, овластени или со гаранција за да бидат соодветни за употреба во системи или опрема за одржување во живот, критични за животот или безбедноста, ниту во апликации каде што може разумно да се очекува дека дефектот или неисправноста на производот од NXP Semiconductors ќе резултира со лична повреда, смрт или тешка материјална или еколошка штета. NXP Semiconductors и неговите добавувачи не прифаќаат никаква одговорност за вклучување и/или користење на производите на NXP Semiconductors во таква опрема или апликации и затоа таквото вклучување и/или користење е на сопствен ризик на клиентот.
Апликации — Апликациите што се опишани овде за кој било од овие производи се само за илустративни цели. NXP Semiconductors не дава никаква изјава или гаранција дека таквите апликации ќе бидат соодветни за наведената употреба без дополнително тестирање или модификација.
Клиентите се одговорни за дизајнот и работењето на нивните апликации и производи кои користат производи на NXP Semiconductors, а NXP Semiconductors не прифаќа никаква одговорност за каква било помош со апликации или дизајн на производи од клиентите. Единствена одговорност на купувачот е да утврди дали производот на NXP Semiconductors е соодветен и одговара за апликациите на клиентот и планираните производи, како и за планираната апликација и употреба на клиентите од трета страна на клиентот. Клиентите треба да обезбедат соодветен дизајн и оперативни заштитни мерки за да ги минимизираат ризиците поврзани со нивните апликации и производи.
NXP Semiconductors не прифаќа никаква одговорност поврзана со какви било стандардни, оштетувања, трошоци или проблем што се заснова на каква било слабост или стандардно во апликациите или производите на клиентот, или апликацијата или употребата од страна на клиентите од трета страна на клиентот. Клиентот е одговорен за извршување на сите неопходни тестирања за апликациите и производите на клиентот со користење на производите на NXP Semiconductors со цел да се избегне неисполнување на стандардот на апликациите и производите или на апликацијата или употреба од страна на клиентите од трети страни на клиентот. NXP не прифаќа никаква одговорност во овој поглед.
Услови и правила за комерцијална продажба — Производите на NXP Semiconductors се продаваат според општите услови за комерцијална продажба, објавени на http://www.nxp.com/profile/услови, освен ако не е поинаку договорено во валиден писмен индивидуален договор. Во случај да се склучи поединечен договор ќе се применуваат само условите и условите од соодветниот договор. NXP Semiconductors со ова изрично се спротивставува на примената на општите услови и услови на клиентот во однос на купувањето производи на NXP Semiconductors од страна на клиентот.
Контрола на извозот — Овој документ, како и ставките опишани овде може да подлежат на прописи за контрола на извозот. За извоз може да биде потребно претходно одобрение од надлежните органи.
Соодветност за употреба во не-автомобилски квалификувани производи — Освен ако овој лист со податоци изречно не наведува дека овој специфичен производ на NXP Semiconductors е квалификуван за автомобилска индустрија, производот не е соодветен за автомобилска употреба. Не е ниту квалификуван ниту тестиран во согласност со барањата за автомобилско тестирање или апликација. NXP Semiconductors не прифаќа никаква одговорност за вклучување и/или употреба на производи кои не се квалификувани за автомобили во автомобилска опрема или апликации.
Во случај клиентот да го користи производот за дизајнирање и употреба во автомобилски апликации според автомобилските спецификации и стандарди, клиентот (а) ќе го користи производот без гаранција за производот од NXP Semiconductors за такви автомобилски апликации, употреба и спецификации, и ( б) секогаш кога клиентот го користи производот за автомобилски апликации надвор од спецификациите на NXP Semiconductors, таквата употреба ќе биде исклучиво на сопствен ризик на клиентот, и (в) клиентот целосно ги обештетува NXP Semiconductors за каква било одговорност, штети или неуспешни барања за производот што произлегуваат од дизајнот и употребата на клиентот производот за автомобилски апликации надвор од стандардната гаранција на NXP Semiconductors и спецификациите на производот на NXP Semiconductors.
Преводи — Неанглиската (преведена) верзија на документ, вклучувајќи ги правните информации во тој документ, е само за референца. Англиската верзија ќе преовладува во случај на несовпаѓање помеѓу преведените и англиските верзии.
Безбедност — Клиентот разбира дека сите NXP производи може да бидат предмет на неидентификувани пропусти или може да поддржуваат воспоставени безбедносни стандарди или спецификации со познати ограничувања. Клиентот е одговорен за дизајнот и функционирањето на неговите апликации и производи во текот на нивниот животен циклус за да се намали ефектот на овие пропусти врз апликациите и производите на клиентите. Одговорноста на клиентот се протега и на други отворени и/или сопственички технологии поддржани од производите на NXP за употреба во апликациите на клиентите. NXP не прифаќа никаква одговорност за каква било ранливост. Клиентот треба редовно да ги проверува безбедносните ажурирања од NXP и соодветно да ги следи.
Клиентот ќе избере производи со безбедносни карактеристики кои најдобро ги задоволуваат правилата, прописите и стандардите на наменетата апликација и ќе ги донесе крајните одлуки за дизајн во врска со неговите производи и е единствено одговорен за усогласеноста со сите законски, регулаторни и безбедносни барања поврзани со неговите производи, без оглед на за какви било информации или поддршка што може да ги обезбеди NXP.
NXP има тим за одговор на инциденти за безбедност на производот (PSIRT) (достапен на PSIRT@nxp.com) што управува со истрагата, известувањето и ослободувањето на решенијата за безбедносните пропусти на производите на NXP.
NXP BV – NXP BV не е компанија која работи и не дистрибуира или продава производи.
Заштитни знаци
Забелешка: Сите референцирани брендови, имиња на производи, имиња на услуги и заштитни знаци се сопственост на нивните соодветни сопственици.
NXP — Зборникот и логото се заштитни знаци на 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, разноврсна — се заштитни знаци и/или регистрирани заштитни знаци на Arm Limited (или нејзините подружници или филијали) во САД и/или на друго место. Поврзаната технологија може да биде заштитена со кој било или сите патенти, авторски права, дизајни и трговски тајни. Сите права се задржани.
EdgeLock — е заштитен знак на NXP BV
i.MX — е заштитен знак на NXP BV
Имајте предвид дека важните известувања во врска со овој документ и производот(ите) опишани овде, се вклучени во делот „Правни информации“.
© 2023 NXP BV
За повеќе информации, посетете: http://www.nxp.com
Сите права се задржани.
Датум на издавање: 30 мај 2023 година
Идентификатор на документ: AN13951
NXP полупроводници“
AN13951
Оптимизирање на потрошувачката на енергија за i.MX 8ULP
Документи / ресурси
![]() |
NXP AN13951 Оптимизирање на потрошувачката на енергија за i.MX 8ULP [pdf] Упатство за корисникот AN13951, AN13951 Оптимизирање на потрошувачката на енергија за i.MX 8ULP, оптимизирање на потрошувачката на енергија за i.MX 8ULP, Потрошувачка на енергија за i.MX 8ULP, Потрошувачка за i.MX 8ULP, i.MX 8ULP |