Så sparas ström i dagens åttabitare

Relevanta dokument
Hur det går att minska effektutvecklingen i en processor genom att ändra pipeline

Digitala kretsars dynamiska egenskaper

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Elektronik grundkurs Laboration 6: Logikkretsar

Effektförbrukning i viloläge styr batterilivslängden

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

DIGITALT VECKOKOPPLINGSUR + PROGRAMMERINGSKNAPP

Digital elektronik och inbyggda system

GPIO - General Purpose Input Output

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1

Exempel på LAX-uppgifter

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

Digitalteknik: CoolRunner-II CPLD Starter Kit

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser

Digitala projekt rapport

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

Umeå universitet Tillämpad fysik och elektronik Ville Jalkanen mfl Laboration Tema OP. Analog elektronik för Elkraft 7.

- Digitala ingångar och framförallt utgångar o elektrisk modell

DEC Alpha instruktions Arkitektur

Ett urval D/A- och A/D-omvandlare

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

TEKNISK NOTIS TN AT006

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA

Accelerometer. Rikard Ekström Mattias Kindborg. Informationsteknologi Lunds Universitet

Grindar och transistorer

Pulsmätare med varningsindikatorer

Hyper-Threading i Intelprocessorer

Experiment med schmittrigger

1 SÄKERHET FARA VARNING VIKTIGT FUNKTIONER... 4

Smart Touch 09. Bruksanvisning 09-4

Tentamen i Digitalteknik, EIT020

ILLUSTRATION Ö VER LUFTKONDITIONERARENS FJÄRRKONTROLL

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Elektronisk timer. Ställa in aktuell tid. Inställning av vinter-/sommartid. Använda klockan tillsammans med ugnen. Ställa in tillagningstiden

Projekt EITA15. Väckarklocka. LTH Ingenjörshögskolan vid Campus Helsingborg Datateknik

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Avkoppla rätt en kvantitativ undersökning av parasitinduktans hos olika layoutalternativ

'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ

FM/MW 2 bands Digital Klockradio 381QJ13-A. Bruksanvisning RCR-22

Sekvensnät. William Sandqvist

DT-22 SVENSK_BRUKSANVISNING

PROGRAMMERING AV MCU LABORATION6. Laborationens syfte

Hörapparatbatterier, urladdningskurvor och strömbehov.

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

HF0010. Introduktionskurs i datateknik 1,5 hp

Dator i BC2.5-serien. BRUKSANVISNING Reebok-BC

3,5 mm extern mikrofoningång. Storlek och vikt Höjd: 100 mm Bredd: 65 mm Djup: 27 mm Vikt: 120 g, inkl. batterier

Det finns en hemsida. Adressen är

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit

LEU240 Mikrodatorsystem Laboration 2: Ett komplett avbrottsstyrt system med in- och utenheter

LABORATION PIC-PROGRAMMERARE

Innehåll. 1 Inledning 3

Manual för WMR-252 inbyggnadsmottagare med universaldimmer

Föreläsning 2. Operativsystem och programmering

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

Programmera i teknik - kreativa projekt med Arduino

Laboration i digitalteknik Speciella sekvenskretsar

Digitala projekt Konstruktion av nummerpresentatör

Digitala projekt, EDI021 Rapport Handledare: Bertil Lindvall

Digitalteknik F9. Automater Minneselement. Digitalteknik F9 bild 1

Skydda din process mot skador och stillestånd. Emotron M20 axeleffektvakt

Problemlösare RDS5000

Manual. Kyoritsu 2432 Läckströmstång EAN: R

Grundläggande A/D- och D/A-omvandling. 1 Inledning. 2 Digital/analog(D/A)-omvandling

DT-220 SVENSK_BRUKSANVISNING

Laboration 5. Temperaturmätning med analog givare. Tekniska gränssnitt 7,5 p. Förutsättningar: Uppgift: Temperatur:+22 C

Så skyddar du ditt datacenter 5 Steg för att få strategi och tjänster på plats

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Bruksanvisning. Viktig information före användning

Föreläsningsanteckningar till Konstruktionsmetoder

Forskning GNSS. Grundkonfigurationen av GPS består av 24 satelliter men idag cirkulerar närmare 30 satelliter runt jordklotet

