Forum: Mikrocontroller und Digitale Elektronik [gelöst] Logik-Level LOW am ATTiny2313 zu hoch für 74er IC?


von Dominique S. (mronak)


Lesenswert?

Ich bin verwirrt... einige der Pins am ATTiny2313 gehen nicht auf einen 
Spannungspegel herunter der tief genug ist um von anderen ICs als LOW 
erkannt zu werden.

Ich nutze die vier Pins PB0, PB1, PB2, PB3 am ATtiny2313 als Ausgänge um 
Ziffern 0-9 binär an einen 7447er Chip zu schicken. PB0 ist dabei das 
LSB, PB4 das MSB.

PB0 hat tatsächlich 0.0V bei Logiklevel LOW und knappe 5V bei Logiklevel 
HIGH. Die anderen drei gehen bei LOW lediglich auf ca 1.2V runter und 
das scheint dem 7447er zu viel zu sein, er pendelt ständig zwischen 
binär 1110 und 1111, je nach dem ob PB0 LOW oder HIGH ist.

PB1-3 schalten korrekt zwischen Logiklevel LOW und HIGH, lediglich der 
Spannungspegel geht nicht tief genug herunter um vom 7447er als LOW 
erkannt zu werden.

Soll heißen die Voltpegel an den Ausgängen vom 2313 und an den Eingängen 
vom 7447 "stimmen" in dem Sinne dass die Verdrahtung korrekt ist. 
LOW=1.2V und HIGH 4.8V.

Sowohl den ATTiny2313 als auch den 7447er habe ich schon getauscht, die 
sind beide intakt (nuja, oder ich habe von beiden jeweils zwei Defekte, 
aber wohl eher nicht, da neu).

Hat jemand eine Idee warum der ATTiny auf PB1-3 nicht auf 0 Volt runter 
geht?

Die Fuses am ATTiny sind übrigens lfuse 0xFF und hfuse 0xDF, efuse 0xFF. 
Der 2313 hängt an einem 16MHz Quarz.

Danke im Voraus!

: Bearbeitet durch User
von Gerd E. (robberknight)


Lesenswert?

Dominique S. schrieb:
> Die anderen drei gehen bei LOW lediglich auf ca 1.2V runter

wenn Du mal ins Datenblatt vom ATtiny2313 schaust, kommen bei Betrieb 
mit 5V maximal 0,7V raus.

Deine 1,2V bedeuten also
a) Dein ATtiny2313 ist kaputt
b) Der Rest Deiner Schaltung ist irgendwie fehlerhaft, z.B. fliesst ein 
Strom größer 20mA in den Tiny rein

Ich tippe mal auf b): Montier mal Deine ganze 74er-Logik und was da 
sonst noch so an den Ausgängen hängt ab. Miss dann den Pegel erneut. Wie 
sieht es dann aus?

Es gäbe noch Variante c): Ein Messfehler. Z.B. könnte da ein Signal so 
schnell schwingen, daß Du es mit dem Multimeter nicht messen kannst. Mal 
mit dem Oszi draufgeschaut?

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Gerd E. schrieb:
> Deine 1,2V bedeuten also
> a) Dein ATtiny2313 ist kaputt
> b) Der Rest Deiner Schaltung ist irgendwie fehlerhaft, z.B. fliesst ein
> Strom größer 20mA in den Tiny rein

c) Die Pins am ATtiny sind nicht als Ausgang konfiguriert

Da es recht unwahrscheinlich ist, daß zwei fabrikneue Attiny2313 den 
gleichen Teildefekt aufweisen, würde ich auf jeden Fall einen 
systematischen Fehler annehmen.


XL

von Dominique S. (mronak)


Lesenswert?

Gerd E. schrieb:
> Dominique S. schrieb:
>> Die anderen drei gehen bei LOW lediglich auf ca 1.2V runter
>
> wenn Du mal ins Datenblatt vom ATtiny2313 schaust, kommen bei Betrieb
> mit 5V maximal 0,7V raus.

Ja, hatte ich gesehen, sonst hätte ich das Thema als "works as 
specified" abgetan.

> Deine 1,2V bedeuten also
> a) Dein ATtiny2313 ist kaputt
> b) Der Rest Deiner Schaltung ist irgendwie fehlerhaft, z.B. fliesst ein
> Strom größer 20mA in den Tiny rein
>
> Ich tippe mal auf b): Montier mal Deine ganze 74er-Logik und was da
> sonst noch so an den Ausgängen hängt ab. Miss dann den Pegel erneut. Wie
> sieht es dann aus?

Wenn ich den 7447er aus der Schaltung nehme liegt bei allen LOW 
Ausgängen tatsächlich 0V an. An den IC-Sockel Pins vom 7447er übrigens 
auch.

> Es gäbe noch Variante c): Ein Messfehler. Z.B. könnte da ein Signal so
> schnell schwingen, daß Du es mit dem Multimeter nicht messen kannst.

Grundsätzlich ja aber nicht im Moment, an PORTB liegt konstant 0x02 an. 
Da schwingt momentan nichts.

von Dominique S. (mronak)


Lesenswert?

> c) Die Pins am ATtiny sind nicht als Ausgang konfiguriert

Ach sch...
1
 DDRB |= (1 << PB0) || (1 << PB1) | (1 << PB2) | (1 << PB3);

Eine Pipe zu viel.

Kopf->Tisch.

Tausend Dank der Herr!

von Thomas (kosmos)


Lesenswert?

Das Dilemma liegt an den aktivierten Pullups der Eingänge. Es gibt ein 
Pullup disablebit das man setzten kann um alle Pullups zu deaktivieren, 
ich arbeite lieber mit externen Pullups o. Pulldowns. Aber auf Ausgang 
musst du trotzdem umschalten.

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.