52985.jpg

Ebenso wichtig wie die Auswahl des passenden Controllers ist die Auswahl geeigneter Komponenten in dessen Umfeld, da Einflüsse auf Gestaltung, Bedienung und Funktion des Endprodukts zu erwarten sind.

Auf einen Blick

Durch die genannten Verfahren kann der Strombedarf mikrocontrollergesteuerter Schaltungen erheblich vermindert werden, wobei viele Maßnahmen noch nicht einmal die Performance einschränken oder die Systemkosten erhöhen – und wo letzteres doch zutrifft, amortisiert sich der Mehraufwand mit der Zeit zumeist vielfach. Bei weltweit milliardenfacher Verbreitung von Mikrocontrollern ist schließlich auch der Umweltschutzaspekt nicht zu vernachlässigen.

Tasten und Folientastaturen sind unkritisch, da nur während der Betätigung ein geringer Querstrom durch die notwendigen Pullup- oder Pulldown-Widerstände fließt. Endschaltern und Reed-Kontakten, die dauerhaft im Ein-Zustand verharren können, ist jedoch Aufmerksamkeit zu widmen. Oft können Pullups nicht so hochohmig gewählt werden wie man es gerne hätte, da die Zuleitungen Störsignale auffangen. Werden zur Störunterdrückung zusätzlich Kondensatoren an den I/O-Pins vorgesehen, kann sich gerade bei sehr hochohmigen Pullups ein schwer zu findendes Fehlverhalten einschleichen: die Zuleitungen bilden aufgrund ihrer Induktivität zusammen mit solchen Kondensatoren Schwingkreise, die durch die plötzliche Entladung des Kondensators bei Tastenbetätigung zu Schwingungen mit einer weit über Vcc liegenden Amplitude angeregt werden. Die Amplitude wird dann zwar durch die Eingangsschutzdioden begrenzt, dies führt aber zu derart starken Impulsströmen, dass ein Latchup am I/O-Pin ausgelöst werden kann. Abhilfe bringt ein externer relativ niederohmiger Pullup zur Dämpfung der Schwingung, oder auch ein Serienwiderstand am Eingangspin, der den Strom in jedem Fall auf zulässige Werte begrenzt. Der Energieverlust durch Querströme lässt sich durch kurzzeitiges, periodisches Abfragen und anschließendes Abschalten der Tasten minimieren.

Für Potentiometer gilt ähnliches: nur Zuschalten zur Abfrage der Schleiferstellung, dann wieder einseitig trennen. Man erkennt, dass sich leicht ein höherer Bedarf an I/O-Pins ergibt als bei klassischen Designs.

Touch-Eingabe

Kapazitive Touch-Eingabe als Tastatur- und Poti-Ersatz wird zunehmend populär. Da entweder ein Spezialbaustein oder der mit einer Softwarelösung programmierte Mikrocontroller in Betrieb sein muss, bietet es sich an, auch hier periodisch abzufragen. Dabei beschränkt man sich zunächst auf einen Kanal, der eventuell bereits auf Annäherung reagiert, und aktiviert den Rest nur bei Bedarf. So lassen sich im Wartebetrieb durchschnittliche Stromaufnahmen im Mikroampere-Bereich erzielen. In die SAM4L-Controller mit Cortex-M4-Core wurde die hardwaremäßige Unterstützung für kapazitive Sensoren übernommen, wie man sie bereits von den 32 Bit AVRs der UC3L-Serie kennt. Noch sparsamer ist der PTC (Peripheral Touch Controller) der Cortex M0+-basierten SAMD20/21-Reihe. Hier sind Lösungen mit weniger als 5 µA durchschnittlicher Stromaufnahme im Bereitschaftsmodus möglich.

Magnetische Winkel- und Lineargeber schieden bis vor kurzem aufgrund des durch das Hall-Prinzip bedingten Stromflusses für Geräte mit niedrigstem Strombedarf aus. Neuere Entwicklungen machen sie wegen ihrer technischen Vorteile bei extrem gesenktem Eigenverbrauch auch hier interessant.

