Forum: Mikrocontroller und Digitale Elektronik Xmega - Höherer Stromverbrauch als im Datenblatt angegeben


von Senna Hoi (Gast)


Lesenswert?

Ich habe ein kleines Problem bezüglich dem  xmega128A1.
Laut Datenblatt zieht der µC im "Active Mode" bei 32MHz Takt und einer 
Versorgungsspannung von 3,3V einen Strom von 21-22mA [im Datenblatt des 
XMEGA A1: S.76 (34. Typical Characteristics --> 34.1 Active Supply 
Current)].

Nun verwende ich das Entwicklungsboard XMEGA-A1 Xplained mit den 
xmega128A1. Bei diesem kann man über einen Jumper den µC und die 
Peripherie separat versorgen. Somit bin ich in der Lage den benötigen 
Strom für den xmega einzeln zu messen.

Mit meinem aktuellen Programm zieht der xmega jedoch einen Strom von 
50mA!? Ich habe jetzt noch ein paar PowerReduction Register aktiviert. 
Damit reduziere ich den Strom aber auch nur unwesentlich (45mA).
[Ich verwende den internen 32MHz Takt, habe einen aktiven Interrupt, 4 
Timer (2MHz, 320kHz, 80kHz, 5kHz), 2 ADC Kanäle, einen DAC (dual 
Channel) und 4 DMA Kanäle]

Woran kann das liegen, dass ich einen mehr als doppelt so hohen 
Stromverbrauch messe, als im Datenblatt angegeben?

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

ÄH?
Schonmal daran gedacht, dass an den Ports was hängen kann was auch Strom 
zieht?

von Senna Hoi (Gast)


Lesenswert?

Ach nee, so schlau war ich auch schon...

Ich wüsste nicht, dass an den Ports Strom abgegriffen wird. Die LEDs auf 
diesem Board sind Low-aktiv und die I/O-Pins die ich verwende greife ich 
alle hochohmig ab und die restliche Peripherie wird separat gespeist...

von Peter D. (peda)


Lesenswert?

Mal für alle offenen IOs den Pullup einschalten, damit die nicht 
floaten.


Peter

von Alexander V. (avogra)


Lesenswert?

Wenn ich mich richtig erinnere, ist das nur der Verbrauch des Cores 
selbst. Peripherie wie adc, dac etc. kommen noch dazu (extra Tabelle). 
Ob das +30mA ergeben kann, hab ich jetzt auch nicht im Kopf.

Gruß, Alex

von Senna Hoi (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Mal für alle offenen IOs den Pullup einschalten, damit die nicht
> floaten.
>
>
> Peter

Die Pull-Ups zu aktivieren hat leider nichts genutzt...

Alexander v. Grafenstein schrieb:
> Wenn ich mich richtig erinnere, ist das nur der Verbrauch des Cores
> selbst. Peripherie wie adc, dac etc. kommen noch dazu (extra Tabelle).
> Ob das +30mA ergeben kann, hab ich jetzt auch nicht im Kopf.
>
> Gruß, Alex

Im Datenblatt steht an Stromverbrauch für den ADC nur bei 250 kS/s und 
Vref=Int. 1V Ref --> 3.6mA. Ähnliches auch für den DAC...
Wie viel das bei aber bei 80kHz und Vref=2,5V ist, steht nicht da...

von Senna Hoi (Gast)


Lesenswert?

Alexander v. Grafenstein schrieb:
> Wenn ich mich richtig erinnere, ist das nur der Verbrauch des Cores
> selbst. Peripherie wie adc, dac etc. kommen noch dazu (extra Tabelle).
> Ob das +30mA ergeben kann, hab ich jetzt auch nicht im Kopf.
>
> Gruß, Alex

Ich habe jetzt mal sämtliche µC Peripherien (ADC, DMA...) ausgeschaltet 
und wirklich NUR den Clock von 32MHz konfiguriert... und ich habe eine 
Stromaufnahme von 32mA... sind zwar ca. 10mA weniger, aber immer noch 
10mA mehr als laut Datenblatt (21mA)..

von Alexander V. (avogra)


Lesenswert?

Senna Hoi schrieb:
> Alexander v. Grafenstein schrieb:
>> Wenn ich mich richtig erinnere, ist das nur der Verbrauch des Cores
>> selbst. Peripherie wie adc, dac etc. kommen noch dazu (extra Tabelle).
>> Ob das +30mA ergeben kann, hab ich jetzt auch nicht im Kopf.
>>
>> Gruß, Alex
>
> Ich habe jetzt mal sämtliche µC Peripherien (ADC, DMA...) ausgeschaltet
> und wirklich NUR den Clock von 32MHz konfiguriert... und ich habe eine
> Stromaufnahme von 32mA... sind zwar ca. 10mA weniger, aber immer noch
> 10mA mehr als laut Datenblatt (21mA)..

Jetzt hab ich auch nochmal ins Datenblatt geschaut :) Das ist an der 
Stelle deutlich ungenauer als viele Atmega-DBs. Unterschied könnte noch 
die Betriebsspannung sein. Wenn die DB-Angabe bei 2,7V ist, das XPlained 
aber mit 3,3V läuft...

