Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Ingebed

Energiebeheer optimaliseren met de i.MX RT500 Crossover MCU van NXP

Dit artikel biedt een inleiding tot de concepten voor energiebeheer van microcontrollers. De NXP i.MX RT500-familie van crossover-MCU's zal worden gebruikt om voorbeelden te geven van hoe deze energiebeheerconcepten kunnen worden gebruikt door embedded ontwikkelaars in hun applicaties.

Een belangrijke overweging voor MCU-ontwerpers is hoe stroom wordt beheerd en gedistribueerd. Zonder rekening te houden met CPU-klokken, geheugen en randapparatuur, zouden ontwerpers misschien niet in staat zijn om de overgang van een ontwerp naar een echt fysiek product te maken.

Dit artikel biedt een inleiding tot de concepten voor energiebeheer van microcontrollers. Dit omvat een bespreking van de MCU-stroommodi en hoe deze de werking van het apparaat beïnvloeden, hoeveel stroom het onderdeel in elke modus trekt en hoe lang het duurt voordat de MCU ontwaakt uit een energiebesparende modus. We zullen ook onderzoeken hoe de I/O-pinnen en SRAM-configuratie van de MCU het algehele stroomverbruik van het apparaat beïnvloeden. De NXP i.MX RT500-familie van crossover-MCU's zal worden gebruikt om voorbeelden te geven van hoe deze energiebeheerconcepten kunnen worden gebruikt door embedded ontwikkelaars in hun applicaties. De i.MX RT500 MCU biedt functies voor stroomregeling en stroombeheer waarmee het apparaat met zo min mogelijk stroom kan werken.

Een overzicht van de i.MX RT500 Crossover MCU

i.MX RT500 is een familie van dual-core microcontrollers op basis van een krachtige Arm® Cortex®-M33-kern met een kloksnelheid tot 200 MHz. De i.MX RT500-serie biedt uitgebreide beveiligingsfuncties zoals Arm TrustZone® en een ingebouwde geheugenbeschermingseenheid (MPU) die acht regio's ondersteunt. De CASPER crypto-co-processor maakt hardwareversnelling mogelijk om verschillende functies te versterken die nodig zijn voor asymmetrische cryptografische algoritmen. De PowerQuad-hardwareversneller is een andere efficiënte co-processor van de i.MX RT500 crossover MCU en helpt de hoofd-CPU bij het uitvoeren van DSP-berekeningen. De i.MX RT500 is geschikt voor veilige en energiezuinige embedded HMI-toepassingen, IoT-apparaten, hearables en slimme consumentenapparaten vanwege de extra sterk geoptimaliseerde Cadence® Tensilica® Fusion F1 audio DSP, een speciale 2D GPU met vector grafische versnelling, en verschillende display-interfaces.

Figuur 1. i.MX RT500 MCU's zijn geschikt voor het aansturen van moderne embedded HMI-toepassingen die snelle en visueel aantrekkelijke graphics en gebruikersinterfaces vereisen. Afbeelding met dank aan NXP.

Complexe mixed-signal MCU's bevatten vaak meerdere voedingen op de chip om zowel de vermogensregeling te verbeteren als de overspraak van de voedingruis te verminderen. Voor vermogensregeling kan de kern op een lagere spanning werken dan de I/O's. Bovendien kunnen ongebruikte delen van een MCU worden uitgeschakeld wanneer ze niet worden gebruikt. Voor ruisonderdrukking kunnen de luidruchtige voedingen die de I/O en digitale logica voeden, worden geïsoleerd van de analoge functies op de chip.