Sensoren für chemische und physikalische Größen bilden ein weites Feld, so dass in diesem Rahmen nur kurz auf sie eingegangen werden kann. Zumeist gibt es zahlreiche Prinzipien, die miteinander zu vergleichen sind. Bisweilen lässt sich das Erfassen einer Größe sogar mit Energiegewinnung verbinden, wie bei der Helligkeitsmessung über Fotozellen, der Messung von Strömungsgeschwindigkeiten mittels durch die Strömung selbst betriebener Kleingeneratoren, Messungen an Hochspannungsleitungen, wo dem Feld ausreichend Energie zum Betrieb autarker funkvernetzter Sensoren entnommen werden kann oder der Schwingungserfassung über Piezo-Elemente. Ist solches Energy Harvesting nicht möglich, wird man sich auf periodisches Messen beschränken und ansonsten möglichst viele Komponenten deaktivieren. Auch sind die in der Regel erforderlichen analogen Bauteile sorgfältig auszuwählen; viele Hersteller bieten spezielle Low-Power Analogprodukte an, etwa hochauflösende ADCs mit nur wenigen µA Stromaufnahme. Achtung: Bei ADCs muss die erste Messung nach dem Ein- beziehungsweise Umschalten des Multiplexers auf einen anderen Kanal meist verworfen werden.

Bild 1: AVR Xmega Picopower-Controller der zweiten Generation.

Bild 1: AVR Xmega Picopower-Controller der zweiten Generation. Atmel/Ineltek

Aktive Displays

Aktive Displays wie TFT und OLED verbieten sich aufgrund ihrer vergleichsweise hohen Stromaufnahme in vielen Fällen. Immerhin lässt sich durch bedarfsweises Ein- beziehungsweise Hell-Schalten eine gewisse Einsparung erreichen. Um Größenordnungen sparsamer sind passive LC-Displays, gegebenenfalls mit zuschaltbarer Hintergrundbeleuchtung. Diese Option setzt allerdings transflektive Displays voraus, die im Vergleich zu reflektiven im passiven Modus kontrastärmer sind. Xmega- und SAM4L-Controller gibt es auch mit besonders sparsamen integrierten LCD-Controllern. Elektrophoretische Displays (E-Paper) und die neuen bistabilen LCDs halten den letzten Bildinhalt auch ohne Stromaufnahme bis zum nächsten Bildwechsel. Während des Wechsels benötigen E-Paper mehr Energie als LCDs, auch gibt es noch Einschränkungen bei Geschwindigkeit und Temperaturbereich. Für Etiketten, Türschilder und so weiter sind sie jedoch hervorragend geeignet. Vorsicht ist geboten bei Displays für Warn- oder Freigabemeldungen, da bei Stromausfall Falschanzeigen möglich sind. Die Ansteuerung Elektrophoretischer Displays ist komplex und erfordert spezielle Ansteuerchips oder damit bereits ausgestattete Controller. Interessant ist der Ansatz, solche Schilder ganz ohne eigene Stromquelle aufzubauen und den anzuzeigenden Text via NFC (Near Field Communication) über ein Smartphone zu übertragen. Entsprechende Bausteine wie der AS3953 von der Firma ams bilden dabei nicht nur die Daten-Schnittstelle zwischen NFC-Feld und Display-Controller, sondern sie entziehen dem HF-Feld auch gleich die erforderliche Energie.

Beschränkt sich die Anzeige auf LEDs, so wählt man hocheffiziente Typen und wird diese möglichst nur kurz blinken oder aufblitzen lassen. In letzterem Fall kann mittels einer zusätzlichen Induktivität eine Spannungsanhebung bei gleichzeitiger Strombegrenzung erfolgen, so dass auch aus niedriger Batteriespannung ein Betrieb möglich ist, ohne Energie in einem Vorwiderstand zu verschwenden. Rote LEDs haben eine geringere Durchlassspannung als andersfarbige. Dagegen ist das menschliche Auge im grünen Bereich am empfindlichsten und im blauen am unempfindlichsten.