Sind noch irgendwelche Pins als Ausgang oder mit Pullup/Pulldown 
geschaltet? Da könnte auch nochmal das eine oder andere mA 
zusammenkommen.

von Alexander V. (avogra)


Lesenswert?

Oh, nicht richtig geschaut. ist ja doch für 3,0V angegeben. Die 
Diagramme der Atmegas gefallen mir trotzdem besser :)

Der interne Oszillator scheint das Kraut auch nicht fett zu machen. 
Hmm...

von Senna Hoi (Gast)


Lesenswert?

Alexander v. Grafenstein schrieb:
> Jetzt hab ich auch nochmal ins Datenblatt geschaut :) Das ist an der
> Stelle deutlich ungenauer als viele Atmega-DBs. Unterschied könnte noch
> die Betriebsspannung sein. Wenn die DB-Angabe bei 2,7V ist, das XPlained
> aber mit 3,3V läuft...

Im DB gibts im Kapitel "34. Typical Characteristics -->34.1 Active 
Supply Current" ein eine Grafik "Active Supply Current vs. Frequency" 
für 3,3V und 32MHz...

> Sind noch irgendwelche Pins als Ausgang oder mit Pullup/Pulldown
> geschaltet? Da könnte auch nochmal das eine oder andere mA
> zusammenkommen.

Ich habe auch mal ALLE Ports/Pins als Eingang definiert... Stromaufnahme 
weiterhin bei 32mA...

von Paulchen Panther (Gast)


Lesenswert?

Hi!

Welche Taktquelle verwendest du?
Die Angabe gilt meist nur mit einem Rechtecksignal als Takt. Wenn du nen 
Quarz dranhängen hast, ist das Taktsignal sinusförmig. Wegen dem bösen 
Bereich um Vcc/2 bei CMOS fließt mehr Strom.

Gruß
PP

von Senna Hoi (Gast)


Lesenswert?

Paulchen Panther schrieb:
> Hi!
>
> Welche Taktquelle verwendest du?
> Die Angabe gilt meist nur mit einem Rechtecksignal als Takt. Wenn du nen
> Quarz dranhängen hast, ist das Taktsignal sinusförmig. Wegen dem bösen
> Bereich um Vcc/2 bei CMOS fließt mehr Strom.
>
> Gruß
> PP

Ich verwende den internen "32 MHz run-time calibrated RC oscillator". 
Habe es auch schon mit 2MHz und 16xPLL versucht, mit dem gleichen 
Ergebnis...

von Paulchen Panther (Gast)


Lesenswert?

Ansonsten:
- Errata Nr. 28?
- TOSC1, TOSC2, XTAL1, XTAL2 auf festem Level?
- Seite 68, Note: 1. All Power Reduction Registers set. Typical numbers 
measured at T = 25°C if nothing else is specified.
Ich weiß nicht, ob das ein Unterschied zu "ausschalten" ist.

von Senna Hoi (Gast)


Lesenswert?

Paulchen Panther schrieb:
> Ansonsten:
> - Errata Nr. 28?
Das aus der Errata trifft nicht zu...
> - TOSC1, TOSC2, XTAL1, XTAL2 auf festem Level?
was meinst du damit?
> - Seite 68, Note: 1. All Power Reduction Registers set. Typical numbers
> measured at T = 25°C if nothing else is specified.
> Ich weiß nicht, ob das ein Unterschied zu "ausschalten" ist.
habe alle "Power Reduction Registers" aktiviert, messe dennoch 30mA...

von Bassti (Gast)


Lesenswert?