Als voorbeeld van het gebruik van afzonderlijke voedingsrails:de i.MX RT500-familie van MCU's heeft vier onafhankelijke voedingsrails die verschillende delen van het interne circuit voeden:

  1. De VDDCORE rail voedt de belangrijkste logica, DSP, randapparatuur en geheugen van de chip. Deze voedingsrail is instelbaar tussen 0,6 V en 1,1 V, en technici zijn vrij om de interne PMU (power management unit) van het apparaat te gebruiken of een externe PMIC (power management IC) te gebruiken. De vereiste spanning hangt af van de kernklokfrequentie vóór de CPU-klokverdeler.
  2. VDD1V8 is een 1,8 V-voeding die analoge functies op de chip aanstuurt, behalve de ADC en comparator. Deze rail voedt ook de ingebouwde PMC-module, inclusief bandgap, POR, temperatuursensor en kern laag- en hoogspanningsdetectie. De VDD1V8_1 lijn levert stroom aan de on-chip digitale logica.
  3. De VDD_AO1V8 rail levert stroom aan delen van het apparaat die altijd aan staan, zoals de RTC, RTC-wektimer, always-on POR en de RESET-, LDO_ENABLE-, PMIC_IRQ-, PMIC_MODE0- en PMIC_MODE1-pinnen. Deze rail biedt een wekbron, zelfs wanneer de stroom naar andere rails is verwijderd, waardoor de MCU kan ontwaken uit een van de diepe uitschakelmodi.
  4. VDD_IOn levert de GPIO-pinnen van de MCU. VDDIO_0 , VDDIO_1 , VDDIO_2 , en VDDIO_4 geef 1,8 V en VDDIO_3 levert een voedingsspanning tot 3,6 V.

Onderzoek naar de voedingsmodi van de i.MX RT500 MCU

Moderne MCU's bieden doorgaans een aantal bedrijfsmodi die stroomverbruik inwisselen voor prestaties. Bij de hoogste energie-instellingen is de maximale functionaliteit beschikbaar met de CPU, geheugens en on-chip randapparatuur allemaal ingeschakeld en draaiend op de hoogst mogelijke klokfrequentie. Om het stroomverbruik te verminderen, zijn slaap- en uitschakelmodi beschikbaar om de klokfrequenties te verlagen, de voedingsspanning te verlagen en zelfs ongebruikte delen van de MCU volledig uit te schakelen.

In de i.MX RT500 MCU maakt de ingebouwde power management controller (PMC) het mogelijk om de stroominvoercondities af te stemmen op de vereisten van specifieke toepassingen. Voor dat doel maakt de MCU het gebruik van lagere spanningen op de VDDCORE-rail mogelijk wanneer de chip op een lagere klokfrequentie werkt of wanneer het apparaat zich in de diepe slaapmodus bevindt. Het is mogelijk om de VDDCORE-lijn volledig uit te schakelen wanneer de chip in een power-down-modus staat. Standaard stelt de PMC het juiste spanningsniveau in voor de kernlogica. Het is echter mogelijk om een ​​externe PMIC te gebruiken in combinatie met de PMIC-pinnen van de MCU om hetzelfde effect te bereiken.