Bistabile Relais benötigen nur während des Umschaltens kurze Stromimpulse. Es ist aber oft aus Sicherheitsgründen darauf zu achten, dass auch bei Stromausfall ein zuverlässiges Abschalten des Geräts gewährleistet bleibt. Bei Standardrelais kann mittels PWM der Haltestrom nach dem Umschalten abgesenkt werden. Ähnliche Techniken erlauben Ersparnisse bei Schrittmotoren im Haltebetrieb.

Zur akustischen Signalisierung bieten sich Piezo-Signalgeber an. Der Betrieb auf der Eigenresonanzfrequenz bewirkt besonders hohe Lautstärke. Hier kann eine relativ große Bauform vorteilhaft sein, damit diese Resonanz in einem auch von älteren Menschen gut hörbarem, nicht zu hohem Frequenzbereich liegt.

LF/RF-Bausteine oder entsprechende Fertigmodule wie „active Tags“ werden im Bereich Zugangskontrolle, Personenüberwachung, Diebstahlschutz und vieles mehr eingesetzt. Oft ist ein extrem sparsamer Wake-Up-Receiver für das Langwellenband mit einem Transceiver für Hochfrequenz kombiniert. Gerade unter den Wake-Up-Receivern findet man Ausführungen, die im aktiven empfangsbereiten Zustand nur wenige Mikroampere aufnehmen. Allerdings gibt es erhebliche Unterschiede bei der Empfindlichkeit der Empfänger und anderen Merkmalen mit Einfluss auf die Energiebilanz. Auf der HF-Seite beeinflussen unter anderem Frequenzbereich, Antenne und verwendetes Protokoll in hohem Maße den Energiebedarf.

Mikrocontroller-Auswahl

Aufgrund des Pflichtenhefts ergeben sich bereits zahlreiche Anforderungen an den zu wählenden Mikrocontroller. Nicht nur technische Vorgaben zur Erfüllung der eigentlichen Aufgabe sind maßgebend, auch weitere Faktoren wie Safety-Funktionen, vorhandene Libraries, Vorerfahrungen mit der Controllerfamilie, Entwicklungsumgebungen, (Langzeit-) Verfügbarkeit, Qualität, Support durch Hersteller und Lieferant, Einsatz bei anderen Produkten und damit verbundene Lagerhaltung sowie eventuelle Preisvorteile durch Bündelung und vieles mehr spielen eine wichtige Rolle. Nun kommt der Aspekt der Energieersparnis noch hinzu. In manchen Fällen wird man einen speziell auf niedrigsten Energiebedarf hin konstruierten Controller wählen (müssen), oft jedoch reicht es aus, einen sparsamen modernen Standard-Controller einzusetzen und die Schaltung hard- und softwaremäßig zu optimieren. Wer extrem an Energie sparen muss und einen Spezialbaustein ins Auge fasst, sollte besonders sorgfältig vergleichen, denn die inzwischen gestiegene Sensibilität der Entwickler in puncto Energieverbrauch hat manchen Hersteller zu Marketingaussagen veranlasst, die überzogene Erwartungen wecken können. Hier ist gesundes Augenmaß angesagt. Liegt die geringstmögliche Stromaufnahme im Tiefschlaf eines bestimmten Controllers bei einigen Mikroampere, so ist das für Automobilanwendungen und im Industriebereich meist unerheblich. Für einen Langzeitdatenlogger dagegen, der über viele Jahre aus einer kleinen Batterie gespeist wird, ist das deutlich zu viel. Andererseits tappt in eine Falle, wer sich hier allein durch extreme Angaben von wenigen Nanoampere beindrucken lässt, wenn in der realen Anwendung eine auch nur geringfügig schlechtere Performance sich in einer Verlängerung der aktiven Phase niederschlägt und alle im Tiefstschlaf erzielten Nanowatt-Einsparungen zunichtemacht. Nur die genaue Betrachtung von Peripherie, Programmlaufzeiten und verfügbaren Energiesparoptionen ermöglicht einen fairen Vergleich.