Hallo, wollte nur beitragen das ich mich ebenso bei den XMegas über den 
Strom gewundert habe... ist schon etwas verstreut die Information... 
kommen an jeder Ecke noch nen paar mA dazu =)
Find die Teile trotzdem klasse... die mit USB Full Speed sind noch 
besser und den 32kb ab 10 Stück bei Mouser für 2  Euro... dafür bekommt 
der Bastler kein FTDI... aber ich schweife ab :D

MfG

Basti

von Paulchen Panther (Gast)


Lesenswert?

Senna Hoi schrieb:
>> - TOSC1, TOSC2, XTAL1, XTAL2 auf festem Level?
> was meinst du damit?

Ich habe das Datenblatt nicht komplett gelesen. Bei manchen µCs 
muss/kann man die Oszillatoreingänge auf ein festes Potential ziehen, 
damit die nicht im bösen Vcc/2-Bereich rumflattern. Je nach Controller 
geht das per Firmware indem man die Oszillatoreingänge als Ausgang 
schaltet. Bei anderen kann man den Oszillatorschaltkreis komplett 
ausschalten. Ansonsten den Eingang mit GND oder Vcc verbinden. Der 
Ausgang des Oszillatorschaltkreises wird dann mit nichts verbunden, er 
wird durch den Oszillatorschaltkreis auf ein festes Potenzial 
eingestellt.
Ehrlich gesagt bin ich mir nicht sicher, ob das die Lösung ist. Bei TI 
gibt es ne Application Note, in der das Verhalten von offenen CMOS 
Eingängen untersucht wird. Bei einem einfachen Gatter kann der Strom von 
Vcc nach GND bis zu 4 mA(!) betragen. Zwei Oszillatoreingänge => 8 mA, 
kommt als von der Größenordnung hin.
Vllt. hilft auch eine Anfrage bei Atmel.

Gruß
PP

von Paulchen Panther (Gast)


Lesenswert?

P.S.:
Falls du es rausfindest, würde ich mich über eine Nachricht hier im 
Forum freuen. Das interessiert mich.

von Senna Hoi (Gast)


Lesenswert?

Also, Atmel hat sich bei mir gemeldet, aber wirklich zufrieden bin ich 
an der Stelle nicht...

Verweisen mich halt auf diverse Application Notes:
"WARNING: Do not power the board without having the jumper attached next 
to the USB connector or an ammeter mounted. Otherwise, the device may be
damaged by power sourcing through I/O pins."

und

"In general, it’s quite difficult to measure only the target device 
current consumption when there are a lot of peripheral devices connected 
to it."

und

"The characterization of the device (like current consumption) of the 
device is performed (in production lab) with all I/O pins configured as 
inputs and with internal pull-ups enabled and also with all bits in the 
PRR register set."

habe mir noch ein kleines BSP-Programm mitgeschickt... alles in allem 
komme ich nun auf 27mA... ist zwar immernoch keine 23mA, aber kommt 
schon recht nahe...

Dabei werde ich es wohl auch belassen...

von Paulchen Panther (Gast)


Lesenswert?

Hi!

Es lässt mich nicht los :-)

Ich habe den Schaltplan nicht gefunden. Mir ist aber noch folgendes 
eingefallen:
Der Strom zum µC ist nicht konstant, sondern er wird einige Oberwellen 
haben. Evtl. zeigt das Messgerät daher einen verfälschtes Wert an.
Abhilfe:
- Analoges Zeigerinstrument verwenden.
- Zwischen Amperemeter und Vcc des µC Filter anbringen. Vielleicht ein 
PI Filter oder zumindest ein RC-Glied. Die Kondensatoren des Filters 
müssen mit hohen Frequenzen zurechtkommen, also mehrere 
Keramikkondensatoren parallel schalten. Vielleicht muss auch noch ein 
Filter zwischen die Stromversorgung und das Amperemeter. Das gilt vor 
allem bei einem Schaltwandler.

Falls es dir zuviel Aufwand ist, verstehe ich das. Aber wie gesagt, es 
lässt mich nicht los :-)

Gruß
PP

von Senna Hoi (Gast)


Lesenswert?

Ich kann mal drüber nachdenken (Habe auch ein Oszi mit 
Strommesszange)...

Muss jetzt aber los/weg und kann das frühstens erst wieder nächste 
ausprobieren.

Aber trotzdem danke ;-)

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.