JavaScript is currently disabled.Please enable it for a better experience of Jumi.
Rätt styrkrets kan öka batterilivslängden med flera år, skriver Asmund Saetre på Atmel.
 Asmund Saetre har en BSc-examen i elektronik från 1999 och har arbetat som applikationsingenjör för AVR från 1999 till 2005. Sedan år 2005 är han marknadschef för AVR.



I många applikationer är processorn och periferikretsarna inaktiva nästan hela tiden. Ta till exempel nyckelfria låssystem, system för klimatkontroll och säkerhetssystem. I sådana system tillbringar styrkretsen 99 procent av tiden med att vänta och vaknar endast upp några mikrosekunder då och då för att begära information från sensorer eller svara på en interrupt. Sedan återgår den till viloläge.

Image
I sådana applikationer blir strömmen i viloläge den viktigaste parametern för effektförbrukningen. Faktum är att ett systems totala effektförbrukning många gånger närmar sig effektförbrukningen i viloläge.

En åttabitars styrkrets som ATmega165P picoPower AVR förbrukar 340 µA i aktivt läge och 650 nA i effektsparläge. Om denna styrkrets ingår i ett system som vaknar upp i tio µs varje sekund för att begära information av en periferikrets eller uppdatera sin RTC så innebär detta att den är aktiv 0,001 procent av tiden och i viloläge 99,999 procent av tiden. Ett systems totala effektförbrukning är summan av den aktiva effektförbrukningen plus effektförbrukningen i energisparläge, enligt följande:

0,00001 x 340 µA = 0,0034 µA aktiv effektförbrukning
+ 0,99999 x 0,65 µA = 0,6500 µA effektförbrukning i effektsparläge eller
= 0,6534 µA total effektförbrukning

Flera olika vilolägen innebär stor flexibilitet, eftersom man kan stänga ned de delar av en styrkrets som inte är absolut nödvändiga för en viss funktion. Effekten som kan sparas beror på vilket läge som används. Med en matningsspänning på 1,8 V vid 1 MHz och 25 grader C förbrukar Atmels ATmega165P AVR styrkrets 340 µA i aktivt läge, 150 µA i vänteläge, 0,65 µA i effektsparläge och futtiga 0,1 µA i avstängt läge.

En majoritet av alla applikationer kräver en realtidsklocka och tillbringar därför en majoritet av tiden i effektsparläge medan realtidsklockan och brown-out modulen (BOD) är aktiva.

Det finns huvudsakligen fyra faktorer som måste tas med i beräkningen när man bedömer styrkretsar för dessa applikationer: matningsspänning, detektor för spänningsfall (”brown-out detector”, BOD), realtidsklocka samt strömförlust i viloläge.

Trots att många styrkretsar påstås drivas av 1,8 V i reklamen så kan de kräva högre matningsspänning för vissa aktiviteter. Till exempel kan det behövas så hög spänning som 2,2 V för att analoga moduler ska fungera korrekt eller för att det ska gå att skriva till flashminnet. Andra styrkretsar, till exempel AVR:s, kan hålla hög analog prestanda och skriva till flashminnet med 1,8 V.

Om målsystemet ofta behöver skriva till ickeflyktiga minnen eller är beroende av analoga moduler som till exempel AD-omvandlare eller spänningsdetektorer så måste utvecklaren verifiera att specifikationen för 1,8 V gäller för alla operationer.

BOD (”Brown-out detection”) behövs vanligtvis för att säkerställa att systemet stängs ned innan matningsspänningen sjunker under en viss tröskel. Om styrkretsen tillåts arbeta vid en spänning som är lägre än den lägsta driftspänningen så kommer den att bete sig oförutsägbart. Detta kan resultera i att kod exekveras fel och medföra korruption i NVM-minnet, vilket kan skada applikationen. Det är därför nödvändigt att matningsspänningen övervakas och att systemet stängs ned korrekt innan matningsspänningen sjunker för lågt. Om ett chip inte kan fungera pålitligt under 1,8V så måste man stänga av det och spara dess tillstånd innan matningsspänningen sjunker under 1,8V. Om det inte kan skriva till flashminnet under 2,2V så ska man stänga av det och spara dess tillstånd innan matningsspänningen sjunker under 2,2V.

Här finns det två kritiska faktorer. Den ena är BOD-modulernas effektförbrukning och den andra hur exakta och pålitliga BOD-modulerna är. Detektionen av brown-out sköts av analoga moduler och analoga moduler kräver av naturen ström för att fungera ordentligt. Det är lite problematiskt.