Unbenutzte I/O-Pins sind als Eingänge zu konfigurieren, da so der Strombedarf etwas niedriger ist als bei offenen Ausgängen. Digitale Eingänge sollten mit einer Abweichung von weniger als 0,5 V auf Masse oder VCC liegen, was durch ihre externe Beschaltung oder durch Aktivierung der internen Pullups erreicht wird. Die Einhaltung der Logikpegel für High und Low reicht nicht aus. Die Pullup-Widerstände sind im Reset-Zustand noch nicht aktiviert, da die zugehörigen Register noch ihre Initialwerte enthalten. Um auch in dieser Phase den Stromverbrauch zu minimieren, sind externe Pullups erforderlich. ATxmegas haben auch Pulldown-Widerstände integriert (Bild 2).

Bild 2: Xmega-Controller gibt es auch mit besonders sparsamen integrierten LCD-Controllern.

Bild 2: Xmega-Controller gibt es auch mit besonders sparsamen integrierten LCD-Controllern.Atmel/Ineltek

Die Stromaufnahme ist bei CMOS-Stufen etwa proportional zur Taktfrequenz. Daher wählt man diese bei Dauerbetrieb nur so hoch, dass die benötigte Rechenleistung erzielt wird. Falls kein Dauerbetrieb erforderlich ist, zeitweise jedoch eine schnelle Abarbeitung benötigt wird, sollte man die verschiedenen Sleep-Modi nutzen. Dabei wird die CPU die meiste Zeit über vom Systemtakt getrennt oder der Oszillator wird ganz abgeschaltet. Bei Bedarf wird die CPU geweckt solange nötig, danach wieder schlafen gelegt.

Sleep Modi bei AVR-Controllern

Tabelle 1: Sleep Modi bei AVR Controllern.

Tabelle 1: Sleep Modi bei AVR Controllern.Atmel/Ineltek

Steht ein externes Wecksignal wie Tastendruck oder ein Schnittstellen-Signal zur Verfügung, kann der Controller in den sparsamsten Sleep-Mode, den Power Down Mode mit typisch 0,1 µA, versetzt werden (Tabelle 1). Soll der Controller von selbst aufwachen, muss ein Timer laufen – in der Regel der 32 kHz Uhrenoszillator bei einer Stromaufnahme von 0,5 bis 10 µA. Solche Angaben sind typische Werte und beziehen sich auf eine Temperatur von 25 °C. Die maximalen Werte können deutlich höher liegen. Hier empfiehlt sich ein Blick ins Datenblatt. Noch sparsamer sind moderne externe RTC-Bausteine, die auf Werte um 100 nA herab kommen und so konfiguriert werden können, dass sie den Controller periodisch aufwecken.

Im Intervallbetrieb mit langen Sleep-Pausen und kurzen aktiven Phasen ist es nicht gleichgültig, ob in den aktiven Phasen schnell getaktet und kurz gerechnet oder langsamer getaktet und dafür länger gerechnet wird. Kurze, schnell getaktete aktive Phasen sind etwas günstiger. Allerdings setzt die Betriebsspannung Grenzen, und die internen RC-Oszillatoren können bei vielen Controllern nur die halbe Maximalfrequenz erzeugen. Externe RC-Kombinationen ermöglichen aber auch höhere Frequenzen.

Ist beispielsweise durch die Baudrate des UART ein Zeitfenster vorgegeben, sollte man zeitweise den Takt auf das gerade noch ausreichende Maß absenken und erst für Berechnungen wieder auf den höheren Takt umschalten. Dabei ist es günstiger, zwischen geeigneten Taktquellen umzuschalten, als nur den Teilerfaktor des Prescalers zu variieren. Grundsätzlich sollte man höhere Frequenzen als maximal benötigt erst gar nicht erzeugen. In dieser Hinsicht ist der Xmega besonders flexibel. Wird er mit 16 MHz betrieben, ist es besser, diese Frequenz mittels 2-MHz-RC-Oszillator und PLL zu erzeugen, als einen 32-MHz-Takt herunter zu teilen. Benötigen CPU und Peripherie unterschiedliche Takte, sollte der Hauptoszillator, aus dem diese abgeleitet werden, so langsam wie möglich laufen.

Taktoszillatoren unterscheiden sich in Stromaufnahme, Einschwingzeit und Stabilität. Bei Nutzung der Sleep-Modi und begrenzten Anforderungen an Genauigkeit und Frequenzstabilität ist der interne RC-Oszillator zu empfehlen. Das spart nicht nur den vibrationsempfindlichen Quarz und Platz auf der Platine, sondern auch Zeit beim Einschwingen und damit Energie: Ein Quarz benötigt über 15.000 Schwingungen, bis er sauber oszilliert, ein RC-Oszillator mit nur sechs Keramikresonatoren liegt mit 200 bis 1000 Schwingungen dazwischen. Ihre Genauigkeit reicht für asynchrone serielle Schnittstellen, nicht aber für eine Uhr. Neuere AVRs verfügen über einen Temperatursensor, der die Kalibrierung des RC-Oszillators im Register OSCCAL abhängig von der Temperatur mit ein bis zwei Prozent Abweichung ermöglicht, was für UARTs ausreicht. ATxmegas verfügen über einen im kompletten Spannungs- und Temperatur-Bereich auf ein Prozent kalibrierten 32-kHz-RC-Oszillator. Auch die neuen ATtiny1684 sowie die SAM4L-Serie sind mit besonders sparsamsten Oszillatoren versehen. Die RC-Oszillatoren der neuesten Xmegas sind derart genau, dass nicht einmal für USB ein Quarz benötigt wird. Die Quarzoszillatoren moderner AVRs können wahlweise für Low-Power- oder Full-Swing-Betrieb konfiguriert werden. Durch die geringere Amplitude im Sparmodus sinkt aber naturgemäß die EMC-Festigkeit. Eine Übersicht der Oszillatortypen zeigt Tabelle 2.

Tabelle 2: Oszillatortypen.

Tabelle 2: Oszillatortypen.Atmel/Ineltek

Die Stromaufnahme ist nahezu proportional zur Betriebsspannung. Je niedriger UB, desto niedriger ist allerdings auch die maximal zulässige Taktfrequenz. Einige Controller enthalten einen Aufwärtswandler, der den Betrieb an nur einer Batteriezelle erlaubt. Beim ATtiny23U/43U ist sicheres Anlaufen ab 0,9 V gewährleistet, wodurch die Batterie sehr gut ausgenutzt wird (Bild 3). Um Tiefentladung zu vermeiden wird unterhalb von 0,6 V der gesamte Chip abgeschaltet. Der Schaltregler selbst benötigt 17 µA, was für Schaltungen mit ständig laufendem Timer noch zu viel sein kann.

Bild 3: Ab 0,9 V ist sicheres Anlaufen des Controllers gewährleistet, zur Vermeidung von Tiefentladung wird bei weniger als 0,6 V der gesamte Chip abgeschaltet.

Bild 3: Ab 0,9 V ist sicheres Anlaufen des Controllers gewährleistet, zur Vermeidung von Tiefentladung wird bei weniger als 0,6 V der gesamte Chip abgeschaltet.Atmel/Ineltek

