Il supporto della DVSF del System-on-Module i.MX 8M Plus per le frequenze della CPU
La Dynamic Voltage and Frequency Scaling (DVFS) è una sofisticata tecnica di gestione dell'alimentazione, essenziale per ottimizzare le prestazioni e l'efficienza energetica dei sistemi embedded. Regolando dinamicamente la tensione e la frequenza di un processore in base alle richieste del carico di lavoro, la DVFS riduce efficacemente il consumo energetico e la generazione di calore. Ciò è particolarmente importante negli ambienti alimentati a batteria e con vincoli termici, dove l'efficienza energetica e la gestione termica sono fattori cruciali.
La tecnica funziona abbassando la frequenza del processore, il che porta direttamente alla riduzione dell'utilizzo di energia e della produzione di calore. Allo stesso tempo, la regolazione della tensione assicura che il processore rimanga stabile e funzioni in modo affidabile in vari stati di prestazioni. Questa regolazione dinamica offre diversi vantaggi chiave:
- Efficienza energetica: la DVFS riduce in modo significativo il consumo energetico, prolungando così la durata della batteria dei dispositivi portatili. Si tratta quindi di una caratteristica fondamentale per i dispositivi mobili e IoT che si affidano a fonti di alimentazione limitate.
- Gestione termica: riducendo la generazione di calore, la DVFS contribuisce a mantenere l'affidabilità e le prestazioni dei dispositivi. Una gestione termica efficace impedisce il surriscaldamento, che altrimenti potrebbe causare guasti all'hardware o deterioramento delle prestazioni.
- Ottimizzazione delle prestazioni: la DVFS bilancia le prestazioni e l'utilizzo di energia fornendo, quando serve, la potenza di calcolo richiesta e conservando l'energia durante le attività meno esigenti. Questo equilibrio garantisce che i dispositivi possano funzionare in modo efficiente senza compromettere l'efficienza energetica.
L'implementazione della DVFS sul System on Module (SoM) i.MX 8M Plus ne mette in evidenza l'importanza, i meccanismi operativi e i passaggi necessari per sfruttare questa funzione al fine di ottenere prestazioni ottimali ed efficienza energetica. Comprendendo e utilizzando la DVFS, gli sviluppatori possono migliorare l'efficienza energetica e l'affidabilità dei loro sistemi embedded, rendendoli più robusti e capaci in varie applicazioni.
Panoramica del System-on-Module i.MX 8M Plus
Il System-on-Module (SoM) i.MX 8M Plus (Figura 1) è costruito attorno al processore per applicazioni i.MX 8M Plus di NXP. Questo processore è dotato di una potente CPU quad core Arm Cortex-A53, che può funzionare a una velocità fino a 1,6 GHz, integrata da un core Arm Cortex-M7 progettato per attività di elaborazione in tempo reale. Una delle caratteristiche principali di i.MX 8M Plus è l'unità di elaborazione neurale (NPU) integrata, in grado di fornire 2,3 trilioni di operazioni al secondo (TOPS), accelerando in modo significativo le attività di inferenza dell'apprendimento automatico.
Figura 1: SoM iWave i.MX 8M Plus. (Immagine per gentile concessione di iWave)
Questo SoM è progettato per soddisfare le diverse esigenze delle moderne applicazioni, offrendo un'ampia gamma di funzionalità multimediali, di connettività e di intelligenza artificiale. Queste caratteristiche lo rendono adatto ad applicazioni che spaziano dall'automazione industriale alla robotica, dai dispositivi di domotica all'elettronica di consumo.
Caratteristiche e funzionalità principali:
- Potenza di calcolo:
- Processore Arm Cortex-A53 quad core fino a 1,6 GHz
- Core Cortex-M7 per la gestione delle attività di elaborazione in tempo reale
- Intelligenza artificiale (IA) e apprendimento automatico:
- NPU integrata con 2,3 TOPS per un'inferenza di apprendimento automatico accelerata
- Opzioni di connettività:
- Wireless:
- Supporta Wi-Fi 6 per la connettività wireless ad alta velocità
- Bluetooth 5.0 per una comunicazione wireless robusta ed efficiente con i dispositivi periferici
- Cablata:
- Doppie interfacce CAN-FD (Controller Area Network with Flexible Data-Rate) per una comunicazione affidabile e in tempo reale nelle applicazioni industriali e automotive
- Connettori Ethernet per soluzioni di connettività di rete deterministiche ad alta velocità
- Connettività delle periferiche:
- Porte USB 3.0 e USB 2.0 per il collegamento di una varietà di periferiche, garantendo opzioni di connettività flessibili e versatili
- Slot PCIe 3.0 per trasferimento dati ad alta velocità e opzioni di espansione
- Sistemi multimediali e display:
- Doppie interfacce LVDS (segnalazione differenziale a bassa tensione) per il collegamento di più display
. - Uscita HDMI 2.0a TX per uscita video ad alta definizione, con supporto della risoluzione 4K
- Interfacce MIPI multiple:
- 2 porte MIPI CSI (Camera Serial Interface) per soluzioni di videocamere avanzate, che consentono l'acquisizione di immagini e video di alta qualità
- 1 porta MIPI DSI (Display Serial Interface) per soluzioni di visualizzazione avanzate, che assicurano un output visivo ad alte prestazioni
La combinazione di potenti capacità di elaborazione, ampie opzioni di connettività e funzionalità multimediali avanzate rende il SoM i.MX 8M Plus una soluzione versatile per gli sviluppatori che desiderano implementare applicazioni sofisticate e ad alte prestazioni in un'ampia gamma di settori. Che si tratti di sistemi di controllo industriale, dispositivi di domotica o applicazioni multimediali avanzate, il SoM i.MX 8M Plus offre la flessibilità e le prestazioni necessarie per soddisfare gli esigenti requisiti tecnologici di oggi.
Come ridurre la frequenza della CPU su i.MX 8M Plus
La riduzione della frequenza della CPU su i.MX 8M Plus comporta la modifica della tabella dei punti di lavoro (opp-table) nel file Device Tree Source (DTS). Il file DTS definisce la configurazione hardware del sistema, compresi i punti di lavoro della CPU disponibili, che determinano le possibili frequenze della CPU e i livelli di tensione corrispondenti. Regolando questi punti di lavoro, è possibile controllare le frequenze massime e minime a cui opera la CPU (Figura 2 e Listato 1).
Figura 2: Diagramma di flusso che mostra come viene modificata la frequenza operativa della CPU. (Immagine per gentile concessione di iWave)
Copiaa53_opp_table:opp-table
{
compatible=“operating-points-v2”;
opp-shared;
opp-100000000 {
opp-hz = /bits/ 64 <100000000>;
opp-microvolt = <850000>;
opp-supported-hw = <0x8a0>, <0x7>;
clock-latency-ns = <150000>;
opp-suspend;
};
opp-200000000 {
opp-hz = /bits/ 64 <200000000>;
opp-microvolt = <850000>;
opp-supported-hw = <0x8a0>, <0x7>;
clock-latency-ns = <150000>;
opp-suspend;
};
opp-800000000 {
opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <850000>;
opp-supported-hw = <0x8a0>, <0x7>;
clock-latency-ns = <150000>;
opp-suspend;
};
opp-1000000000 {
opp-hz = /bits/ 64 <1000000000>;
opp-microvolt = <850000>;
opp-supported-hw = <0x8a0>, <0x7>;
clock-latency-ns = <150000>;
opp-suspend;
};
Listato 1: Codice per l'impostazione della tensione di funzionamento e della frequenza della CPU.
Questi comandi impostano una frequenza costante della CPU:
- Utilizzare la frequenza massima:
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
- Utilizzare la frequenza corrente come frequenza costante:
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
- I due comandi seguenti impostano il regolatore di scala su una frequenza specificata, se supportata. Se la frequenza non è supportata, viene utilizzata quella supportata più vicina:
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo <frequency> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
Tabella 1: Queste voci specificano le coppie frequenza-tensione per diversi stati operativi, consentendo al sistema di regolare dinamicamente le prestazioni in base ai requisiti del carico di lavoro.
Conclusione
Utilizzando la tecnica di gestione dell'alimentazione DVFS, i progettisti possono ottimizzare le prestazioni e l'efficienza energetica dei sistemi embedded. La DVFS riduce efficacemente il consumo energetico e la generazione di calore regolando dinamicamente la tensione e la frequenza di un processore in base alle richieste del carico di lavoro, il che è di fondamentale importanza negli ambienti alimentati a batteria e con vincoli termici.
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.
Visit TechForum