Oavsett hur problemet hanteras så måste BOD-modulerna kunna garantera att det finns tillräcklig kapacitet för att controllern ska fortsätta att fungera korrekt. För de flesta controllers betyder det att BOD-modulerna hålls i viloläge. När controllern vaknar upp har den då tillräcklig spänning för att fungera korrekt. Svårigheten är bara att BOD-modulerna förbrukar effekt och därmed faktiskt är en primär källa till effektförbrukningen i viloläge.

En vanlig lösning på det här problemet är att använda BOD-moduler med ”noll effekt” som förbrukar så lite som några få nanoampere och är aktiva i viloläge. Med den här lösningen kan man hålla effektförbrukningen nere samtidigt som man skyddar styrkretsen. BOD-moduler med noll effekt är kanttriggade och har ofta detektionströsklar som är lägre än dem som behövs för att chippet ska fungera.

Vissa BOD-moduler med noll effekt som används i styrkretss som kräver 1,8V för att fungera och 2,2V för att skriva till flashminnet triggas till exempel vid endast 1,4V och kräver upp till 10ms för att svara. Det är tydligt att detektionströskeln på sådana BOD-moduler inte är tillräckligt känslig och att deras svarstid är för långsam för många applikationer.

Det är inte ovanligt att chippets återförsäljare rekommenderar att man använder externa BOD-moduler. Batterierna i dylika applikationer behöver en livslängd på flera år - det räcker inte med några månader. Tänk dig till exempel att du vill låsa upp din bil men märker att nyckeln inte fungerar eftersom batteriet har tagit slut. Om effektförbrukningen i viloläge ökas med så lite som 15 eller 25 µA så kommer batteriets livslängd att minska med ett år eller mer.

En bättre lösning är att förse BOD-modulerna med tillräckligt mycket ström för att säkerställa exakthet och spara effekt genom att stänga av dem helt och hållet när systemet går in i viloläge. Den metoden används i Atmels picoPower AVR-styrkretss. BOD-modulerna fungerar korrekt samtidigt som man eliminerar deras effektförbrukning i viloläge. Styrkretsen startar alltid om BOD-modulerna och kontrollerar matningsspänningen innan resten av styrkretsen startas om. Om matningsspänningen är lägre än tröskeln så kommer BOD-modulerna att starta om enheten.

Kontrollera timerns exakthet samt effektförbrukning. Många system som mestadels befinner sig i viloläge måste regelbundet väckas upp för att begära information eller genomföra andra uppgifter. Till sådana system hör bl.a. system för klimatkontroll, mätsystem och säkerhetssystem. För att de ska fungera korrekt måste en realtidsklocka (RTC) alltid vara aktiv och fungera exakt. Dock måste man vidta vissa åtgärder för att minimera deras effektförbrukning.

Generellt sett kan man säga att det finns två sätt att väcka styrkretsen med timern. Antingen använder man en RTC eller en oscillator med mycket låg effekt (så kallad VLO, ”very low power oscillator”). Skillnaden ligger huvudsakligen i exaktheten. En RTC möjliggör stor precision på grund av den mycket exakta oscillatorn på 32 kHz.

En VLO är däremot mycket oexakt och lämpar sig inte för att hålla tiden när man behöver kritisk timing. Styrkretsen i ett system som måste väckas med timer bör helst vara en kristalloscillator med låg effekt. VLO-oscillatorer är inte lika exakta.

Tänk dig för innan du byter till en 32-bitars controller. Mindre processteknologier har gjort att vissa 32-bitars styrkrets har blivit kostnadseffektiva alternativ till 8-bitarsvarianterna. Tyvärr har dessa processteknologier också medfört en sådan ökning av läckströmmen att strömförlust har blivit en betydande källa till effektförbrukning i sådana styrkretss.

Läckströmmen för en styrkrets i en process på 0,13 µm kan vara tio gånger högre än den i en 8-bitars lågeffektenhet som tillverkats med en större och mer stabil processgeometri. När det gäller applikationer som mestadels är nedstängda är controllers som förbrukar mer än 100 nA i läget avstängning inget alternativ.

Sammanfattning. När det handlar om applikationer med ultralåg effekt bör utvecklaren fokusera på effektförbrukning i viloläge vid valet av styrkrets. Man måste titta särskilt noga på strömmen som förbrukas av realtidsklockor, kretsar för detektion av brown-out samt läckström. Dock får man inte kompromissa exaktheten i timers/räknare och analoga moduler för att uppnå en lång batterilivslängd.

Genom att stänga av BOD-modulerna i viloläge och använda kristalloscillatorer med låg effekt kan man erhålla både exakthet och låg effektförbrukning i viloläge. De nanoampere man sparar genom att vara medveten om dessa faktorer kan öka slutproduktens batterilivslängd med flera år.
MER LÄSNING:
 
SENASTE KOMMENTARER
Kommentarer via Disqus