Forum: Mikrocontroller und Digitale Elektronik AVR-Verlustleistung maximieren


von Matthias Erhardt (Gast)


Lesenswert?

Hallo miteinander!

Eine vielleicht etwas unübliche Frage: Für eine Messung möchte ich gerne 
meinen Atmega256RFR2 unter "Volllast" betreiben. Wie krieg ich also 
meinen MC dazu, möglichst viel Strom zu verbrauchen? Er ist schon fest 
auf eine Platine gelötet, an die Ausgäng kann ich also nicht so viel 
dranhängen. Ich hätte jetzt als erstes mal den Takt aufgedreht, meine 
ADCs angeschmissen und meine Busse (JTAG, USART, SPI) vollgeschrieben. 
Die Versorgungsspannung soll auf 3.3 V bleiben, außerdem habe ich keinen 
Quarz auf meiner Platine um das Funkmodul zu benutzen.

Ich könnte mir vorstellen, dass das ein Fass ohne Boden ist, man also 
immer noch etwas finden kann, was noch etwas Strom verbraucht, deshalb 
frage ich hier.

Außerdem fehlt mir noch ein bisschen das grundlegende Verständnis für 
die Architektur: habe ich zum Beispiel für meine Busse überhaupt eine 
extra "Recheneinheit"? Also benötigt der MC überhaupt mehr Leistung, 
wenn ich den Bus vollschreibe gegenüber einer einfachen Dauerschleife? 
Für die synchronen Busse dürfte ja alleine die Clock Strom 
verbrauchen...Und wenn ich etwas rechne: Spielt es da eine Rolle, was 
ich rechne? Also verbraucht eine while(1) genauso viel Strom wie wenn 
ich ständig auf Register oder den SRAM zugreife? Ist eventuell ein 
Zugriff auf dne Flash oder EEPROM energetisch noch aufwändiger?

Falls jemand Vorschläge oder Antworten auf eine oder mehrere dieser 
Fragen hat, ist er herzlich willkommen mitzudiskutieren.

Viele Grüße,
Matthias
Viele Grüße,
Matthias

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

Zunaechst einmal die Frage, warum Du das machen willst?

von Ulrich F. (Gast)


Lesenswert?

Meistens steht in den Datenblättern, was die einzelnen Einheiten so ca 
an Bedarf haben.
Die Wahrheit kannst du dann ja ausmessen, aber für Richtwerte ist das 
Datenblatt dienlich.

von Matthias Erhardt (Gast)


Lesenswert?

Uwe B. schrieb:
> Zunaechst einmal die Frage, warum Du das machen willst?

Achso, entschuldige, hätte ich gleich dazusagen können: Ich möchte die 
Wärmeentwicklung im Package, abhängig von Umgebungstemperatur und 
"Auslastung" des Controllers messen.


Ulrich F. schrieb:
> Meistens steht in den Datenblättern, was die einzelnen Einheiten so ca
> an Bedarf haben.
> Die Wahrheit kannst du dann ja ausmessen, aber für Richtwerte ist das
> Datenblatt dienlich.


Vielen Dank, ich werde da mal weiter reinsehen. Verlustleistung messen 
ist momentan - abgesehen von der Temperatur - gerade noch relativ 
schwierig, auf meiner Platine habe ich keine Shunts o.ä. mit denen ich 
die Leistung des MC ausmessen könnte. An meiner Versorgung hängen leider 
noch ein paar mehr ICs.

von Ingo L. (corrtexx)


Lesenswert?

Nimm einen ohmschen Widerstand und befeuere ihn mit der maximal 
zulässigen Leistung des AVRs und gucke was passiert...

von Matthias Erhardt (Gast)


Lesenswert?

Ingo L. schrieb:
> Nimm einen ohmschen Widerstand und befeuere ihn mit der maximal
> zulässigen Leistung des AVRs und gucke was passiert...

Ich verstehe leider nicht wie mir das helfen soll: Ich kann relativ 
schlecht die Temperatur im Widerstand messen. Abgesehen davon, dass 
diese nicht unbedingt was mit der Temperatur auf dem Chip in genau 
diesem Package auf genau dieser Platine zu tun haben muss.

von Joachim B. (jar)


Lesenswert?

alle Ports mit dem maximalen Strom (Datenblatt) belasten nach VCC und 
GND abzüglich der Recheneinheit.

Ich hatte in meinen nie mehr als 40-60mA im Mittel ohne nenneswerte 
Portbelastung bei 16 MHz gemessen.

Aber die Die Temperatur verrät die ein Atmel eh nicht.

von Matthias Erhardt (Gast)



Lesenswert?

Joachim B. schrieb:
> Aber die Die Temperatur verrät die ein Atmel eh nicht.

Doch. Auf Seite 460 des angehängten Datenblattes stehts auch, wie es 
geht ;).

Wie gesagt, es geht jetzt hier weniger darum, dass ich wissen möchte, 
wie viel das Teil verbraucht, sondern darum, dass ich diesen Zustand 
erreichen möchte, in dem er viel verbraucht. Aber wenn ihr sagt, dass 
alles außer die o.g. Maßnahmen Kleinvieh ist, hat mir das ein wenig 
Arbeit erspart. Antworten auf die Fragen zum Verlustleistungsverhalten 
je nachdem was man mit dem Microcontroller rechnet würden mich natürlich 
trotzdem interessieren.

von Ulrich F. (Gast)


Lesenswert?

Matthias Erhardt schrieb:
> je nachdem was man mit dem Microcontroller rechnet

Nein...
Das hat keine nennenswerten Auswirkungen.
Wenn nicht gerade im Sleep, dann trampelt der immer Vollgas vor sich 
hin.

von Matthias Erhardt (Gast)


Lesenswert?

Ulrich F. schrieb:
> Wenn nicht gerade im Sleep, dann trampelt der immer Vollgas vor sich
> hin.

Vielen herzlichen Dank!

von Amateur (Gast)


Lesenswert?

Die höchste Last (Thermisch) ergibt sich wenn alle Ausgänge maximal 
belastet werden dabei aber Pmax im Auge behalten, da dieser bei der 
Betrachtung eines einzelnen Ausganges verschüt' geht. Und dann 
ordentlich grübeln lassen (irgendeine Berechnung durchführen).

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.