U bent hier:
  1. Home
  2. Nieuws
  3. Bekijk


Analyse

GCC viert zilveren jubileum

25 jaar geleden bracht Richard Stallman zijn vrije en opensource C-compiler uit. Sindsdien is GCC uitgegroeid tot een kracht van betekenis in de computerindustrie, waarmee vriend en vijand rekening...

Podium

Puzzelen op vijftigduizend GPS-metingen

Met de Open GPS Tracker-app kunnen bezitters van een Android-telefoon hun route opnemen en op een kaart weergeven. Ondertussen hebben meer...

Redactioneel

Het gat van Verhagen

De eerste klap is een daalder waard, weet ook Hans Clevers. In zijn eerste interview sinds bekend was gemaakt dat hij DWDD-president Robbert Dijkgraaf opvolgt bij de KNAW zei de wereldberoemde...

Achtergrond

Systeemdenken zet ontwikkeling energiezuinige chips op zijn kop

25 januari 2008

De uitdaging bij draadloze sensortoepassingen beperkt zich niet tot betrouwbare draadloze communicatie. De energievoorziening is zo mogelijk een nog groter probleem. Logisch, want draadloos betekent dat ook de stroomkabel moet wijken. Het energieverbruik geldt vaak als maatstaf bij zuinige communicatiechips. In de praktijk blijkt dat geen geschikt beeld. Reële toepassingen zijn evenzeer gebaat bij opstarttijden, gesofisticeerde slaapstanden en andere technieken. Greenpeak analyseerde met een aantal klanten wat echt telt in een energiezuinige toepassing. Niek Van Dierdonck deelt zijn ervaringen.

Als voedsel te lang buiten de koeling staat, riskeren supermarkten dat hun klanten een voedselvergiftiging oplopen, met nefaste, soms zelfs fatale gevolgen. De situatie is zelfs zo prangend dat overheden in veel westerse landen temperatuurbewaking in supermarkten wettelijk verplicht maken. In een demoproject met een winkelketen gingen we na hoe we zijn koel- en vrieskasten met bederfelijke waren konden voorzien van sensoren om het temperatuurpeil continu te bewaken.

Een snelle schatting laat al gauw zien dat de winkelier bij het bedrade alternatief per vrieskast gemiddeld 12 meter kabel nodig heeft om ze allemaal aan elkaar te hangen via een busverbinding. Met een eenheidsprijs voor kabelinstallatie van 10 euro per meter telt dat op tot een onaanvaardbare 120 euro per kast, louter voor de bekabeling. Beter is een draadloze oplossing die autonoom van het spanningsnet functioneert.

Bij de architectuurdefinitie van de draadloze aanpak komt onmiddellijk de uitdaging naar boven hoe je de temperatuursensor van vermogen moet voorzien zonder kabels te gebruiken. We hebben twee mogelijkheden onderzocht: een knoopcelbatterij van het type Lithium 2430 met 250 mAh, die gedurende 250 uur 1 mA kan leveren, en een fotovoltaďsche cel die het aanwezige licht in de supermarkt omzet naar elektrische energie. De laatste bleek geen optie, aangezien de winkelier de temperatuur ook ’s nachts nauwgezet in de gaten wil houden. We gaan daarom voor de knoopcel. Een eis is dan wel dat het apparaat minimaal drie jaar moet functioneren voordat de batterij aan vervanging toe is. Een eenvoudige berekening leert dat de beschikbare stroom dan beperkt is tot gemiddeld 10 microampčre. Dit is een hele kluif als je bedenkt dat het sensor- en communicatiesysteem in actieve toestand gauw 30 mA stroom trekt.

Als je een rechttoe rechtaan draadloos systeem bouwt, kom je al snel uit op de combinatie van een microcontroller voor het uitlezen en verwerken van het sensorsignaal en een zendontvanger voor het doorsturen van de verwerkte meting. Het stroomverbruik van zo’n systeem is te zien in de oscilloscoopplot van Figuur 1. Het eerste opvallende punt is dat het verbruik zodra de microcontroller aan is, een factor duizend hoger ligt dan wat gemiddeld beschikbaar is. Daaruit leiden we af dat we onze toepassing periodiek zullen moeten aan- en uitschakelen, duty-cyclen, tussen een slaap- en een zendmodus om de energiebehoefte te verlagen.

Figuur 1: In een oscilloscoopplot is goed te zien wanneer en hoeveel stroom het sensorsysteem verbruikt.

Voor een periodieke wekker moet tijdens de slaapmodus een teller meelopen die het systeem elke vijf minuten een seintje geeft. Een moderne microcontroller zoals de Atmel Atmega beschikt over een slaapmodus waarbij een teller actief blijft. Die teller is echter slechts 8 bit breed zodat hij zijn maximum bereikt lang voor de vijf minuten voorbij zijn. Op dat moment moet de microcontroller wakker worden om een tweede teller in software te verhogen en de eerste teller te herstarten. We noemen dit de timerresetmodus. Als we nu het verbruik van de drie standen (slaap, tellerreset en zenden) analyseren, krijgen we een verdeling van het energiebudget zoals in Figuur 2. Hier is te zien hoeveel elke modus toevoegt aan het gemiddelde stroomverbruik. De zender verbruikt wel 30 mA, maar hij is in vergelijking met de lange slaapstand nauwelijks actief.

Bij analyse van de energieverdeling vallen een aantal zaken op. Het gemiddeld energieverbruik bedraagt ongeveer 40 microampčre, ofwel viermaal het beschikbare. Verder zien we dat de zendmodus nauwelijks invloed heeft op het totale verbruik. De slaapmodus daarentegen verkwist op zichzelf al het dubbele van wat voorradig is. Ook zien we dat de timerresetmodus de energiebehoefte nog eens verdubbelt. Ten slotte merken we op dat de benodigde piekstroom 30 mA bedraagt (zie Figuur 1), terwijl de gekozen Lithium 2430-knoopcel maximaal maar 15 mA kan leveren. We pakken deze problemen een voor een aan en nemen drie maatregelen om het verbruik te beperken.

Figuur 2: De zender verbruikt nauwelijks stroom. De timerreset en de slaapstand verbranden veel meer.

Vermijd reset

De bestaansreden voor de timerresetmodus is het ontbreken van een slaapmodusteller die de gehele periode van vijf minuten kan uittellen zonder tussentijds de microcontroller wakker te maken. In de voorgestelde oplossing zou een 12 bit teller volstaan om nooit meer tussentijds te hoeven wakker worden voor een timerreset.

Indien we deze maatregel met een praktische oplossing kunnen realiseren, dan daalt het gemiddelde stroomverbruik onmiddellijk naar ongeveer 20 µA. Een hele verbetering. Een implementatieoptie is om een 12 bit teller via een extern circuit te realiseren. Dit zou echter niet alleen de systeemkosten verhogen, maar dat circuit verbruikt zelf ook weer stroom, zodat we niet optimaal profiteren van de volledige verlaging. Greenpeak realiseerde een betere oplossing door zijn GP-2000-zendontvanger te voorzien van een ultrazuinige timer die met een breedte van 27 bit de reset volledig overbodig maakt en daarmee het gestelde doel bereikt.

Slaap rustig

Dankzij het omzeilen van de reset hebben we het stroomverbruik weliswaar gehalveerd, maar het resultaat is nog steeds tweemaal hoger dan de toegestane 10 µA. De reden waarom de slaapstroom zo hoog is, is dat de brown-outdetector van de microcontroller actief blijft tijdens het slapen. Deze detector zorgt ervoor dat het falen van de batterijspanning tijdig boven water komt en we het systeem in een veilige toestand kunnen zetten voor het te laat is. Een bekend fenomeen bij het ongecontroleerd uitvallen van de batterij is gegevensbeschadiging in niet-vluchtige geheugens. Het is daarom niet slim om de brown-outdetector simpelweg te schrappen.

Een oplossing is om een externe zuinige brown-outcomponent in het systeem te bouwen. Zulke componenten zijn wel op de markt te krijgen, maar ze brengen een prijsstijging van het systeem met zich mee. Greenpeak integreerde in de GP-2000-zendontvanger een brown-outdetector die slechts 100 nA verbruikt en daarmee nauwelijks de batterijlevensduur verlaagt.

Dankzij deze verbeteringen hebben we het gemiddeld stroomverbruik teruggebracht onder 1 µA, zodat we veel beter uitkomen dan de verwachte drie jaar batterijautonomie. Het gemiddeld stroomverbruik is zelfs zover afgenomen dat de zelfontladingsstroom van de batterij de dominante factor is en de reële levensduur van het systeem bepaalt.

Net op tijd

