ATmega32u4 zieht zuviel im PowerDown

OP #5358395
Lesenswert?

Hallo Jungs,

hab ich einfach Pech oder ist doch noch was zu machen?
Bin gerade dabei, einem ATmega32u4 (auf einem Pro Micro Breakout, 
3,3V-Version, 
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/Arduino/Boards/Pro_Micro_v13.pdf) 
das Stromschlucken auszutreiben.
Im PowerDown geht's runter auf ca. 15 uA, das ist zwar nicht schlecht, 
aber immer noch locker eine Größenordnung über dem typischen Verbrauch 
laut Datenblatt.
Ich habe alle LEDs runtergenommen, der Spannungsregler ist auch 
rausgeschnitten.
Alle Portpins sind unbeschaltet, es wird nur die Versorgungsspannung 
angelegt.
1
  .include "m32u4def.inc"
2

3
  .org 0
4

5
  ldi r16,0      ;alle Ports auf Input
6
  out DDRB,r16   ;könnte man sich nach Reset natürlich sparen...
7
  out DDRC,r16
8
  out DDRD,r16
9
  out DDRE,r16
10
  out DDRF,r16
11

12
  ldi r16,-1     ;PullUp an allen Ports aktivieren
13
  out PORTB,r16
14
  out PORTC,r16
15
  out PORTD,r16
16
  out PORTE,r16
17
  out PORTF,r16
18
  cbi PORTE,2    ;/HWB, liegt auf Masse
19

20
;alle Funktionseinheiten abschalten
21
  ldi r16,1<<PRTWI|1<<PRTIM0|1<<PRTIM1|1<<PRSPI|1<<PRADC
22
  sts (PRR0),r16
23
  ldi r16,1<<PRUSB|1<<PRTIM3|1<<PRUSART1
24
  sts (PRR1),r16
25

26
  ldi r16,1<<SM1|1<<SE  ;PowerDown-Modus
27
  out SMCR,r16
28

29
stop:
30
  sleep          ;ruhe sanft...
31
  rjmp stop

Das Ding wird über ISP programmiert (Programmer beim Strommessen 
abgezogen...), Taktquelle ist 8 MHz-Quarz, alle Fuses außer SPIEN sind 
nicht gesetzt.

Hab ich noch irgendwas auszuschalten vergessen?

PS: Wenn ich den Watchdog aktiviere, steigt der Stromfluß auf ca. 20 uA, 
die 4...5 uA mehr sind nach Datenblatt ziemlich plausibel.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren