Das SoM i.MX 8M Plus bietet DVFS-Unterstützung für CPU-Frequenzen

Die dynamische Spannungs- und Frequenzskalierung (DVFS) ist ein hochentwickeltes Energiemanagement-Verfahren, das für die Optimierung von Performance und Energieeffizienz in eingebetteten Systemen unerlässlich ist. Durch die dynamische Anpassung von Spannung und Frequenz eines Prozessors an die Arbeitslastanforderungen reduziert DVFS effektiv den Stromverbrauch und die Wärmeentwicklung. Dies ist besonders wichtig in batteriebetriebenen und thermisch problematischen Anwendungen, wo Energieeffizienz und Wärmemanagement entscheidend sind.

Die Technik funktioniert, indem die Frequenz des Prozessors gesenkt wird, was den Stromverbrauch und die Wärmeentwicklung direkt reduziert. Gleichzeitig sorgt die Anpassung der Spannung dafür, dass der Prozessor stabil bleibt und über verschiedene Leistungsstufen hinweg zuverlässig arbeitet. Diese dynamische Anpassung bietet mehrere entscheidende Vorteile:

  1. Energieeffizienz: DVFS senkt den Stromverbrauch erheblich und verlängert so die Akkulaufzeit von tragbaren Geräten. Dies macht sie zu einer wichtigen Funktion für mobile und IoT-Geräte, die auf begrenzte Stromquellen angewiesen sind.
  2. Wärmemanagement: Durch die Verringerung der Wärmeentwicklung trägt DVFS zur Aufrechterhaltung der Zuverlässigkeit und Performance der Geräte bei. Ein effektives Wärmemanagement verhindert Überhitzung, die sonst zu Hardwareausfällen oder Performanceeinbußen führen kann.
  3. Optimierung der Performance: DVFS sorgt für ein Gleichgewicht zwischen Performance und Energieverbrauch, indem es bei Bedarf die erforderliche Rechenleistung bereitstellt und bei weniger anspruchsvollen Aufgaben Energie spart. Dieses Gleichgewicht stellt sicher, dass die Geräte effizient arbeiten können, ohne Kompromisse bei der Energieeffizienz einzugehen.

Die Implementierung von DVFS auf dem SoM i.MX 8M Plus (SoM: System on Module), unterstreicht dessen Bedeutung, Funktionsweise und die erforderlichen Schritte, um diese Funktion für eine optimale Performance und Energieeffizienz zu nutzen. Durch das Verständnis und die Nutzung von DVFS können die Energieeffizienz und Zuverlässigkeit eingebetteter Systeme verbessert werden und sie für verschiedene Anwendungen robuster und leistungsfähiger gemacht werden.

SoM i.MX 8M Plus - Übersicht

Das System on Module (SoM) i.MX 8M Plus (Abbildung 1) basiert auf dem Anwendungsprozessor i.MX 8M Plus von NXP. Dieser Prozessor verfügt über eine leistungsstarke Quad-Core-Cortex-A53-CPU von Arm, die mit Geschwindigkeiten von bis zu 1,6 GHz arbeiten kann, ergänzt durch einen Cortex-M7-Kern von Arm, der für Echtzeitverarbeitungsaufgaben ausgelegt ist. Eines der herausragenden Merkmale des i.MX 8M Plus ist die integrierte NPU (Neural Processing Unit), die 2,3 Billionen Operationen pro Sekunde (TOPS) ausführen kann und damit maschinelles Lernen erheblich beschleunigt.

Abbildung 1: Das SoM iWave i.MX 8M Plus. (Bildquelle: iWave)

Dieses SoM wurde entwickelt, um die vielfältigen Anforderungen moderner Anwendungen zu erfüllen, indem es eine breite Palette von Multimedia-, Vernetzungs- und KI-Funktionen bietet. Dank dieser Eigenschaften eignet es sich für Anwendungen, die von der industriellen Automatisierung und Robotik bis hin zu Smart-Home-Geräten und Unterhaltungselektronik reichen.