De energiebeheermodule ondersteunt vijf energiebeheermodi (in volgorde van het hoogste naar het laagste energieverbruik):

  1. Actief
    De MCU start op in de actieve modus na reset, en ingebedde systeemingenieurs kunnen de standaard stroomconfiguratie van het apparaat wijzigen door de waarden van specifieke systeemregisters te wijzigen. De stroomconfiguratie kan tijdens runtime worden gewijzigd, bijvoorbeeld door een speciale stroom-API te gebruiken. In deze modus zijn de klokken naar de CPU, het geheugen en de randapparatuur ingeschakeld, en de meeste blokken kunnen in de normale modus, een energiezuinige modus of uit staan, zoals gedefinieerd door de ingebouwde applicatieprogrammeur. Bovendien stelt de actieve modus de systeemontwerpers en programmeurs in staat om het stroomverbruik te verfijnen door te bepalen welke randapparatuur, geheugenblokken en accessoires actief blijven - sectie 8.4.1.1.1 van de i.MX RT500-referentiehandleiding biedt meer details hierover .
  2. Slaap
    In deze modus stopt de PMC de klok naar de systeem-CPU en stopt de instructies totdat er een resetsignaal of een onderbreking optreedt. In deze modus kunnen ontwikkelaars randapparatuur configureren om hun werking voort te zetten terwijl de CPU onderbroken blijft. Deze randapparatuur kan onderbrekingen genereren die de CPU wakker maken en ervoor zorgen dat de MCU terugkeert naar de energiemodus gedefinieerd door de PDRUNCFG- en PSCCTL-registers. Tijdens de slaap behoudt de CPU de waarden van zijn interne registers en de SRAM. De logische niveaus van de I/O-pinnen blijven ook statisch, tenzij actieve randapparatuur van status verandert. Daarom elimineert deze energiemodus het dynamische vermogen dat wordt gebruikt door de CPU, het geheugensysteem en de interne bus. Merk op dat de slaapmodus de CPU-klok niet verandert - het schakelt alleen de klok voor de CPU uit.
  3. Deep-Sleep
    Deze modus schakelt de klokken naar de CPU's uit en, indien niet anders geconfigureerd, sluit ook de kloksignalen van de on-chip randapparatuur en analoge blokken af. Ingebedde programmeurs zijn vrij om individuele blokken te configureren om te werken in hun normale, energiezuinige of uitgeschakelde staat via software. Apparaatregisters en ingeschakelde SRAM-secties behouden hun waarden. Met de powerprofile-API kunnen geselecteerde randapparatuur, zoals USB, DMIC, SPI, I2C, USART, WWDT, RTC en de microtick-timer actief blijven in de diepe slaapmodus. Paragraaf 8.4.1.3.1 van de i.MX RT500-referentiehandleiding biedt meer details over de diepe slaapmodus.
  4. Diepe power-down
    In deze modus zijn de voeding en alle klokken uitgeschakeld voor de hele chip, behalve voor de RTC. Deze maatregel houdt in dat de SRAM en registers, behalve die in de RTC-module, hun waarden niet kunnen behouden. Bovendien zijn alle functiepinnen drievoudig, zolang het apparaat extern wordt gevoed. Er zijn geen verdere configuratie-opties voor deze modus.
  5. Volledige diepe uitschakeling
    In deze modus worden alle externe benodigdheden uitgeschakeld, behalve VDD_AO18, VDD_AO1V8 en VDD_EAO. Activeringsbronnen kunnen een POR in de VDD1V8- en VDDCORE-domeinen activeren.

Ontwaken uit toestanden 4 en 5 doorloopt het hele RESET-proces.

De MCU heeft speciale PMIC_MODE-pinnen om statuswijzigingen door te geven aan een externe PMIC bij het schakelen tussen statussen. Aanvankelijk is er slechts één vooraf gedefinieerde status voor deze pinnen, en embedded programmeurs moeten de PMIC_MODE-pinnen via software configureren. In de actieve modus neemt de MCU de controle over de PMIC_MODE-pinnen. Wanneer de MCU in een van de modi met verminderd vermogen werkt, neemt de externe PMIC de controle over. Raadpleeg paragraaf 8.4.2.1 van de referentiehandleiding voor meer details.

Het wekproces en typische wektijden

Intuïtief hebben MCU's meer tijd nodig om te ontwaken uit de diepere slaapmodi dan de slaapmodi met meer randapparatuur en circuits ingeschakeld. De voedingen moeten stabiliseren en de kristaloscillatoren moeten opstarten om de opnieuw ingeschakelde circuits goed te laten functioneren. In diepere slaapmodi zijn er vaak beperkte bronnen beschikbaar om de MCU te wekken

Voor de i.MX RT500 is de typische wektijd vanuit de slaapstand met een systeemklok van 200 MHz ongeveer 150 µs. Vanuit de diepe slaapmodus heeft het apparaat ongeveer 120 µs nodig om wakker te worden. Het ontwaken van de MCU uit de volledige diepe power-down-status duurt ongeveer 8,64 milliseconden vanwege de RESET-reeks. Houd er rekening mee dat deze tijden niet worden gegarandeerd en dat er enkele beperkingen van toepassing zijn. Raadpleeg het officiële gegevensblad, paragraaf 1.3.4, voor meer details en de testomstandigheden. Het is ook belangrijk op te merken dat de chip altijd wakker wordt in de actieve modus.

