Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Eingebettet

Optimierung der Energieverwaltung mit der i.MX RT500 Crossover-MCU von NXP

Dieser Artikel bietet eine Einführung in die Konzepte zur Energieverwaltung von Mikrocontrollern. Die NXP i.MX RT500-Familie von Crossover-MCUs wird verwendet, um Beispiele dafür zu liefern, wie diese Energieverwaltungskonzepte von Embedded-Entwicklern in ihren Anwendungen eingesetzt werden können.

Ein wichtiger Aspekt für MCU-Designer ist die Verwaltung und Verteilung der Energie. Ohne Berücksichtigung von CPU-Takt, Speicher und Peripheriegeräten können Designer den Übergang von einem Design zu einem tatsächlichen, physischen Produkt möglicherweise nicht vollziehen.

Dieser Artikel bietet eine Einführung in die Konzepte zur Energieverwaltung von Mikrocontrollern. Dies beinhaltet eine Diskussion der MCU-Energiemodi und wie sie sich auf den Betrieb des Geräts auswirken, wie viel Strom das Teil in jedem Modus verbraucht und wie lange es dauert, bis die MCU aus einem Energiesparmodus aufwacht. Wir werden auch untersuchen, wie die I/O-Pins und die SRAM-Konfiguration der MCU den Gesamtstromverbrauch des Geräts beeinflussen. Die NXP i.MX RT500-Familie von Crossover-MCUs wird verwendet, um Beispiele dafür zu liefern, wie diese Power-Management-Konzepte von Embedded-Entwicklern in ihren Anwendungen eingesetzt werden können. Die i.MX RT500 MCU bietet Stromsteuerungs- und Stromverwaltungsfunktionen, die es dem Gerät ermöglichen, mit so wenig Strom wie möglich zu arbeiten.

Überblick über die i.MX RT500 Crossover-MCU

i.MX RT500 ist eine Familie von Dual-Core-Mikrocontrollern basierend auf einem leistungsstarken ARM® Cortex®-M33-Kern mit einer Taktrate von bis zu 200 MHz. Die i.MX RT500-Serie bietet umfangreiche Schutzfunktionen wie Arm TrustZone® und eine integrierte Speicherschutzeinheit (MPU), die acht Regionen unterstützt. Der CASPER Krypto-Coprozessor ermöglicht die Hardwarebeschleunigung, um verschiedene Funktionen zu steigern, die für asymmetrische kryptographische Algorithmen erforderlich sind. Der PowerQuad-Hardwarebeschleuniger ist ein weiterer effizienter Co-Prozessor der i.MX RT500 Crossover-MCU und unterstützt die Haupt-CPU bei der Durchführung von DSP-Berechnungen. Der i.MX RT500 eignet sich aufgrund seines zusätzlichen hochoptimierten Cadence® Tensilica® Fusion F1 Audio-DSP, einer dedizierten 2D-GPU mit Vektorgrafikbeschleunigung, für sichere und stromsparende Embedded HMI-Anwendungen, IoT-Geräte, Hearables und Smart Consumer-Geräte. und verschiedene Anzeigeschnittstellen.

Abbildung 1. i.MX RT500-MCUs sind für die Stromversorgung moderner Embedded-HMI-Anwendungen geeignet, die schnelle und optisch ansprechende Grafiken und Benutzeroberflächen erfordern. Bild mit freundlicher Genehmigung von NXP.

Komplexe Mixed-Signal-MCUs enthalten oft mehrere Netzteile auf dem Chip, um sowohl die Leistungssteuerung zu verbessern als auch das Übersprechen von Netzteilrauschen zu reduzieren. Zur Leistungssteuerung kann der Kern mit einer niedrigeren Spannung betrieben werden als die I/Os. Darüber hinaus können nicht verwendete Abschnitte einer MCU ausgeschaltet werden, wenn sie nicht verwendet werden. Zur Rauschunterdrückung können die rauschbehafteten Netzteile, die die E/A und die digitale Logik speisen, von den analogen Funktionen auf dem Chip isoliert werden.