Hauptmerkmale und -fähigkeiten:

  • Rechenleistung:
    • Quad-Core-Arm-Cortex-A53-Prozessor für bis zu 1,6 GHz
    • Cortex-M7-Kern für Echtzeit-Verarbeitung
  • KI und maschinelles Lernen:
    • Integrierte NPU mit 2,3 TOPS für beschleunigte maschinelle Lerninferenzen
  • Vernetzungsoptionen:
    • Drahtlose Vernetzung:
      • Unterstützt Wi-Fi 6 für drahtlose Highspeed-Verbindungen
      • Bluetooth 5.0 für robuste und effiziente drahtlose Kommunikation mit Peripheriegeräten
    • Kabelgebundene Vernetzung:
      • Zwei CAN-FD-Schnittstellen (Controller Area Network mit flexibler Datenrate) für zuverlässige Echtzeitkommunikation in Industrie- und Automobilanwendungen
      • Ethernet-Anschlüsse für deterministische Highspeed-Netzwerklösungen
  • Peripherie-Verbindungen:
    • Anschlüsse für USB 3.0 und USB 2.0 für den Anschluss einer Vielzahl von Peripheriegeräten, um flexible und vielseitige Anschlussmöglichkeiten zu gewährleisten
    • PCIe-3.0-Steckplatz für Highspeed-Datenübertragung und Erweiterungsmöglichkeiten
  • Multimedia und Display:
    • Zwei LVDS-Schnittstellen (Low-Voltage Differential Signaling) für den Anschluss mehrerer Displays.
    • HDMI-2.0a-TX-Ausgang für hochauflösende Videoausgabe, unterstützt 4K-Auflösung
    • Mehrere MIPI-Schnittstellen:
      • 2 MIPI-CSI-Anschlüsse (Camera Serial Interface) für moderne Kameralösungen, die hochwertige Bild- und Videoaufnahmen ermöglichen
      • 1 MIPI-DSI-Anschluss (Display Serial Interface) für moderne Anzeigelösungen, die eine leistungsstarke visuelle Ausgabe gewährleisten

Die Kombination aus leistungsstarken Verarbeitungsfunktionen, umfangreichen Anschlussmöglichkeiten und modernen Multimedia-Funktionen macht das SoM i.MX 8M Plus zu einer vielseitigen Lösung, die anspruchsvolle, leistungsstarke Anwendungen in einer Vielzahl von Branchen ermöglicht. Ob für industrielle Steuerungssysteme, Smart-Home-Geräte oder moderne Multimedia-Anwendungen - das SoM i.MX 8M Plus bietet die Flexibilität und Performance, die für die anspruchsvollen technologischen Anforderungen von heute erforderlich sind.

Reduzieren der CPU-Frequenz für das i.MX 8M Plus

Die Verringerung der CPU-Frequenz für das i.MX 8M Plus erfordert eine Änderung der Betriebspunktetabelle (opp-table) in der DTS-Datei (Device Tree Source). Die DTS-Datei definiert die Hardwarekonfiguration für das System, einschließlich der verfügbaren CPU-Betriebspunkte, die die möglichen CPU-Frequenzen und die entsprechenden Spannungspegel bestimmen. Durch Anpassung dieser Betriebspunkte können Sie die maximalen und minimalen Frequenzen steuern, mit denen die CPU arbeitet (Abbildung 2 und Listing 1).

Abbildung 2: Flussdiagramm zur Änderung der CPU-Betriebsfrequenz. (Bildquelle: iWave)

Kopierena53_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; 
                };

Listing 1: Code zum Einstellen der CPU-Betriebsspannung und -frequenz.

Diese Befehle stellen eine konstante CPU-Frequenz ein:

  • Verwenden der maximalen Frequenz:

echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

  • Verwenden der aktuellen Frequenz als konstante Frequenz:

echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

  • Die folgenden beiden Befehle setzen den Skalierungsregler (scaling governor) auf eine bestimmte Frequenz, sofern dies unterstützt wird. Wenn die Frequenz nicht unterstützt wird, wird die nächstgelegene unterstützte Frequenz verwendet:

echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

echo <frequency> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

Tabelle 1: Diese Einträge geben Frequenz-Spannungs-Paare für verschiedene Betriebszustände an, so dass das System die Leistung dynamisch an die Arbeitslastanforderungen anpassen kann.

Zusammenfassung

Durch den Einsatz der DVFS-Energiemanagementtechnik können die Performance und Energieeffizienz von eingebetteten Systemen optimiert werden. DVFS reduziert effektiv den Stromverbrauch und die Wärmeentwicklung, indem es die Spannung und Frequenz eines Prozessors dynamisch an die Arbeitslast anpasst, was in batteriebetriebenen und thermisch problematischen Umgebungen von entscheidender Bedeutung ist.

Über den Autor

Image of Tawfeeq Ahmad

A strong interest in product marketing coupled with a passion for IoT and Wireless Solutions, Tawfeeq specializes in building connected mobility solutions and Industrial IoT Solutions. With data being the new money, there is a dependency for rugged gateways and innovative hardware. Tawfeeq likes to help companies in their transformation journeys.

More posts by Tawfeeq Ahmad
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum