Forum: Mikrocontroller und Digitale Elektronik Low Power Mikrocontroller


von Günther S. (Gast)


Lesenswert?

Hi,


bin auf der Suche nach einem Low-Power Mikrocontroller.


Die MSP430 sollen ja schon gut sein.

Gibt es da schon bessere?
Wichtig ist mir eine niedrige Versorgungsspannung.


Bin bei weiteren Recherchen auf den C8051F93x von "Silicon Labs" 
gestoßen.
Dieser soll mit 0.9 V laufen. Benutzt dafür nen internen Step-Up Wandler 
(DC-DC Converter), der die 0.9 V auf 1.8 wandelt.

Leider blicke ich nicht ganz durch das Datenblatt durch, wie viel er 
denn jetzt verbraucht mit aktivierten Step-Up-Wandler.
Die 0.9 V sind natürlich schön, jedoch wird der Stromverbrauch 
entsprechend steigen bei aktivierten Wandler.


Die MSP430 haben ja ne schöne Angabe von 165µA/MHz. Sowas finde ich 
leider bei dem C8051F93x nicht, bzw ist das Datenblatt ein wenig 
kompliziert.
https://www.silabs.com/Support%20Documents/TechnicalDocs/C8051F93x-92x.pdf


Verbraucht er nu weniger, als die MSP430 oder tut sich da nich viel, was 
die Gesamtleistung betrifft(bei aktiviertem DC-DC Converter).
Die 0.9 V sind natürlich schön.

Vielleicht kennt sich ja jemand damit aus und kann mir helfen.

Vielen Dank

Günther S.

von so nicht (Gast)


Lesenswert?

Die AVR sind auch nicht so schlecht. Falls man sich in die 
Stromspartechnologie einarbeitet ist man mit vielerlei details 
konfrontiert. Zum Einen muss man die externe Peripherie 
beruecksichtigen, die moeglicherweise bei den niedrigen Spannungen nicht 
richtig laeuft. Pullups, die schnell mal ein Mikroampere verpuffen, zum 
Anderen muss man das Timing, resp den Programmfluss anpassen, um die CPU 
maximal lang im Sleep lassen zu koennen.

von so schon gar nicht (Gast)


Lesenswert?

Die MSP430 sind auch nicht schlecht. Falls man sich in die
Stromspartechnologie einarbeitet ist man mit vielerlei details
konfrontiert. Zum Einen muss man die externe Peripherie
beruecksichtigen, die moeglicherweise bei den niedrigen Spannungen nicht
richtig laeuft. Pullups, die schnell mal ein Mikroampere verpuffen, zum
Anderen muss man das Timing, resp den Programmfluss anpassen, um die CPU
maximal lang im Sleep lassen zu koennen.

Es ist halt überall das selbe.

von Sergey (Gast)


Lesenswert?

PIC mit nanoWatt Technologie

von so schon überhaupt nicht (Gast)


Lesenswert?

PICs ...

Da hab ich schon im letzten Jahrtausend drüber gelacht.
War so etwa 1983/4 rum.

Hat sich seit dem irgendwas getan?

von Hmm (Gast)


Lesenswert?

> Hat sich seit dem irgendwas getan?

Jap...es gibt Flash-Speicher, denn kannst du mehrfach beschreiben ;) 
Ausserdem ist das mit dem Bankswitching wesentlich einfacher geworden.
Und die Peripherie is auch nich schlecht geworden. Z.b. soll es auch
Pics mit USB und Ethernet geben

von Robert Teufel (Gast)


Lesenswert?

Kannst Du Low Power mal etwas besser definieren?
Es gibt z.B. einen ARM9, der laeuft bei 0,9V bis zu 13 MHz schnell, 
braucht weniger als 10 mAs dabei und hat eine Rechenleistung falls es um 
32-bit geht wie ein 8051/AVR/PIC bei 60-100 MHz. Waere also sehr niedrig 
im Stromverbrauch. Allerdings sind die Standby Werte also Ruhestrom 
absolut besch...
Soll der micro die ganze Zeit laufen, z.B. auf Batterie? Ist er die 
meiste Zeit im Ruhezustand? Muss er die Daten halten? Muss er sehr 
haeufig aufwachen, z.b. jede millisecond etwas abfragen.....

Diese Fragen definieren deinen speziellen Fall von Low Power. Ein MSP430 
startet z.B. sehr schnell vom internen Oszillator, man kann damit alle 
ms einen Wert einlesen und trotzem noch >90% "schlafen". Ein externer 
Quartz braucht bereits so lange zum Anschwingen, also keine Ruhephasen.

Mehr Info von Deiner Seite kann Dir bessere Hilfe bringen

Robert

von Günther S. (Gast)


Lesenswert?

Danke für die Antworten.


Also eine niedrige Betriebsspannung ist wichtig und der Ruhestrom ist 
auch wichtig.
Batteriebetrieben wäre natürlich schön.

Was mich mehr interessiert ist der C8051F93x.
Kann mir jemand sagen, wie die Stromaufnahme aussieht bei aktivierten 
DC-DC Converter?

Habe jetzt angaben gefunden von 170µA/MHz, nur weis ich leider nicht, 
wie viel der Aufwärtswandler verbraucht(oder ob das schon 
mitreingerechnet ist). Er soll ja sehr effizient sein. Geben eine 
Effizient von 80-90% an. Wie viel Strom verbraucht denn so ein Wandler, 
wenn er die 0.9 V auf 1.8 heben muss.
Ein Betrieb an einer Knopfzelle wäre natürlich optimal.


mfG

Günther S.

von Falk B. (falk)


Lesenswert?

@ Günther S. (Gast)

>Was mich mehr interessiert ist der C8051F93x.
>Kann mir jemand sagen, wie die Stromaufnahme aussieht bei aktivierten
>DC-DC Converter?

Keine Ahnung. Aber sag doch mal, was du insgesamt vorhast. Der MSP430 
und AVR sind schon kleine Stromsparwunder, andere Controller auch. So um 
die 200uA/MHz sind sehr wenig, und man kann damit sehr viel machen. Been 
There, done that. Meistens wird man den Sleep Mode nutzen, da die 
meiste Zeit nix zu tun ist. Aus ner Knopfzelle kann man heute fast jeden 
Controller betreiben, siehe Versorgung aus einer Zelle.

MFG
Falk

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das Reizvolle gerade beim MSP430 ist die zur Laufzeit umkonfigurierbare 
Taktversorgung.
So kann, wenn es lange Zeit gar nichts zu tun gibt, mit einem Uhrenquarz 
mit 32 kHz Takt gearbeitet werden - das genügt für Dinge wie 
Temperaturmessungen und zyklische Abfragen irgendwelcher Kontakte etc. 
Dazwischen kann mit den verschiedenen Low-Power-Modi noch mehr Strom 
gespart werden. Der LF-Oszillator verbraucht in diesen weniger Strom als 
der prozessorinterne DCO bzw. externe HF-Oszillatoren.
Kommt es dann, aufgrund eines Ereignisse, auf Rechenleistung an, kann 
leicht auf eine höhere Taktfrequenz umgeschaltet werden, indem der 
betreffende Oszillator angeworfen und auf dessen Einschwingen gewartet 
wird.

Werden diese Techniken geschickt eingesetzt, kann so mit sehr geringem 
Leistungsbedarf gearbeitet werden. Es gibt eine Musterapplikation von 
TI, bei der eine Photodiode als Stromquelle eingesetzt wird.

Ein realer Anwendungsbereich für MSP430 sind beispielsweise die 
elektronischen "Heizkostenverteiler". In diesen wird ein µC über einen 
Zeitraum von zehn Jahren mit einer Lithiumbatterie betrieben.

von Arc N. (arc)


Lesenswert?

> Was mich mehr interessiert ist der C8051F93x.
> Kann mir jemand sagen, wie die Stromaufnahme aussieht bei aktivierten
> DC-DC Converter?
> Er soll ja sehr effizient sein. Geben eine
> Effizient von 80-90% an. Wie viel Strom verbraucht denn so ein Wandler,
> wenn er die 0.9 V auf 1.8 heben muss.
> Ein Betrieb an einer Knopfzelle wäre natürlich optimal.

Datenblatt S. 43/44

226 uA / MHz (F < 10 MHz) genauer 90 uA + 226 uA / MHz
120 uA / MHz (F > 10 MHz)
Bei F > 10 MHz soll man folgendermaßen rechnen
4.1 mA - (25 MHz - F) * 120 uA/MHz
z.B. F = 16 MHz -> 4.1 mA - 1.08 mA = 3.02 mA

Für Eingangsspannungen < 1.8 V gilt für den Batteriestrom:
IBatt = (VCC * I) / (eta * VBatt)
VCC = Ausgangsspannung des DC-DC-Wandlers
I = Strom von oben
eta = Wirkungsgrad des DC-DC-Wandlers bei Last x (Datenblatt S. 47 - 49)
VBatt = Eingangsspannung

von Falk B. (falk)


Lesenswert?

@ Arc Net (arc)

>226 uA / MHz (F < 10 MHz) genauer 90 uA + 226 uA / MHz

Da ist der MSP430 deutlich besser, vor allem wenn es um Ultra Low Power 
in diesem Bereich <100uA geht.

MFG
Falk

von Arc N. (arc)


Lesenswert?

Falk Brunner wrote:
> @ Arc Net (arc)
>
>>226 uA / MHz (F < 10 MHz) genauer 90 uA + 226 uA / MHz
>
> Da ist der MSP430 deutlich besser, vor allem wenn es um Ultra Low Power
> in diesem Bereich <100uA geht.
>
> MFG
> Falk

Kommt auf die Anwendung an...
Beispiel: 999 ms Sleep + 1 ms @ 16 MHz
MSP430F2370: Sleep = LPM3 32 kHz Takt an
999 ms * 0.0007 mA + 1 ms * 6.5 mA = 7 uA
F9xx: Sleep = smaRTClock an 32 kHz
999 ms * 0.0006 mA + 1 ms * 3.01 mA = 3 uA
d.h. der F9xx könnte auch 2 ms mit 16 MHz laufen
Die Aufwachzeiten liegen, bei gleicher VCC, in ähnlichen Bereichen (1 - 
2 us)

Edit:
Wobei der MSP noch das Problem hat, dass er, wenn man sich ans 
Datenblatt hält, bei 1.8 V nicht mit 16 MHz läuft

von Günther S. (Gast)


Lesenswert?

Hi, Danke für die Antworten.

Zur Anwendung (meine Idee): Also der µC soll mit über einen Kondensator 
gespeist werden.
Darum möglichst wenig Energie verbrauchen. Er wird bei erreichen der 
nötigen Spannung(am Kondensator) in den aktiven Modus versetzt, macht 
seine Arbeit und geht danach wieder schlafen.Es wird dann im µC 
bestimmte Berechnungen ausgeführt(an die verfügbare Energiemenge 
angepasst).
Eine niedrige Spannung wäre also schön, so könnte der Kondensator auf 
eine hohe Spannung aufgeladen werden und versorgt den µC bis die 
Spannung nicht mehr reicht.
Das Aufladen des Kondensators sei hier mal nicht von Interesse.

Die Frage ist nun, welcher µC dem Kondensator am langsamsten seine 
Energie entzieht. Also nen gutes Verhältnis von Stromverbrauch und 
niedrigeer Spannung (längere Versorgung).
Dabei werden im µC nur Berechnungen durchgeführt und externe Peripherie 
sollte komplett abgeschaltet werden können (ausser evntl. ein paar 
Ports), so dass möglichst wenig Energie nötig ist.


Vielen Dank


mfG

Günther S.

von Günther S. (Gast)


Lesenswert?

Hinzugefügt:

Die Frage die ich mir jetzt stelle ist:


Ist der MSP430 mit 1.8 V evtl sparsamer, als der F9xx mit aktiviertem 
DC-DC Wandler. Denn man könnte dann den µC schon ab einer Spannung von 
0.9 V betreiben. Darum interessiert mich der Stromverbrauch des F9xx mit 
DC-DC-Wandler, ob sich das evtl wieder ausgleicht, wenn der Kondensator 
zwar schon ab 0.9 V benutzt werden kann, sich dann aber durch erhöhten 
Stromverbrauch (DC-DC Wandler) schneller entlädt.
Oder ob insgesamt der MSP430 besser ist, ich ihn zwar erst ab 1.8 V 
benutzen kann. Der Energieverbauch aber evtl niedrieger ist (weil ohne 
DC-DC Wandler).

Vielen Dank für die kompetenten Antworten


( @ Arc Net:

>226 uA / MHz (F < 10 MHz) genauer 90 uA + 226 uA / MHz

Was bedeutet denn dieses "oneshot active" oder "oneshot bypassed"
bei der "Frequency Sensitivity" Angabe?
Und warum wird auf S.44 nochmal ne Angabe mit 95µA/MHz gemacht?? Wozu 
zählen die jetzt?
Irgendwie ist das doch kompliziert gemacht, aber ich denke ich blicke 
durch die Struktur des DB nicht durch.

Vielen Dank
)


mfG

Günther S.

von Mani Manta (Gast)


Lesenswert?

Mein 3GHz Quad-Core Pentium läuft auch mit 0.9V, ist der somit auch ein 
Low-Power. (Boahjeh dafür sauft er 200 Ampere...)

von Falk B. (falk)


Lesenswert?

@Günther S. (Gast)

>Zur Anwendung (meine Idee): Also der µC soll mit über einen Kondensator
>gespeist werden.

Das ist immer noch nicht der Kern des Problems. Du denkst, dass man es 
so lösen muss, was aber oft nciht der Fall ist. Siehe

Versorgung aus einer Zelle und

http://www.mikrocontroller.net/articles/Speicher#EEPROM_Schreibzugriffe_minimieren

>nötigen Spannung(am Kondensator) in den aktiven Modus versetzt, macht
>seine Arbeit und geht danach wieder schlafen.Es wird dann im µC

Logisch, klassiche Anwendung des Sleep Mode.

>Das Aufladen des Kondensators sei hier mal nicht von Interesse.

Das glaube ich weniger. Erzähl mal, was WIRKLICH gemacht werden soll.

>Ports), so dass möglichst wenig Energie nötig ist.

Nimm ne Lithiumzelle ;-)

MFg
Falk

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Die Variante mit dem DC-DC-Wandler ist nahezu zwangsläufig weniger
effizient:

. der Wandler hat einen Wirkungsgrad < 1
. der Wandler muss selbst dann laufen, wenn der Prozessor schläft

Damit ist sowas eher für Situationen geeignet, bei denen man zwar
genügend Energie zur Verfügung hat, aber nur wenig Spannung, bspw.
Betrieb aus einem Fotoelement.

Deine Kondensator-Idee hat einen prinzipiellen Haken: was soll der
Controller tun, wenn die Kondensatorspannung zu klein für einen
sicheren Betrieb ist?  In dem Moment besteht das Risiko, dass der
Flash nicht mehr korrekt gelesen wird und damit unsinniger Code
ausgeführt wird.  Der normale Umgang damit ist, eine brown-out
detection zu aktivieren, allerdings kickt den den Controller bei
zu kleiner Spannung in den Reset.  Dieser wiederum braucht viel mehr
Strom als der Sleep, sodass deine letzte Energie des Kondensators
sofort alle ist.

Ein Picopower-AVR mit "sleeping BOD" könnte Abhilfe sein: bei ihm wird
die brown-out detection (BOD) während des Sleep deaktiviert und erst
beim Aufwachen wieder aktiviert.  Du müsstest damit nur noch sicher
stellen, dass beim Erreichen der minimalen Betriebsspannung ein
fester Tiefschlaf eingenommen wird, der erst wieder verlassen wird,
wenn der Kondensator wieder genügend Energie hat.

Wie Falk schon schrieb: erkläre mal die komplette Applikation, statt
hier nur Häppchen deiner eigenen Gedanken zu präsentieren.

von Claus (Gast)


Lesenswert?

Bleibt noch zu erwähnen dass der C8051F9xx eine klassische Akkumulator 
Architektur besitzt, während die AVR's und der MSP430 Registermaschinen 
sind. Dies bringt beiden letzteren Performancevorteile gegenüber dem 
8051. Somit lässt sich die Zeit im Active-Mode und somit der mittlere 
Stromverbrauch deutlich reduzieren...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dazu bliebe noch zu erwähnen, daß der CPU-Kern des MSP430 mit 16 Bit 
arbeitet, was bei Integer-Arithmetik gewisse Vorteile mit sich bringt. 
Zudem ist er als Von-Neumann-Maschine auch unkomplizierter in C zu 
programmieren als die Harvard-Architektur des AVR (kein "pgmspace.h" 
etc. erforderlich).

Allerdings gibt es nach wie vor keinen einzigen MSP430 mit externem 
Speicherinterface, was bei RAM-intensiven Anwendungen das K.O. 
darstellen dürfte.
Außerdem kosten MSP430 relativ viel; Angelika will für einen '1611 knapp 
18 EUR haben.

von Günther S. (Gast)


Lesenswert?

Hi,


also Anwendung soll ein durch ein RF Feld gespeister µC sein.
Es wird wohl eine SPannungsvervielfacherschaltung und der Kondensator + 
ein Spannungsregler noch drauf Platz finden.
Die meiste Zeit wird er im Sleep Modus laufen.

Die Anwendung wurde mit dem MSP430 schon realisiert.

Wollte jetzt wissen, ob ich durch den C8051F9xx noch mehr Energie sparen 
kann.

Darum die Frage zum DC-DC-Wandler, wie viel Strom er denn jetzt 
benötigt.
Ob sich der Energieverbrauch insgesamt dadruch erhöht obwohl 0.9 V.

Preis ist nebensächlich.

mfG

Günther S.

von Mathi (Gast)


Lesenswert?

Versuch doch mal den Power Calculator von Silicon Labs. Klar wird der 
sicherlich die Werte etwas "schönen" ;)

von Mika (Gast)


Lesenswert?

Wobei das fehlende Speicherinterface beim MSP430 eine Philosophie-Frage 
ist...in dem Moment, wo ich einen externen RAM dranhänge, ist es halt 
kein Ultra-Low-Power mehr!

Viele Grüße,
Mika

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Mika wrote:

> Wobei das fehlende Speicherinterface beim MSP430 eine Philosophie-Frage
> ist...in dem Moment, wo ich einen externen RAM dranhänge, ist es halt
> kein Ultra-Low-Power mehr!

Warum nicht?  Was ist der Unterschied zum internen SRAM?  Beide sind
voll statisch und brauchen ohne Takt daher nur Leckstrom.

von Mika (Gast)


Lesenswert?

Soweit die ideale Sicht der Dinge. In Wirklichkeit, und gerade mit 
kleiner werdenden Technologien, vebraucht auch SRAM im Vergleich sehr 
viel Strom.

Betrachten wir einfach mal den CY7C1012DV33 von Cypress (weil das 
Datenblatt hier gerade liegt), der verbraucht im Standby 25mA, das ist 
250000 so viel wie der MSP im Standby verbraucht. Es lohnt sich in dem 
Moment einfach nicht mehr, einen Ultra-Low-Power Mikrokontroller zu 
verwenden, der dementsprechend tendenziell auch teurer ist.

Mika

PS: Es gibt bestimmt auch energiesparendere SRAMs, aber das 
grundsätzliche Problem sollte klar geworden sein.

von Andreas K. (a-k)


Lesenswert?

Das Cypress-Teil ist allerdings eine eher krasse Variante für sehr hohe 
Geschwindigkeit (8ns), vergleichbar zu den Cache-SRAMs wie sie aus alten 
486er und P5-Kisten bekannt sind. Die sind kompromisslos auf Tempo 
getrimmt.

Typischer für Microcontroller ist wohl die verbreitete 512Kx8 55-70ns 
Klasse, am Beispiel vom Hynix HY628400A(LL): 30µA (max) im Standby, 10mA 
aktiv. Und wenn da 30µA max steht, dann wird das unter Normalbedingungen 
viel weniger sein.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.