Digital- och datorteknik

Att välja rätt strömtång (tångamperemeter) Börja med att besvara följande;

Strömförsörjning. Laboration i Elektronik 285. Laboration Produktionsanpassad Elektronik konstruktion

Batteri installation. Notera

Låskretsar och Vippor

DIGITALA PROJEKT Väderstation

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

Bruksanvisning Varmkanalstyrning KT300S

Hantering av hazards i pipelines

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System

Undersökning av logiknivåer (V I

Digital IC konstruktion

Datorsystemteknik DVGA03 Föreläsning 8

Rotronic CP11 CO2-logger

Emotron FDU 2.0 Frekvensomriktare

FM/MW 2 bands Digital Klockradio 381Q916-A. Bruksanvisning RCR-3

Pipelining i Intel Pentium II

Cacheminne Intel Core i7

Slim Combivox är en talande klocka som anger tid och datum. Den har ett dagligt larm. Klockan anger tid på två sätt :

Blinkande LED med 555:an, två typkopplingar.

T10K. Användarmanual. Svenska

Kal. 7D46, 7D48, 7D56 (Ref. nr. SNP) Bruksanvisning 1

HOFFER Walkie-talkie set PMR446/SSP3381 Svenska

T1-modulen Lektionerna Radioamatörkurs OH6AG OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH

JUSTONE MANUAL ÅTERFÖRSÄLJARE

ALARMKLOCKRADIO PLL CR120

Transkript:

ELEKTRONIK TIDNINGEN Arne Martin Holberg projektchef Atmel Andreas Eieland produktmarknadschef Atmel Så sparas ström i dagens åttabitare Hur dagens styrkretsar är konstruerade för låg strömförbrukning, vad du ska titta på när du väljer styrkrets, och hur du konstruerar så att strömspartekniken kommer till nytta. Redaktör Jan Tångring jan@etn.se 0734-17 13 09 EMBEDDED E X P E R T 8 juli 2010 Atmel och Elektroniktidningen Sverige Tekniska rapporter om inbyggda system etn.se/expert

Så sparas ström i dagens åttabitare Hur dagens styrkretsar är konstruerade för låg strömförbrukning, vad du ska titta på när du väljer styrkrets, och hur du konstruerar så att strömspartekniken kommer till nytta. Arne Martin Holberg Andreas Eieland Dagens MCU-baserade konstruktioner är ofta batteri- eller signalledningsmatade applikationer som ersätter passiva eller mekaniska komponenter. Gemensamt för dem alla är kravet på mycket låg effektförbrukning och tillräckligt höga prestanda för att uppfylla produktens specifikationer. Lägre effekt leder till mindre spänningsaggregat och mindre kostsamma batterier, och gör det möjligt att spänningsmata produkter över signalledningar (som brandlarmsledningar). Allt detta sänker kostnaden för slutprodukten. Även om effektförbrukningen är produkten av arbetsspänningen (V cc ) och strömförbrukningen (I cc ) är vanligen strömförbrukningen den enda parameter man tar hänsyn till när man skall beskriva chipets effektegenskaper. Men det är ett misstag, för om man sänker arbetsspänningen så minskar direkt strömförbrukningen och den totala effekten. Strömförbrukningen ökar direkt med systemklockans frekvens, så att hålla systemklockan på så låg frekvens som möjligt är viktigt för att hålla effektförbrukningen nere. Å andra sidan är det också viktigt att kunna köra applikationen snabbt för att minimera tiden som tillbringas i aktivt läge, för att snabbt kunna återgå till strömssnålare vilolägen och stanna där så länge som möjligt. Klockfrekvensen påverkas av ett antal faktorer, som MCU-kretsens omgivning och uppsättning periferifunktioner, liksom arkitekturen och instruktionsuppsättningen. RISC-baserade MCU-kretsar exekverar vanligen under en enda klockcykel, men vissa arkitekturer delar ned klockan på samma vis som CISCarkitekturer gör innan de matar in den i CPU:n. Detta faktum leder till förvirring om vilken klockfrekvens som verkligen krävs för att exekvera målapplikationen. Konstruktörerna måste vara uppmärksamma på instruktionsuppsättningens arkitektur när de läser värdena på strömförbrukningen i MCU-kretsens datablad. De flesta datablad anger de värden för effektförbrukningen som gäller när MCU:n inte har några periferienheter igång. Den extra ström som dessa enheter drar måste man ta hänsyn till, eftersom alla MCU-kretsar har periferifunktioner, och deras bidrag till effektförbrukningen kan vara avsevärt. Aktiv eller viloläge? I många applikationer arbetar inte processorn kontinuerligt, och periferienheterna kan gå på tomgång under det mesta av tiden. Den totala effektförbrukningen kan sänkas genom att man utnyttjar de olika vilolägen som finns hos praktiskt taget alla processorer. De vanligaste lägena är Power Down, Power Save och Idle. Vid Power Down stängs allt av, inklusive klockan och realtidsräknaren. Vid Power Save stängs allt av utom en 32 khz klocka som körs från en kristall för att hålla reda på tiden. Innehållet i flyktiga minnen bibehålles i båda dessa lägen, eftersom detta eliminerar behovet av att återinitiera periferifunktionerna när 2 ELEKTRONIKTIDNINGEN 8 juli 2010 Atmel och Elektroniktidningen Sverige

Figur 1. Effektbudget enheten vaknar upp. Detta ger kortare uppvakningstider för applikationen. Idle (tomgång) är ett läge med lätt sömn, där bara vissa delar av enheten stängs av de viktigaste delarna hos MCU:n fortsätter att köra. Fördelen med att ha flera olika vilolägen är den flexibilitet man får att stänga av alla delar hos MCU-kretsen som inte absolut nödvändigtvis behöver vara igång. Hur mycket effekt detta kan spara in beror på vilka lägen som används. Som exempel kan nämnas att med 1,8 V matningsspänning, 1 MHz arbetsfrekvens och en temperatur på 25 C förbrukar Atmels AVR-styrkrets ATmega328P 300 µa i aktivt läge, 40 µa vid Idle, 0,70 µa vid Power Save och 100 na vid Power Down. Eftersom en MCU-krets kan tillbringa avsevärd tid i inaktivitet är det viktigt att ta hänsyn till effektförbrukningen både i aktivt läge och de olika vilolägena. Många konstruktörer använder en effektbudget för att bestämma den genomsnittliga förbrukningen och beräkna batteribehovet. En stor del av uppmärksamheten riktas visserligen mot förbrukningen i aktivt läge. Men vilket läge som är viktigast beror i själva verket på tidsförhållandena mellan de olika arbetslägena. I applikationer som termostater, nyckelfritt tillträde och säkerhetssystem tillbringar processorn den mesta tiden i läget Idle. För dessa applikationer kan viloläget stå för den dominerande andelen av effektförbrukningen och blir då den viktigaste parametern att ta hänsyn till. Så sänker man viloeffekten Moderna MCU-kretsar byggs upp med digital CMOS-logik som, i teorin, bara förbrukar effekt när logik- eller klocksignalerna växlar tillstånd. För en signal sker detta vid en övergång från 0 till 1 eller tvärtom. Baserat på denna teori skulle strömförbrukningen i vila vara noll, eftersom inga klockor tickar eller tillståndsväxlingar äger rum. I verkligheten är bilden lite mer komplex. Även om effektförbrukningen i viloläge närmar sig noll, kan det finnas läckströmmar och periferienheter som fortfarande är aktiva, och dessa kan förbruka en hel del effekt. Läckström Temperaturen, matningsspänningen och processteknologin är faktorer som påverkar läckströmmen. Vissa MCU-tillverkare använder speciella processer som utvecklats speciellt för låg effektförbrukning och som baseras på år av forskning och erfarenhet. Dessa processer kan ge viloströmmar ned till 100 na, tack vare att processen är effektoptimerad och möjliggör drift med en sann matningsspänning på 1,8 V. Vissa MCU-kretsar som påstås kunna arbeta med 1,8 V kräver i själva verket spänningar så höga som 2,2 v för analoga moduler, skyddsmekanismer och flash-skrivning för att fungera korrekt. Aktiva periferifunktioner Det största bidraget till effektförbrukningen i viloläge kommer från aktiva periferifunktioner. Att aktivera interna analoga eller digitala moduler kan orsaka en avsevärd ökning av den totala strömförbrukningen, men detta kan vara svårt att utvärdera. För väldokumenterade MCU-kretsar beskrivs denna extra strömförbrukning i databladet, men för vissa andra påstås att den är noll. Detta är mycket sällan sant, speciellt inte när det handlar om analoga funktioner. Och om det är sant så har troligen dessa icke-förbrukande funktioner dåliga prestanda. Effektförbrukningen hos digital logik uppkommer huvudsakligen av den växlande frekvensen, den kapacitiva lasten och matningsspänningen. Effektförbrukningen i analoga moduler är å andra sidan statisk. Ofta måste man i analoga moduler göra en kompromiss mellan effektförbrukning och robusthet, noggrannhet, hastighet och uppstartstid. Minskad effektförbrukning medför också ofta att kvaliteten hos den analoga modulen försämras. Den viktigaste analoga modulen vad gäller effektförbrukning under viloläge är brown-out -detektorn (BOD). Denna skyddar MCU-kretsen genom att återställa den när matningsspänningen faller under arbetströskelvärdet. Härigenom bibehålls MCUn i ett definierat tillstånd. BOD-detektorn saknar betydelse för MCU:n när denna befinner sig i viloläge, men den är extremt viktig när kretsen vaknar upp. Som regel gäller därför att de flesta MCU-kretsar måste hålla sin BOD aktiv under viloläge, och den bidrar då i avsevärd grad till effektförbrukningen i vila. Det finns två sätt att komma förbi BOD-effektförbrukningen i vila: att göra en zeropower -BOD eller att stänga av den helt och hållet. Eftersom BOD-detektorn måste fungera när MCU:n vaknar upp kan det mest attraktiva valet tyckas vara att göra en zeropower -BOD. Men att minska effekten till denna analoga modul kan göra den mycket långsam, och få den att svara alltför långsamt på spänningar utanför arbetsområdet. I viloläge kör MCU:n inte någon kod, och skriver eller raderar heller inte några flash- eller EEPROM-minnen. Därför behövs det egentligen inte någon BOD då. Men den måste vara i funktion i det ögonblick MCU:n vaknar upp och exekverar instruktioner. Lösningen på detta problem är att låta MCU-kretsen stänga av BOD-detektorn innan den går ner i viloläge, och starta den igen just innan den går ur viloläget. Denna ansats garanterar att BOD fungerar när den behövs, utan att den drar någon ström i viloläget. Extremt lågförbrukande oscillatorer eller 32 khz oscillatorer I många applikationer är den tid som tillbringas i aktivt läge obetydlig, jämfört med tiden i Power Save där allt är avstängt utom en realtidsklocka och BOD-detektorn. Då ger den effekt som förbrukas i Power Save (summan av Power Down, BOD och en 32 khz oscillator) det viktigaste bidraget till den totala effektförbrukningen. Därför kan en sänkning av oscillatorns strömförbrukning väsentligt minska den totala effektförbrukningen. Konstruktören måste vara mycket noga vid utvärderingen av den ström som förbrukas när oscillatorn är igång. Generellt finns det två sätt att tidsstyrt väcka upp en enhet ur ett djupt viloläge: antingen med en realtidsklocka, eller med oscillatorer som har mycket låg förbrukning (VLO). Skillnaden mellan dem är huvudsakligen noggrannheten. En RTC 3 ELEKTRONIKTIDNINGEN 8 juli 2010 Atmel och Elektroniktidningen Sverige

ger mycket exakt timing tack vare den mycket noggranna 32 khz-oscillatorn, medan en VLO är mycket inexakt och inte lämpad för tidskritiska funktioner. Att använda klockgrindning för att minska effektförbrukningen I teorin förbrukar CMOS-logik bara effekt när de logiska signalerna eller klocksignalerna växlar tillstånd. När alla digitala signaler är statiska, som vid Power Down, är det bara läckströmmar och den ström som används i aktiverade analoga moduler som förbrukas. Effektförbrukningen i en CMOStransistor kan beräknas med följande ekvation: P = 1/2 * F toggle * C Load * V DD 2 + Load Där F toggle är växlingsfrekvensen, C Load är den kapacitiva lasten och V DD är matningsspänningen. Dessutom tillkommer ett litet bidrag från den digitala logikens läckströmmar. Effektförbrukningen i Active-läge för en given krets är summan av alla växlande grindar. Därav följer att strömförbrukningen i Active-läge kan minskas genom att man minimerar såväl antalet grindar som antalet gånger varje grind behöver växla för att kunna köra applikationen. Figur 2. Principen för klockgrindning Klockgrindning är en metod som används för att reducera antalet växlande grindar. En klocksignal kan stoppas med hjälp av ett grindelement. Varje klockdistribution eller klockdomän som grindas fryses, och kommer då inte att ha några växlingar alls och därmed inte någon dynamisk effektförbrukning. Principen för klockgrindning beskrivs i figur 2. Ett exempel: Atmels AVR-MCU har tre huvudnivåer för klockgrindning. Dessa liksom andra metoder som beskrivits i denna artikel har införts i Atmels Figur 3. Tre huvudnivåer för klockgrindning 4 ELEKTRONIKTIDNINGEN 8 juli 2010 Atmel och Elektroniktidningen Sverige

picopower-teknologi, som används i AVRs MCU-familj. Den första nivån av klockgrindning är vilolägena. Här grindas klockdistributionen till en grupp av funktioner. Härigenom blir det möjligt att använda olika nivåer av vila och funktionalitet: I läget Idle grindas CPU-klockdomänen och flash-klockdomänen, medan periferifunktionerna och avbrottssystemet tillåts arbeta. I läget ADC noise reduction arbetar AD-omvandlaren, medan cpu-klockan, de flesta periferifunktioner och flashklockan grindas. Under Power Down grindas alla AVR- MCU:ns klockdomäner, och endast aktiverad asynkron operation tillåts. Dessutom stoppas den externa oscillatorn. Power Save är som Power Down, förutom att den asynkrona timern får arbeta om den är aktiverad. Standby är som Power Down, förutom att huvudoscillatorn hålls igång. Extended Standby är som Power Save, fast huvudoscillatorn hålls igång. Svarstiden för att vakna upp ur viloläge är bara sex klockcykler när den interna RC-oscillatorn eller en extern klocka är klockningskälla. Effektförbrukningen under uppvakningssessionen är lägre än under Idle-läget. Det betyder att AVR- MCU:n kan vakna upp från viloläge och sedan återvända till viloläge med ytterst låg energiförbrukning, och tillbringa ytterst lite tid under uppvakningsläget och aktivt läge. Den andra nivån av klockgrindning är Power Reduction Register (PRR). Många periferimoduler används bara under mycket korta tider, eller inte alls. Power Reduction Register innehåller styrbitar som används för att avaktivera icke använda periferimoduler. Hela klockdistributionen till avaktiverade periferimoduler grindas. Detta är mer kraftfullt än att bara avaktivera modulen med hjälp av dess Enable-bit, eftersom modulens I/O-register avaktiveras av PRR. Power Reduction Register styrs av mjukvara som ger användaren möjlighet att sätta på och stänga av periferimoduler när som helst. Strömtillståndet fryses och alla I/O-register görs oåtkomliga när modulerna avaktiverats med PRR. När periferimodulen återaktiveras återgår den till samma tillstånd som den hade innan den avaktiverades. Att avaktivera en sådan modul ger en minskning på 5 till 10 procent av den totala effektförbrukningen i aktivt läge, och 10 till 20 procent i Idle-läge. I konstruktioner utan klockgrindning uppdateras alla register för varje klockcykel. Om inga förändringar har skett Figur 4. En konstruktion med och utan automatisk klockgrindning uppdateras registret till sitt tidigare tillstånd, vilket i onödan förbrukar effekt. Automatisk klockgrindning (eller klockgrindning med flera nivåer) släpper igenom klockan bara när en uppgradering krävs (till exempel när ett värde har ändrats). Istället för att uppdatera ett register med dess tidigare värde grindas klockan till registret. Denna artikel belyser bara några få av de många sätt som finns för att minska effektförbrukningen hos MCU-kretsar. Mer information finns på atmel.com/ products/avr n 5 ELEKTRONIKTIDNINGEN 8 juli 2010 Atmel och Elektroniktidningen Sverige