Forum: Mikrocontroller und Digitale Elektronik ATtiny 13A, Problem mit Digital Input Disable Register


von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Nabend,

hab aktuell ein komisches Problem mit dem Digital Input Disable Register 
der ATtiny13A:

Um noch etwas Strom zu sparen wollte ich für alle ungenutzten Pins die 
Input Buffer abschalten. In meinem Projekt nutze ich PB0 und PB1 für 
eine PWM, sind also Ausgänge, PB2 ist unbenutzt und floating, PB3 und 
PB4 sind Eingänge mit aktivierten Pullups, PB5 ist als Reset mit 10k auf 
Vcc gelegt.
Wenn ich jetzt die Inputbuffer für PB0 (AIN0D), PB1 (AIN1D), PB2 (ADC1D) 
und PB5 (ADC0D) deaktiviere, ist es als ob die Pullups für PB3 und PB4 
nicht mehr aktiv sind und es reicht ein Tippen mit dem Finger an einem 
der beiden Pins um den Zustand der Pins zu verändern. Schalte ich die 
Inputbuffer wieder ein (kommentiere die DIDR0 Zeile aus) ist alles 
absolut stabil.

Jemand ne Idee woran es liegt?
1
 DDRB = (1 << DDB1) | (1 << DDB0);
2
 PORTB = (1 << PB4) | (1 << PB3);
3
 DIDR0 = (1 << ADC0D) | (1 << ADC1D) | (1 << AIN1D) | (1 << AIN0D);

von Karl M. (Gast)


Lesenswert?

Ja ist so im Datenblatt beschrieben!
Tipp: DIDRx und ADCx gehören zusammen!

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Karl M. schrieb:
> Ja ist so im Datenblatt beschrieben!
> Tipp: DIDRx und ADCx gehören zusammen!

Allerdings schalte ich die Inputbuffer von PB3 (ADC3D) und PB4 (ADC2D) 
ja garnicht ab...

von Stefan F. (Gast)


Lesenswert?

Ich glaube nicht, dass du damit großartig Strom sparen kannst.

Die Input Buffer fressen nur Strom, wenn der Eingangspegel nicht 
eindeutig High oder Low ist. Solange du für eindeutige Pegel sorgst, 
hast du schon den geringsten Stromverbrauch.

Ich habe einen ATtiny13A seit 8 Jahren in der Schublade liegen, der 
immer noch mit seiner ersten CR2032 versorgt wird.

Zu Strom sparen mache ich das:

- ADC aus schalten
- Watchdog deaktivieren
- Verzicht auf Brown-Out Detektor
- Alle Pins auf saubere Pegel bringen

von Kasbohr (Gast)


Lesenswert?

@ Tim T.

Warum ignorierst du das Datenblatt des ATTiny13a?

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Kasbohr schrieb:
> @ Tim T.
>
> Warum ignorierst du das Datenblatt des ATTiny13a?

Was davon genau, hab da nichts passendes gefunden und ich kenn das 
eigentlich ziemlich gut.

Oder bezieht sich das darauf das man Pins nicht floaten lassen soll? 
Dafür gibts genug Möglichkeiten es zu verhindern aber ich sehe keinen 
Grund es nicht über deaktivierte Inputbuffer zu machen.

: Bearbeitet durch User
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.