Toch hebben we het probleem nog niet helemaal opgelost. Want zelfs met een gemiddeld stroomverbruik van minder dan 1 µA blijft het piekstroomverbruik 30 mA. De goedkope lithiumknoopcel levert maximaal slechts 15 mA. Het piekvermogen van het standaard ontwerp wordt bereikt wanneer alle systeemcomponenten actief zijn. Toch is zo’n piekvermogen vanuit systeemontwerpstandpunt niet strikt nodig. De microcontroller hoeft tijdens de transmissie van een pakket niet actief te zijn, waardoor we al 10 mA uitsparen. Ook de zendontvanger heeft geen 20 mA nodig om een pakket te verzenden. Een deel van het stroomverbruik komt immers voor rekening van een aantal andere zendontvangerfuncties die wel aanstaan en dus stroom verbruiken, maar geen zinvol werk verrichten.

In een ideale oplossing proberen we zo veel mogelijk functies sequentieel aan en uit te schakelen om het piekvermogen te beperken. We gebruiken daarom een techniek die we just-in-time scheduling noemen om een lagere piekstroom te bereiken. Figuur 3 vergelijkt schematisch het verbruiksprofiel tijdens het verzenden van een pakket van het standaard ontwerp met dat van de ideale oplossing die functies sequentieel aan- en uitschakelt, het just-in-time-principe.

Figuur 3: Greenpeak koos voor just-in-time scheduling. Deze aanpak is veel energiezuiniger dan de referentieoplossing.

Het standaard ontwerp is microcontrollercentrisch opgebouwd. Dat wil zeggen dat de microcontroller als eerst wakker wordt om het systeem verder te coördineren. In de eerste paar milliseconden wacht hij tot de klok stabiel is. Dan schakelt hij de zendontvanger aan en geeft deze de instructie om het pakket te versturen. De microcontroller wacht op een ontvangstbevestiging van de zendontvanger, waarna hij deze weer uitschakelt. Na wat interne huishouding valt hij zelf opnieuw in slaap.

Vertrekkend van de referentieoplossing gaan we het aan- en uitschakelen van de functionele blokken grondig reorganiseren. Ons startpunt is om niet de microcontroller maar de zendontvanger een centrale plek te geven. De zendontvanger krijgt de rol van systeembeheerder. Hij is bovendien zo opgezet dat hij heel snel kan ontwaken en dus niet zoals de microcontroller ettelijke milliseconden nodig heeft om tot een stabiel regime te komen. De zendontvanger kan bovendien zijn klok doorgeven aan de microcontroller zodat die niet afhankelijk is van zijn eigen trage klokstabilisatieproces. In deze opzet is de volgorde van gebeurtenissen als volgt: de beheersfunctie van de zendontvanger wordt wakker, wekt dan de microcontroller om de temperatuursmeting uit te voeren, schakelt vervolgens de microcontroller uit en zijn zendfunctie aan om een pakket te versturen. Na amper 2 ms gaat het volledige systeem weer uit.

Deze herschikking geeft het gewenste resultaat. Door het sequentieel aan- en uitschakelen van de functies daalt het piekstroomverbruik tot 15 mA en komt zo binnen het bereik van de knoopcel. Tegelijk vermindert de tijd dat het systeem aanstaat, zodat de batterijen ook hier de drie jaar volmaken.

De GP-2000-zendontvangerchip heeft een just-in-time scheduler aan boord. Deze schakelt functionele blokken aan en uit op het ritme dat de toepassing dicteert. Tot de functionele blokken hoort de externe microcontroller. De scheduler is door de microcontroller programmeerbaar om maximale toepassingsflexibiliteit te bereiken.

De les die we kunnen trekken, is dat we verder moeten kijken dan onze neus lang is. Het stroomverbruik van de zenders zegt niet alles over de kwaliteit van een draadloos sensornetwerk. Met een handige architectuur, zuinige slaapstand en het omzeilen van de timerreset kun je veel meer winst halen.

Niek Van Dierdonck is vicepresident Strategy & Product Management bij Greenpeak. Hij stond er mede aan de basis van de ontwikkeling van ultrazuinige sensorcommunicatietechnologie. Greenpeak realiseerde met de GP-2000 een IEEE 802.15.4-zendontvanger die (onder meer) de in dit artikel beschreven principes aanbiedt.

Niek van Dierdonck

Terug naar overzicht



© Bits & Chips | Deze pagina op internet: http://www.bits-chips.nl/nieuws/bekijk/artikel/systeemdenken-zet-ontwikkeling-energiezuinige-chips-op-zijn-kop.html