Bei zu weit absinkender Betriebsspannung ist das Verhalten von Mikrocontrollern nicht mehr vorhersagbar. Dies lässt sich durch eine Brown Out Detection (BOD) vermeiden, die den Controller bei Unterschreiten des Mindestwertes in den Reset-Zustand versetzt. Pico-Power-AVRs verfügen über eine Sleeping-BOD, die sich im Sleep-Mode abschalten lässt, ATxmegas über eine „Sampled BOD“, die nur zeitweise die Spannung überprüft. Bei Batterien sinkt die Spannung so langsam, dass es oft genügt, sie periodisch über den ADC oder den analogen Komparator zu überprüfen. So lässt sich zudem bereits deutlich vor Erreichen der BOD-Schwelle eine Batteriewarnung ausgeben.

Auch das Softwaredesign hat Einfluss auf den Stromverbrauch: Unterprogramme sparsam einsetzen, schnelle statt Speicherplatz sparende Algorithmen einsetzen, Look-Up-Tabellen anstelle langwieriger Rechnungen, Interrupts statt Polling, relative Sprünge verwenden, häufig benutzte Variablen in Arbeitsregistern halten, bei Hochsprachen die Optimierung zugunsten schneller Codeausführung wählen.

Besonderheiten bei AVR-Mikrocontrollern

AVR und SAM4(L) sind aufgrund des statischen CMOS-Designs und der Harvard-Struktur schon sehr sparsame Mikrocontroller, sowohl absolut als auch auf die Performance bezogen. Beim AVR sind Features wie der effiziente RISC-ähnliche Befehlssatz, Zero Flag Propagation und das Flash-Sampling zu nennen, bei dem der Programmspeicher nur während der Zugriffsphase mit Strom versorgt wird. Innerhalb der AVR-Familie variiert die Ausstattung mit Stromsparfunktionen. Bei den klassischen AVRs sind die Pico-Power-Ausführungen am sparsamsten und darunter wiederum die A-Typen (zum Beispiel ATmega 48/88/168PA), die um zirka 30 Prozent sparsamer sind als ihre Vorläufer. Xmegas sind grundsätzlich mit modernsten Techniken ausgestattet, insbesondere die Versionen mit USB (zum Beispiel ATxmega 128A1U).

Nicht benötigte Peripherie sollte abgeschaltet werden. Moderne AVRs haben ein Power Reduction Register (PRR), über das Timer, ADC, USART und TWI (I2C) durch Setzen eines Bits vom Takt getrennt werden können; sie verbleiben dann in ihrem letzten Zustand, bis der Takt wieder frei gegeben wird. Der Analogkomparator muss extra abgeschaltet werden, nämlich durch Setzen des Bits ACD im Register ACSR. Die Ersparnis beträgt etwa 60 µA bei 3 V. Dabei muss der Analog Comparator Interrupt gesperrt sein, sonst wird er durch Ändern des Bits ausgelöst. Dazu ist das ACIE-Bit im Register ACSR zuvor zu löschen. Wenn die Bandgap-Diode (Vref) intern mit einem Komparator-Eingang verbunden ist, fließen etwa 15 µA, und zwar auch im Sleep Mode. Deshalb sollte das ACBG-Bit im Register ACSR auf null gesetzt werden. Tabelle 3 fasst die Einsparmöglichkeiten zusammen.

Tabelle 3: Einsparungen bei abgeschalteter Peripherie bei AVR-Controllern.

Tabelle 3: Einsparungen bei abgeschalteter Peripherie bei AVR-Controllern.Atmel/Ineltek

Der Adressraum für die Special Function Register (SFR), in dem schnelle Spezialbefehle angewandt werden können, ist beschränkt, so dass einige Peripherie-Register in den SRAM-Bereich gelegt werden mussten. Durch geschickte Auswahl der Peripherie können einige Takte eingespart werden. Zum Ausgleich stehen außerdem General Purpose I/O-Register zur Verfügung, auf die ein schnellerer Zugriff möglich ist als auf das SRAM. Bei Xmegas kann man darüber hinaus die aktive Phase durch sogenannte Virtual Ports verkürzen, die den Zugriff auf die Register DIR, IN, OUT und INTFLAGS von bis zu vier Ports mit Single-Cycle-Befehlen zu Datentransfer und Bitmanipulation gestatten.