Als Beispiel für die Verwendung separater Stromschienen verfügt die i.MX RT500-MCU-Familie über vier unabhängige Stromschienen, die verschiedene Teile der internen Schaltung versorgen:

  1. Der VDDCORE rail versorgt die Hauptlogik des Chips, den DSP, die Peripheriegeräte und den Speicher. Diese Versorgungsschiene ist zwischen 0,6 V und 1,1 V einstellbar, und es steht den Ingenieuren frei, die interne PMU (Power Management Unit) des Geräts oder einen externen PMIC (Power Management IC) zu verwenden. Die erforderliche Spannung hängt von der Kerntaktfrequenz vor dem CPU-Taktteiler ab.
  2. VDD1V8 ist eine 1,8-V-Versorgung, die andere analoge Funktionen auf dem Chip als den ADC und den Komparator steuert. Diese Schiene versorgt auch das eingebaute PMC-Modul, einschließlich Bandlücke, POR, Temperatursensor und Kern-Niederspannungs- und -Hochspannungserkennung. Die VDD1V8_1 Die Leitung versorgt die digitale Logik auf dem Chip mit Strom.
  3. Der VDD_AO1V8 Schiene versorgt Teile des Geräts mit Strom, die immer eingeschaltet sind, wie z. Diese Schiene bietet auch dann eine Wake-Quelle, wenn die Stromversorgung zu anderen Schienen unterbrochen wird, sodass die MCU aus einem der tiefen Power-Down-Modi aufwachen kann.
  4. VDD_IOn versorgt die GPIO-Pins der MCU. VDDIO_0 , VDDIO_1 , VDDIO_2 , und VDDIO_4 1,8 V bereitstellen und VDDIO_3 liefert eine Versorgungsspannung von bis zu 3,6 V.

Untersuchen der Energiemodi der i.MX RT500 MCU

Moderne MCUs bieten typischerweise eine Reihe von Betriebsmodi, die den Stromverbrauch gegen Leistung austauschen. Bei den höchsten Energieeinstellungen ist die maximale Funktionalität verfügbar, wenn CPU, Speicher und On-Chip-Peripherie aktiviert sind und mit der höchstmöglichen Taktfrequenz laufen. Um den Stromverbrauch zu reduzieren, stehen Schlaf- und Abschaltmodi zur Verfügung, um die Taktfrequenzen zu reduzieren, die Versorgungsspannungen zu reduzieren und sogar nicht verwendete Bereiche der MCU vollständig herunterzufahren.

In der i.MX RT500 MCU ermöglicht der eingebaute Power Management Controller (PMC) die Feinabstimmung der Stromeingangsbedingungen, um die Anforderungen bestimmter Anwendungen zu erfüllen. Zu diesem Zweck ermöglicht die MCU die Verwendung niedrigerer Spannungen auf der VDCORE-Schiene, wenn der Chip mit einer niedrigeren Taktfrequenz läuft oder wenn sich das Gerät im Tiefschlafmodus befindet. Es ist möglich, die VDCORE-Leitung vollständig abzuschalten, wenn sich der Chip im Power-Down-Modus befindet. Standardmäßig stellt der PMC den entsprechenden Spannungspegel für die Kernlogik ein. Es ist jedoch möglich, ein externes PMIC in Kombination mit den PMIC-Pins der MCU zu verwenden, um den gleichen Effekt zu erzielen.

Das Energieverwaltungsmodul unterstützt fünf Energieverwaltungsmodi (in der Reihenfolge vom höchsten zum niedrigsten Stromverbrauch):

  1. Aktiv
    Die MCU wird nach dem Zurücksetzen im aktiven Modus hochgefahren und Ingenieure für eingebettete Systeme können die Standardstromkonfiguration des Geräts ändern, indem sie die Werte bestimmter Systemregister ändern. Die Stromkonfiguration kann während der Laufzeit geändert werden, beispielsweise durch Verwendung einer dedizierten Strom-API. In diesem Modus sind die Takte für die CPU, den Speicher und die Peripheriegeräte aktiviert, und die meisten Blöcke können sich im Normalmodus, einem Niedrigenergiemodus oder ausgeschaltet befinden, wie vom eingebetteten Anwendungsprogrammierer definiert. Darüber hinaus ermöglicht der aktive Modus den Systemdesignern und Programmierern die Feinabstimmung des Stromverbrauchs, indem gesteuert wird, welche Peripheriegeräte, Speicherblöcke und Zubehörteile aktiv bleiben – Abschnitt 8.4.1.1.1 des i.MX RT500-Referenzhandbuchs enthält weitere Details dazu .
  2. Schlaf
    In diesem Modus stoppt der PMC den Takt der System-CPU und hält die Anweisungen an, bis entweder ein Rücksetzsignal oder ein Interrupt auftritt. In diesem Modus können Entwickler Peripheriegeräte so konfigurieren, dass sie ihren Betrieb fortsetzen, während die CPU angehalten bleibt. Diese Peripheriegeräte können Interrupts erzeugen, die die CPU aufwecken und bewirken, dass die MCU in den durch die PDRUNCFG- und PSCCTL-Register definierten Leistungsmodus zurückkehrt. Im Ruhezustand behält die CPU die Werte ihrer internen Register und des SRAM bei. Die Logikpegel der I/O-Pins bleiben ebenfalls statisch, es sei denn, aktive Peripheriegeräte ändern ihren Zustand. Daher eliminiert dieser Energiemodus die dynamische Energie, die von der CPU, dem Speichersystem und dem internen Bus verwendet wird. Beachten Sie, dass der Schlafmodus den CPU-Takt nicht ändert – er deaktiviert nur den Takt für die CPU.
  3. Deep-Sleep
    Dieser Modus deaktiviert die Takte zu den CPUs und, falls nicht anders konfiguriert, auch die Taktsignale der On-Chip-Peripherie und Analogblöcke. Eingebettete Programmierer können einzelne Blöcke so konfigurieren, dass sie in ihrem normalen, stromsparenden oder ausgeschalteten Zustand über Software betrieben werden. Geräteregister und aktivierte SRAM-Abschnitte behalten ihre Werte. Die Power Profile API ermöglicht es ausgewählten Peripheriegeräten wie USB, DMIC, SPI, I2C, USART, WWDT, RTC und dem Micro-Tick-Timer im Tiefschlafmodus aktiv zu bleiben. Abschnitt 8.4.1.3.1 des i.MX RT500 Referenzhandbuchs enthält weitere Details zum Tiefschlafmodus.
  4. Deep Power-Down
    In diesem Modus sind die Stromversorgung und alle Uhren für den gesamten Chip außer der RTC deaktiviert. Diese Maßnahme bedeutet, dass das SRAM und die Register, außer denen im RTC-Modul, ihre Werte nicht beibehalten können. Darüber hinaus sind alle Funktionspins im Tri-State, solange das Gerät extern mit Strom versorgt wird. Für diesen Modus gibt es keine weiteren Konfigurationsoptionen.
  5. Vollständiges, tiefes Herunterfahren
    Dieser Modus deaktiviert alle externen Stromversorgungen außer VDD_AO18, VDD_AO1V8 und VDD_EAO. Wake-up-Quellen können einen POR in den Domänen VDD1V8 und VDDCORE auslösen.

Das Aufwachen aus den Zuständen 4 und 5 durchläuft den gesamten RESET-Prozess.

Die MCU verfügt über dedizierte PMIC_MODE-Pins, um Zustandsänderungen beim Umschalten zwischen Zuständen an eine externe PMIC zu kommunizieren. Anfänglich gibt es nur einen vordefinierten Zustand für diese Pins, und eingebettete Programmierer müssen die PMIC_MODE-Pins per Software konfigurieren. Im aktiven Modus übernimmt die MCU die Kontrolle über die PMIC_MODE-Pins. Wenn die MCU in einem der reduzierten Leistungsmodi arbeitet, übernimmt das externe PMIC die Kontrolle. Weitere Informationen finden Sie in Abschnitt 8.4.2.1 des Referenzhandbuchs.

Der Aufwachprozess und typische Aufwachzeiten

Intuitiv brauchen MCUs länger zum Aufwachen aus den tieferen Schlafmodi als die Schlafmodi mit mehr aktivierten Peripheriegeräten und Schaltkreisen. Die Stromversorgungen müssen sich stabilisieren und die Quarzoszillatoren müssen hochfahren, damit die wieder aktivierten Schaltkreise ordnungsgemäß funktionieren. In tieferen Schlafmodi stehen oft nur begrenzte Quellen zum Aufwecken der MCU zur Verfügung

Beim i.MX RT500 beträgt die typische Aufwachzeit aus dem Sleep-Modus bei einem Systemtakt von 200 MHz etwa 150 µs. Aus dem Deep-Sleep-Modus braucht das Gerät etwa 120 µs, um aufzuwachen. Das Aufwecken der MCU aus dem vollständig tiefen Power-Down-Zustand dauert aufgrund der RESET-Sequenz ungefähr 8,64 Millisekunden. Beachten Sie, dass diese Zeiten nicht garantiert sind und einige Einschränkungen gelten. Weitere Einzelheiten und die Testbedingungen sind dem offiziellen Datenblatt, Abschnitt 1.3.4, zu entnehmen. Es ist auch wichtig zu beachten, dass der Chip immer im aktiven Modus aufwacht.

Um die MCU aufzuwecken, wenn sie sich in einem Energiesparmodus befindet, muss der eingebettete Programmierer eine oder mehrere Aufweckquellen konfigurieren. Im Schlafmodus kann jedes Peripheriegerät, das einen Interrupt und HWWAKE (Flexcomm-Schnittstellen und DMIC-Subsystemaktivität) verursacht, die MCU aufwecken, wie zuvor beschrieben. Im Deep-Sleep-Modus können verschiedene Wake-up-Quellen wie Pin-Interrupts, der Reset-Pin, Flexcomm-Peripheriegeräte, DMA, DMIC, HWWAKE, SDIO, HASH-AES, CASPER, PowerQuad, ADC, DSP, USB und ACMP wecken die MCU auf. Neben diesen Aufwachquellen können auch verschiedene Timer, wie der Watchdog-Timer, der RTC, der uTick-Timer und der OS-Ereignis-Timer, dazu führen, dass die MCU regelmäßig aus dem Ruhemodus zurückkehrt. Wenn sich die MCU im tiefen Power-Down-Modus befindet, sind die RTC und ein System-Reset die einzigen Möglichkeiten, das Gerät aufzuwecken.

Dynamischer und statischer Stromverbrauch der E/A-Pins

Die I/O-Pins sind ein oft übersehener Aspekt des Gesamtstromverbrauchs. Die I/O-Pins können zum gesamten statischen und dynamischen Stromverbrauch beitragen. Abhängig von der internen Pull-Widerstandseinstellung jedes Pins und dem Spannungspegel kann ein statischer Strom fließen und den Gesamtstromverbrauch des Geräts erhöhen. Die I/O-Pins tragen auch beim Schalten zum dynamischen Leistungsbedarf der MCU bei. Oftmals enthalten die Leistungszahlen eines MCU-Datenblatts nicht einmal den Stromverbrauch der I/O-Pins, da dieser von den externen Lasten und der Schaltfrequenz der I/Os anwendungsabhängig ist.

Die verschiedenen Strommodi der i.MX RT500 MCU wirken sich auf verschiedene On-Chip-Peripheriegeräte aus und deaktivieren automatisch einige der Schaltkreise des Geräts, um den Gesamtstromverbrauch zu reduzieren. Beachten Sie, dass die internen Pull-Up- und Pull-Down-Widerstände der meisten GPIO-Pins und der Eingangspuffer beim Zurücksetzen deaktiviert sind. Einige Pins haben beispielsweise eine andere Konfiguration, um das Debuggen zu erleichtern. Dieses Verhalten führt jedoch dazu, dass ungenutzte GPIO-Pins standardmäßig in ihren hochohmigen Modus verfallen, wobei die jeweiligen Eingangspuffer beim Zurücksetzen deaktiviert sind, sofern die Programmierer im IOCON-Register nichts anderes angeben. Im Deep Power-Down-Modus sind die I/O-Pins standardmäßig schwebend.

Stromverbrauch im Schlafmodus und Tiefschlafmodus

Lassen Sie uns nun die i.MX RT500 MCU verwenden, um einige Details zur Haupttaktfrequenz und -spannung eines Systems an VDDCORE . zu erhalten wirken sich auf den Gesamtstromverbrauch des Geräts aus:

12 MHz 24MHz 48MHz 96MHz 192 MHz

Aktiver Modus

(DSP keine Uhr)

1,62 mA

0,7 V

2,5 mA

0,7 V

4,33 mA

0,7 V

9,35mA

0,8 V

20,73 mA

0,9 V

Schlafmodus

(DSP keine Uhr)

1,8 mA

0,7 V

4,78 mA

1,0 V

5,78 mA

1,0 V

7,78 mA

1,0 V

9,66 mA

0,9 V

Die Modi Deep Sleep und Deep Power-Down deaktivieren den Haupt-CPU-Takt, und es ist auch möglich, Bereiche des SRAM herunterzufahren, was sich auf den Gesamtversorgungsstrombedarf des Teils auswirkt. Die folgende Tabelle listet den Versorgungsstrom für die aktiven Stromschienen im Deep-Sleep-Modus bei eingeschaltetem 128 KB SRAM, deaktiviertem internen LDO, eingeschaltetem Array und ausgeschalteter Peripherie bei einer Umgebungstemperatur von ca. 25 °C auf:

Stromschiene Typischer Stromverbrauch
VDD1V8 8,5 uA
VDDCORE 42 uA
VDD_AO1V8 0,79 uA
Alle VDDIO Schienen kombiniert 5,61 uA
VDDA_1V8 11,8 uA
VREFP 0,02 uA
USB1_VDD_3V3 1,10 uA

Daher beträgt die typische Stromaufnahme des Geräts im Tiefschlafmodus etwa 70 Mikroampere. Weitere Details und die genauen Testbedingungen entnehmen Sie bitte den Tabellen 11 und 12 im Datenblatt des Gerätes. Wenn sich die MCU im Deep Power-Down- oder Full Deep Power-Down-Modus befindet, beträgt der typische Versorgungsstrom etwa 15 µA.

Überlegungen zum SRAM-Energiesparen

Das Power-Management muss auch die On-Chip-Speicher berücksichtigen. Bei nichtflüchtigen Speichern wie Flash können die Speicher ohne Verlust des Inhalts abgeschaltet werden. Bei SRAM muss der Embedded-Designer entscheiden, ob der Inhalt des Speichers bei Verwendung eines Low-Power-Modus erhalten bleiben muss. Glücklicherweise ermöglichen viele MCU-Produkte dem Designer die Wahl zwischen maximaler Energieeinsparung bei vollem Datenverlust und reduzierter Energieeinsparung bei vollständiger Datenerhaltung.

Das i.MX RT500-Gerät enthält bis zu fünf Megabyte statischen On-Chip-RAM, der in bis zu 32 separate Partitionen unterteilt ist. Jede Partition ist für beide CPUs, beide DMA-Engines und alle anderen AHB-Busmaster zugänglich. Neben anderen Funktionen ist es möglich, jeden Block unabhängig voneinander in einen stromsparenden Retentionsmodus zu versetzen oder ihn vollständig auszuschalten, um den Gesamtstromverbrauch des Geräts zu reduzieren. Diese Aktion ist möglich, weil jede Speicherpartition aus dem Speicherblock selbst und der Peripherie besteht, die erforderlich ist, um das Speicherarray selbst zu verbinden. Entwickler von eingebetteten Anwendungen können Energie sparen, indem sie die Peripherie ausschalten, während der Inhalt des Speicherarrays selbst beibehalten wird.

In Anbetracht dessen sollten Embedded-Programmierer verstehen, dass niedrigere SRAM-Partitionen im Vergleich zu ihren höheren Gegenstücken tendenziell Strom sparen, da die physische Position jeder SRAM-Partition innerhalb des Geräts zu Schwankungen beim Stromverbrauch führt:

Abbildung 2. Entwickler sollten die niedrigeren SRAM-Partitionen den höheren vorziehen, wenn sie versuchen, den Gesamtstromverbrauch der MCU zu reduzieren. Bild mit freundlicher Genehmigung von NXP.

Im Anwendungshinweis zum i.MX RT500 Power Management und im Referenzhandbuch zur i.MX RT500-Familie werden verschiedene Energiesparmaßnahmen detaillierter beschrieben.

i.MX RT500-MCUs für Power Control und Power Management

Stromsparen ist bei der Planung eines jeden Projekts von entscheidender Bedeutung. Die i.MX RT500 Crossover-MCU bietet Power Control- und Power-Management-Funktionalitäten, die den Betrieb der Geräte bei möglichst geringem Stromverbrauch ermöglichen. Im aktiven Modus sind die Takte für die CPU, den Speicher und die Peripheriegeräte aktiviert, und die meisten Blöcke können sich im normalen Modus, einem Niedrigenergiemodus oder ausgeschaltet befinden, wie vom eingebetteten Anwendungsprogrammierer definiert.

Die Website von NXP bietet weitere Informationen zu den Funktionen und Anwendungen des i.MX RT500. Es bietet auch verschiedene Schulungsmaterialien wie Anwendungsnotizen, Videos und On-Demand-Webinare.

Branchenartikel sind eine Inhaltsform, die es Branchenpartnern ermöglicht, nützliche Nachrichten, Nachrichten und Technologien mit All About Circuits-Lesern auf eine Weise zu teilen, für die redaktionelle Inhalte nicht gut geeignet sind. Alle Branchenartikel unterliegen strengen redaktionellen Richtlinien, um den Lesern nützliche Neuigkeiten, technisches Know-how oder Geschichten zu bieten. Die in Branchenartikeln zum Ausdruck gebrachten Standpunkte und Meinungen sind die des Partners und nicht unbedingt die von All About Circuits oder seinen Autoren.


Eingebettet

  1. Mouser:Abwärts-Leistungsmodul mit fester Frequenz und Überstromschutz
  2. Renesas entwickelt 28-nm-MCU mit virtualisierungsunterstützten Funktionen
  3. Renesas:Synergy-Plattform fügt stromsparende S5D3-MCU-Gruppe mit erweiterter Sicherheit hinzu
  4. Power Management IC unterstützt die Anwendungsprozessorfamilie
  5. Manhattan Skyline:kompakte ARM COM mit NXP i.MX 8MM
  6. congatec:neues SMARC-Modul mit NXP i.MX 8M Mini-Prozessor
  7. Referenzdesigns vereinfachen die FPGA-Energieverwaltung
  8. Raspberry Pi Shutdown Circuit mit Ruhemodus
  9. Änderungsmanagement mit Scott Deckers (PODCAST)
  10. Optimierung der Lieferkette im Gesundheitswesen mit einem WMS