- Waarom de klokfrequentie in microcontrollers wijzigen?
- Wat is het effect van het selecteren van meerdere frequenties op de prestatie?
- Lage of hoge frequentie, welke te selecteren?
- Klokfrequentie-omschakelingstechniek
- Klokbeheermodi selecteren
- Software-uitvoering vanuit niet-vluchtig geheugen of RAM
- Met behulp van de interne oscillator
- Conclusie
Ontwikkelaars staan altijd voor een uitdaging om hoge niveaus van functionaliteit en prestaties te leveren en tegelijkertijd de levensduur van de batterij te maximaliseren. Ook als het om elektronische producten gaat, is het belangrijkste kenmerk het batterijverbruik. Het moet zo min mogelijk zijn om de bedrijfstijd van het apparaat te verlengen. Het energiebeheer is zeer kritisch in draagbare en batterijgevoede toepassingen. Verschillen in het verbruik van microampère kunnen leiden tot een gebruiksduur van maanden of jaren, waardoor de populariteit en het merk van het product op de markt kan toenemen of afnemen. De toename van producten vraagt om een efficiëntere optimalisatie van het batterijgebruik. Tegenwoordig eisen gebruikers een langere batterijback-up met een compact formaat van producten, zodat fabrikanten zich richten op een kleiner batterijformaat met een superlange batterijduur, wat een twijfelachtige taak is. Maar,de ontwikkelaars hebben energiebesparende technologieën bedacht nadat ze veel factoren en kritische parameters hebben doorgenomen die de levensduur van de batterij beïnvloeden.
Er zijn veel parameters die het batterijgebruik beïnvloeden, zoals de gebruikte microcontroller, bedrijfsspanning, stroomverbruik, omgevingstemperatuur, omgevingscondities, gebruikte randapparatuur, oplaad- en oplaadcycli enz. Met de trend van slimme producten die op de markt komen, is het erg belangrijk om eerst te focussen op de gebruikte MCU, om de levensduur van de batterij te optimaliseren. De MCU wordt een cruciaal onderdeel als het gaat om energiebesparing in de kleine producten. Het wordt dus aanbevolen om eerst met de MCU te beginnen. Nu wordt MCU geleverd met de verschillende energiebesparende technieken. Raadpleeg het vorige artikel voor meer informatie over het minimaliseren van het stroomverbruik in microcontrollers (MCU). Dit artikel richt zich voornamelijk op een van de belangrijke parameters voor het verminderen van het stroomverbruik in de microcontroller, namelijk het wijzigen van de klokfrequentiedie moet worden genomen bij het gebruik van MCU voor toepassingen met laag vermogen.
Waarom de klokfrequentie in microcontrollers wijzigen?
Van de vele hierboven genoemde parameters speelt de keuze van de klokfrequentie een zeer belangrijke rol bij het besparen van energie. De studie toont aan dat een verkeerde selectie van de werkfrequentie van microcontrollers kan leiden tot een aanzienlijk percentage (%) verlies van batterijvermogen. Om dit verlies te voorkomen, moeten de ontwikkelaars zorgen voor de juiste frequentieselectie om de microcontroller te laten draaien. Nu is het niet nodig dat de frequentieselectie in eerste instantie kan worden gedaan tijdens het opzetten van de microcontroller, terwijl deze ook tussen het programmeren kan worden gekozen. Er zijn veel microcontrollers die worden geleverd met bitselectie om de gewenste werkfrequentie te selecteren. Ook kan de microcontroller op meerdere frequenties werken, dus de ontwikkelaars hebben de mogelijkheid om de juiste frequentie te selecteren, afhankelijk van de toepassing.
Wat is het effect van het selecteren van meerdere frequenties op de prestatie?
Het lijdt geen twijfel dat het selecteren van verschillende frequenties de prestaties van de microcontroller zal beïnvloeden. Net als bij microcontrollers is het heel bekend dat frequentie en prestaties proportioneel zijn. Het betekent dat hoe hoger de frequentie, minder code-uitvoeringstijd zal hebben en dus een grotere snelheid van programma-uitvoering. Dus nu is het heel duidelijk dat als de frequentie wordt gewijzigd, de prestatie ook zal veranderen. Maar het is niet nodig dat ontwikkelaars zich op één frequentie moeten houden alleen voor betere prestaties van de microcontroller.
Lage of hoge frequentie, welke te selecteren?
Het is niet altijd het geval wanneer een microcontroller hoge prestaties moet leveren, er zijn verschillende toepassingen die matige prestaties van de microcontroller nodig hebben, in dit soort toepassingen kunnen de ontwikkelaars de werkfrequentie verlagen van GHz naar MHz en zelfs tot de minimale frequentie die nodig is om voer microcontroller uit. Hoewel in sommige gevallen optimale prestaties vereist zijn en ook uitvoeringstijd van cruciaal belang is, zoals bij het aansturen van externe flash-ADC's zonder FIFO-buffer, of bij videoverwerking en vele andere toepassingen, kunnen de ontwikkelaars in deze gebieden de optimale frequentie van de microcontroller gebruiken. Zelfs in dit soort omgevingen kunnen de ontwikkelaars slim coderen om de codelengte te verkleinen door de juiste instructie te kiezen.
Voor bijvoorbeeld: Als de ' for'-lus meer instructies aanneemt en men verschillende regels instructies kan gebruiken die minder geheugen gebruiken om de taak uit te voeren zonder de for- lus te gebruiken, dan kunnen ontwikkelaars verschillende regels met instructies gebruiken en het gebruik van de' for'-lus vermijden.
De selectie van de juiste frequentie voor de microcontroller is afhankelijk van de taakvereisten. Een hogere frequentie betekent een hoger stroomverbruik maar ook meer rekenkracht. De frequentiekeuze is dus in wezen een afweging tussen stroomverbruik en het benodigde rekenvermogen.
Het belangrijkste voordeel van werken op lage frequentie is ook een lage voedingsstroom naast een lagere RFI (Radio Frequency Interference).
Voedingsstroom (I) = ruststroom (I q) + (K x frequentie)
De tweede term is overheersend. De RFI-energie van een microcontroller is zo klein dat deze heel gemakkelijk te filteren is.
Dus als de applicatie een hoge snelheid nodig heeft, hoeft u zich geen zorgen te maken dat deze snel draait. Maar als het stroomverbruik een probleem is, voer dan zo langzamer uit als de toepassing toestaat.
Klokfrequentie-omschakelingstechniek
PLL-eenheid (Phases Lock Loop) bestaat altijd in een krachtige MCU die op hoge snelheid werkt. De PLL verhoogt de ingangsfrequentie naar een hogere frequentie, bijvoorbeeld van 8 MHz naar 32 Mhz. Het is de keuze van de ontwikkelaar om de juiste werkfrequentie voor de toepassing te kiezen. Sommige applicaties hoeven niet op hoge snelheid te draaien, in dat geval moeten ontwikkelaars de klokfrequentie van de MCU zo laag mogelijk houden om de taak uit te voeren. In een platform met vaste frequentie, zoals goedkope 8-bit MCU die geen PLL-eenheid bevat, moet men de instructiecode echter verbeteren om de verwerkingsenergie te verminderen. Ook kan de MCU die een PLL-eenheid bevat, niet profiteren van de voordelen van frequentieschakelingstechniek die het mogelijk maakt dat de MCU op hoge frequentie werkt tijdens de gegevensverwerkingsperiode en vervolgens terugkeert naar laagfrequente werking gedurende de gegevensoverdrachtperiode.
De afbeelding legt het gebruik van PLL-eenheid in Frequency Switching Technique uit.
Klokbeheermodi selecteren
Sommige van de supersnelle microcontrollers ondersteunen verschillende klokbeheermodi zoals stopmodus, energiebeheermodi (PMM's) en inactieve modus. Het is mogelijk om tussen deze modi te schakelen, zodat de gebruiker de snelheid van het apparaat kan optimaliseren tijdens het stroomverbruik.
Selecteerbare klokbron
De kristaloscillator is een grote verbruiker van vermogen op elke microcontroller, vooral tijdens laagvermogen. De ringoscillator, die wordt gebruikt voor een snelle start vanuit de stopmodus, kan ook worden gebruikt om een klokbron van ongeveer 3 tot 4 MHz te leveren tijdens normaal gebruik. Hoewel bij het opstarten nog steeds een kristaloscillator nodig is, kan de werking van het apparaat, zodra het kristal is gestabiliseerd, worden overgeschakeld naar de ringoscillator, waardoor een energiebesparing van maar liefst 25 mA wordt gerealiseerd.
Kloksnelheidsregeling
De werkfrequentie van een microcontroller is de grootste factor bij het bepalen van het stroomverbruik. De High-Speed Microcontroller-familie van microcontrollers ondersteunt verschillende kloksnelheidsmanagementmodi die energie besparen door de interne klok te vertragen of te stoppen. Met deze modi kan de systeemontwikkelaar de energiebesparing maximaliseren met een minimale impact op de prestaties.
Software-uitvoering vanuit niet-vluchtig geheugen of RAM
Ontwikkelaars moeten zorgvuldig overwegen of software wordt uitgevoerd vanuit niet-vluchtige geheugens of RAM bij het schatten van het huidige verbruik. Uitvoeren vanuit RAM kan lagere actieve stroomspecificaties bieden; Veel applicaties zijn echter niet klein genoeg om alleen vanuit RAM te worden uitgevoerd en vereisen dat programma's worden uitgevoerd vanuit niet-vluchtig geheugen.
Busklokken in- of uitgeschakeld
De meeste microcontroller-applicaties hebben toegang tot geheugens en randapparatuur nodig tijdens het uitvoeren van software. Dit vereist dat busklokken zijn ingeschakeld en er moet rekening mee worden gehouden bij actieve huidige schattingen.
Met behulp van de interne oscillator
Het gebruik van interne oscillatoren en het vermijden van externe oscillatoren kan veel energie besparen. Omdat externe oscillatoren meer stroom trekken, wat resulteert in meer stroomverbruik. Het is ook niet moeilijk om een interne oscillator te gebruiken, aangezien externe oscillatoren aan te raden zijn om te gebruiken wanneer de toepassingen meer klokfrequentie vereisen.
Conclusie
Het maken van een product met een laag vermogen begint met de keuze van MCU en het is aanzienlijk moeilijk wanneer er diverse opties op de markt beschikbaar zijn. Het aanpassen van de frequentie kan een grote impact hebben op het stroomverbruik en ook een goed resultaat geven op het gebied van stroomverbruik. Bijkomend voordeel van het aanpassen van de frequentie is dat er geen extra hardwarekosten zijn en het eenvoudig in de software kan worden geïmplementeerd. Deze techniek kan worden gebruikt om de energie-efficiëntie van een goedkope MCU te verbeteren. Bovendien hangt de hoeveelheid energiebesparing af van het verschil tussen de werkfrequenties, de gegevensverwerkingstijd en de architectuur van de MCU. De energiebesparing tot 66,9% kan worden bereikt bij gebruik van de frequentie-omschakelingstechniek in vergelijking met normaal bedrijf.
Aan het eind van de dag is het voor ontwikkelaars een grote uitdaging om te voldoen aan de behoeften van verbeterde systeemfunctionaliteit en prestatiedoelstellingen en tegelijkertijd de levensduur van de batterij van producten te verlengen. Om effectief producten te ontwikkelen die de langst mogelijke levensduur van de batterij bieden - of zelfs helemaal zonder batterij werken - vereist een diepgaand begrip van zowel de systeemvereisten als de huidige specificaties van de microcontroller. Dit is veel complexer dan simpelweg schatten hoeveel stroom de MCU verbruikt wanneer deze actief is. Afhankelijk van de applicatie die wordt ontwikkeld, kunnen frequentiewijziging, stand-bystroom en randstroom een grotere invloed hebben op de levensduur van de batterij dan MCU-stroom.
Dit artikel is gemaakt om ontwikkelaars te helpen begrijpen hoe de MCU's stroom verbruiken in termen van frequentie en kunnen worden geoptimaliseerd met aanpassing van de frequentie.