Der ADC wird nur bei Bedarf eingeschaltet und dann möglichst im Single-Conversion-Mode betrieben. Im Noise-Reduction-Mode wird die CPU während der Wandlung abgeschaltet, was nicht nur Strom spart sondern auch die Genauigkeit erhöht: Störungen des ADC durch die Aktivitäten der CPU fallen weg. Reichen 8-Bit-Auflösung anstelle der möglichen 10 Bit, verkürzt sich die Wandlungszeit des ADC von 65 µs auf 12 µs. Da aber kein eigener 8-Bit-Modus zur Verfügung steht, muss man den ADC-Takt auf einen entsprechend hohen Wert stellen und durch Setzen des ADLAR-Bits das signifikante Ergebnisbyte ins ADCH-Register schieben. Dieses Register liest man in 12 µs aus und schaltet dann den ADC ab.

Liegen analoge Spannungen an Eingangspins, die auch digitale Funktion haben, fließen in den digitalen Eingangsstufen Querströme, da beide Transistoren teilweise leiten. Bei Pico-Power-Typen können die digitalen Eingangszweige über das Digital Input Disable Register (DIDR) bitweise getrennt werden. Beim Xmega kann man den Non-Volatile-Memory-(NVM)-Controller stromsparend konfigurieren. Dabei werden das EEPROM sowie nicht benutzte Teile des Flashs abgeschaltet. Pageweise in das EEPROM zu schreiben ist sparsamer als byteweise.

Tabelle 4: Checkliste zum Low-Power-Design mit Mikrocontrollern.

Tabelle 4: Checkliste zum Low-Power-Design mit Mikrocontrollern.Atmel/Ineltek

Den Watchdog-Timer (WDT) abzuschalten spart 6 µA bei 3 V, er wird möglichst nur in der Entwicklungsphase benutzt. Bei den Xmegas gibt es dank DMA und Event-System mehr Möglichkeiten, die CPU anzuhalten und dennoch auf Ereignisse zu reagieren und sogar Teilaufgaben selbstständig in der Peripherie ablaufen zu lassen. Ein Datenlogger etwa kann fast ohne CPU arbeiten: Über das Eventsystem löst der RTC periodisch A/D-Wandlungen aus, deren Ergebnisse über die DMA direkt im Speicher unter fortlaufenden Adressen abgelegt werden. Die CPU wird nur bei Bedarf per Interrupt geweckt, zum Beispiel, wenn das Ergebnis außerhalb eines zuvor definierten Bereichs liegt. Die DMA reduziert die CPU-Belegung um 96 Prozent bei SPI-Kommunikation mit 4 Mbit/s und um 57 Prozent bei UART-Kommunikation mit 2 Mbit/s. Die Crypto-Unit erlaubt AES-Verschlüsselung beim Xmega (und auch beim SAM4LC) unabhängig von der CPU. Bei den Controllern mit LCD-Controller wählt man spezielle Ansteuer-Signalformen aus und hält die Frame Rate möglichst niedrig, siehe im Datenblatt unter „Minimizing Power Consumption“ und „Low Power Waveform“. Bei synchronem LCD-Takt kann das LCD-Modul auch im Idle- und im Power-Save-Mode betrieben werden, bei asynchronem LCD-Takt dazu im ADC-Noise-Reduction-Mode.

Andreas Riedenauer

, Ineltek-Mitte GmbH, Sulzbach.

(jj)

Sie möchten gerne weiterlesen?

Unternehmen

Ineltek GmbH

Hauptstraße 45
89522 Heidenheim
Germany