Om de MCU te wekken wanneer deze zich in een energiebesparende modus bevindt, moet de ingebouwde programmeur een of meer wekbronnen configureren. In de slaapmodus kan elk randapparaat dat een onderbreking en HWWAKE (Flexcomm Interfaces en DMIC-subsysteemactiviteit) veroorzaakt, de MCU wekken, zoals eerder besproken. In de diepe slaapmodus kunnen verschillende wekbronnen, zoals pin-interrupts, de reset-pin, Flexcomm-randapparatuur, DMA, DMIC, HWWAKE, SDIO, HASH-AES, CASPER, PowerQuad, ADC, DSP, USB en ACMP worden gewekt de MCU op. Naast deze wekbronnen kunnen verschillende timers, zoals de watchdog-timer, de RTC, de uTick-timer en de OS Event-timer er ook voor zorgen dat de MCU periodiek terugkeert uit de slaapmodus. Wanneer de MCU zich in de diepe uitschakelmodus bevindt, zijn de RTC en een systeemreset de enige manieren om het apparaat te wekken.

Dynamisch en statisch stroomverbruik van I/O-pinnen

De I/O-pinnen zijn een vaak over het hoofd gezien aspect van het totale stroomverbruik. De I/O-pinnen kunnen bijdragen aan het totale statische en dynamische stroomverbruik. Afhankelijk van de interne trekweerstandinstelling van elke pin en het spanningsniveau, kan er een statische stroom vloeien en het algehele stroomverbruik van het apparaat verhogen. De I/O-pinnen dragen ook bij aan de dynamische stroomvereisten van de MCU wanneer ze schakelen. Vaak bevatten de stroomnummers van een MCU-datasheet niet eens het stroomverbruik van de I/O-pin, omdat het toepassingsafhankelijk is van de externe belastingen en schakelfrequentie van de I/O's.

De verschillende voedingsmodi van de i.MX RT500 MCU beïnvloeden verschillende on-chip randapparatuur en schakelen automatisch een deel van de schakelingen op het apparaat uit om het algehele stroomverbruik te verminderen. Merk op dat de meeste GPIO-pinnen hun interne pull-up- en pull-down-weerstanden en ingangsbuffer uitgeschakeld hebben bij het resetten. Sommige pinnen hebben bijvoorbeeld een andere configuratie om gemakkelijker debuggen mogelijk te maken. Dit gedrag leidt er echter toe dat ongebruikte GPIO-pinnen standaard in hun hoge-impedantiemodus worden gezet, waarbij de respectieve ingangsbuffers bij het resetten zijn uitgeschakeld, tenzij anders aangegeven door de programmeurs in het IOCON-register. In de diepe uitschakelmodus zweven de I/O-pinnen standaard.

Stroomverbruik in slaapstand en diepe slaapstand

Laten we nu de i.MX RT500 MCU gebruiken om wat details te krijgen over hoe de hoofdklokfrequentie en spanning van een systeem op VDDCORE invloed op het algehele stroomverbruik van het apparaat:

12MHz 24MHz 48 MHz 96MHz 192MHz

Actieve modus

(DSP geen klok)

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

Slaapmodus

(DSP geen klok)

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

De diepe slaap- en diepe uitschakelmodi schakelen de hoofd-CPU-klok uit en het is ook mogelijk om regio's van de SRAM af te sluiten, wat van invloed is op de algemene stroomvereisten van het onderdeel. De volgende tabel geeft een overzicht van de voedingsstroom voor de actieve stroomrails in diepe slaapmodus met 128 KB SRAM ingeschakeld, de interne LDO uitgeschakeld, de array ingeschakeld en de periferie uitgeschakeld bij een omgevingstemperatuur van ongeveer 25 °C:

Stroomrail Typisch stroomverbruik
VDD1V8 8.5 uA
VDDCORE 42 uA
VDD_AO1V8 0,79 uA
Alle VDDIO rails gecombineerd 5.61 uA
VDDA_1V8 11,8 uA
VREFP 0,02 uA
USB1_VDD_3V3 1,10 uA

Daarom is het typische stroomverbruik van het apparaat ongeveer 70 micro Ampère in diepe slaapmodus. Raadpleeg de tabellen 11 en 12 in de datasheet van het apparaat voor meer details en de exacte testomstandigheden. Wanneer de MCU zich in de modus voor diepe uitschakeling of volledige diepe uitschakeling bevindt, is de typische voedingsstroom ongeveer 15 µA.

Overwegingen voor energiebesparing bij SRAM

Energiebeheer moet ook rekening houden met de geheugens op de chip. Voor niet-vluchtige herinneringen zoals Flash, kunnen de herinneringen worden uitgeschakeld zonder verlies van de inhoud. Voor SRAM zal de embedded designer moeten beslissen of de inhoud van het geheugen behouden moet blijven bij gebruik van een energiebesparende modus. Gelukkig kunnen ontwerpers met veel MCU-producten kiezen tussen maximale energiebesparing met volledig gegevensverlies en verminderde energiebesparing met volledige gegevensretentie.

Het i.MX RT500-apparaat bevat maximaal vijf megabyte statisch RAM-geheugen op de chip, verdeeld in maximaal 32 afzonderlijke partities. Elke partitie is toegankelijk voor beide CPU's, beide DMA-engines en alle andere AHB-busmasters. Naast andere functies is het mogelijk om elk blok afzonderlijk in een spaarstand te plaatsen of het volledig uit te schakelen om het algehele stroomverbruik van het apparaat te verminderen. Deze actie is mogelijk omdat elke geheugenpartitie bestaat uit het geheugenblok zelf en de periferie die nodig is om de geheugenarray zelf te koppelen. Ontwerpers van geïntegreerde applicaties kunnen energie besparen door de periferie uit te schakelen terwijl de inhoud van de geheugenarray zelf behouden blijft.

Hiermee rekening houdend, moeten embedded programmeurs begrijpen dat lagere SRAM-partities de neiging hebben om energie te besparen ten opzichte van hun hogere tegenhangers, aangezien de fysieke locatie van elke SRAM-partitie binnen het apparaat leidt tot variaties in het stroomverbruik:

Figuur 2. Ontwikkelaars zouden de voorkeur moeten geven aan het gebruik van de lagere SRAM-partities boven de hogere wanneer ze proberen het algehele stroomverbruik van de MCU te verminderen. Afbeelding met dank aan NXP.

De i.MX RT500 Power Management-toepassingsnota en de i.MX RT500-familiereferentiehandleiding bespreken verschillende energiebesparende maatregelen in meer detail.

i.MX RT500 MCU's voor energiebeheer en energiebeheer

Het behouden van kracht is cruciaal bij het ontwerpen van elk project. De i.MX RT500 crossover MCU biedt functies voor stroomregeling en stroombeheer waarmee de apparaten kunnen werken terwijl ze zo min mogelijk stroom verbruiken. In de actieve modus zijn de klokken naar de CPU, het geheugen en de randapparatuur ingeschakeld, en de meeste blokken kunnen in de normale modus, een energiezuinige modus of uit staan, zoals gedefinieerd door de ingebouwde applicatieprogrammeur.

De website van NXP biedt meer informatie over de mogelijkheden en toepassingen van de i.MX RT500. Het biedt ook verschillende trainingsmaterialen, zoals toepassingsnotities, video's en on-demand webinars.

Industrieartikelen zijn een vorm van inhoud waarmee branchepartners nuttig nieuws, berichten en technologie kunnen delen met lezers van All About Circuits op een manier waarop redactionele inhoud niet goed geschikt is. Alle brancheartikelen zijn onderworpen aan strikte redactionele richtlijnen met de bedoeling de lezers nuttig nieuws, technische expertise of verhalen te bieden. De standpunten en meningen in brancheartikelen zijn die van de partner en niet noodzakelijk die van All About Circuits of zijn schrijvers.


Ingebed

  1. Mouser:step-down voedingsmodule met vaste frequentie en overstroombeveiliging
  2. Renesas ontwikkelt 28 nm MCU met virtualisatie-ondersteunde functies
  3. Renesas:Synergy-platform voegt S5D3 MCU-groep met laag vermogen toe met geavanceerde beveiliging
  4. Energiebeheer-IC ondersteunt toepassingsprocessorfamilie
  5. Manhattan Skyline:compacte ARM COM met NXP i.MX 8MM
  6. congatec:nieuwe SMARC-module met NXP i.MX 8M Mini-processor
  7. Referentieontwerpen vereenvoudigen FPGA-energiebeheer
  8. Raspberry Pi-uitschakelcircuit met slaapstand
  9. Wijzigingsbeheer met Scott Deckers (PODCAST)
  10. De supply chain voor de gezondheidszorg optimaliseren met een WMS
  11. Risico verkleinen met Workforce Management Systems