Forum: Mikrocontroller und Digitale Elektronik 74HCT573 schaltet ohne "LE"


von Daniel S. (ds1982)


Lesenswert?

Hallo,


ich arbeite gerade an einer Schaltung, bei der ich unter anderem mit 
einem ATMega128 zwei 74HCT573 ansteuere, die wiederum am Ende LED's 
schalten sollen.
geschaltet hab ich es so ähnlich wie hier:

http://www.leyanda.de/light/images/led_cube_control.jpg

(statt 8 Stück eben nur 2xHCT573. An den Ausgängen die Anoden der LED's, 
Kathoden der LED's an GND)

OE_ liegt auch fest auf GND. Outputs sind also immer an.

Nach einem kurzem Test musste ich folgendes feststellen:

Schalte ich nur einzelne Eingänge der Latches funkioniert alles wie 
erwartet und im Datenblatt beschrieben. Bei LE=HIGH (oder Load=HIGH) 
schaltet das Latch den entsprechenden Ausgang. bei LE=LOW wird kein 
Eingang mehr auf den Ausgang durchgeschaltet, solange bis das nächste 
mal LE=HIGH wird und dann wieder der aktuell auf HIGh liegende Eingang 
auf den entsprechenden Ausgang geschaltet wird.

Nun das Problem: Schalte ich 4 oder mehr Eingänge gleichzeitig auf HIGH 
dann schaltet das Latch auch die Ausgänge OBWOHL LE=LOW ist.
Auch wenn ich die Ausgänge nun wieder gleichzeitig auf LOW schalte 
übernimmt das Latch dies am Ausgang. LE hat also keine Funktion mehr.

Habe nun schon in einem alten Thread hier im Forum gelesen, dass der 
74HCT573 sehr empfindliche Eingänge hat und man diese mittels Widerstand 
auf GND ziehen soll. Ein kurzer Test eben zeigte mir, dass selbst wenn 
ich LE mit GND kurzschliesse (hatte gerade keinen Widerstand zur Hand) 
das oben beschriebene Problem auftritt. Beide 74HCT573 verhalten sich 
dabei gleich.

Einen Kurzschluss zwischen einem der Eingänge und LE kann ich 
ausschliessen.
Leider habe ich kein Oszilloskop zur Hand um den LE Eingang während des 
Schaltvorgangs mal zu beobachten.

Weiss jemand Rat?

von Anja (Gast)


Lesenswert?

Wahrscheinlich ein induktiver Spannungsabfall an der (zu langen) 
Masseleitung zwischen Latch und Prozessor der wie ein Signal wirkt.

Abhilfe:
74HC573 anstelle HCT verwenden. (hat höhere Schaltschwelle).
RC-Tiefpaß (max 400ns Zeitkonstante bei C-Mos) direkt am 74HCT 
plazieren.
Masseleitung durch Massefläche ersetzen.
Masseleitung kürzen.

Gruß Anja

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Daniel S. schrieb:
> Weiss jemand Rat?
Zeig mal ein Foto von deinem Aufbau...
Insbesondere die Entkopplungskondensatoren und die Masseführung ist 
interessant.

> geschaltet hab ich es so ähnlich wie hier:
Dieser Schaltplan ist mir schon wegen der vielen unnötigen Junctions 
suspekt...

von Daniel S. (ds1982)


Lesenswert?

Anja schrieb:
> Abhilfe:
> 74HC573 anstelle HCT verwenden. (hat höhere Schaltschwelle).

Dabei fällt mir gerade auf, dass mir statt des HCT ein VHCT geliefert 
wurde. (Das "V" angeblich für LowVoltage, allerdings kann man lt 
Datenblatt 0-5,5V VCC anschliessen und auch schalten. das sollte also 
eigentlich nicht das problem sein oder? Betreibe meine Schaltung mit 5V.

> RC-Tiefpaß (max 400ns Zeitkonstante bei C-Mos) direkt am 74HCT
> plazieren.

An der VCC Leitung oder an den Eingängen?

> Masseleitung durch Massefläche ersetzen.
habe ich sowieso schon

Lothar Miller schrieb:
> Zeig mal ein Foto von deinem Aufbau...
> Insbesondere die Entkopplungskondensatoren und die Masseführung ist
> interessant.

Foto werde ich heute abend nachliefern. Von welchen 
Entkopplungskondensatoren reden wir?
>
>> geschaltet hab ich es so ähnlich wie hier:
> Dieser Schaltplan ist mir schon wegen der vielen unnötigen Junctions
> suspekt...

Mir auch. Deswegen hab ich nen eigenen (und mir selbst Gedanken) 
gemacht. Sollte nur als Beispiel dienen ;)

von Daniel S. (ds1982)


Angehängte Dateien:

Lesenswert?

Hier dann doch schonmal das Foto.
Über die Steckerleiste gehts auf ne andere Platine und dort dann direkt 
an den µC. (Allerdings fällt mir gerade auf, dass die Leitungen dort mit 
ca. 10cm sehr lang geworden sind).

Nicht wundern, auf dem Foto ist der LE noch nicht angelötet, das habe 
ich vorm testen noch gemacht. Läuft auf der Platinenrückseite mit ner 
Drahtbrücke zur Steckerleiste.

von ich (Gast)


Lesenswert?

als erste Maßnahme würd ich mal ein Stütz-C an den 573 setzen.

von ich (Gast)


Lesenswert?

Schau mal im Datenblatt unter maximum ratings. Dort findest du die 
Angabe "DC Vcc max current" von 75mA.
Du hast 150 Ohm Widerstände an den Ausgängen. Bei einer 
Diodenflußspannung von geratenen 1,5V hast du 3,5V/150 Ohm *8. Das 
ergibt knapp 190mA.

-> Logikfamilie überdenken

von Daniel S. (ds1982)


Lesenswert?

ich schrieb:
> als erste Maßnahme würd ich mal ein Stütz-C an den 573 setzen.
Zwischen VCC und GND?
wie groß?

ich schrieb:
> Schau mal im Datenblatt unter maximum ratings. Dort findest du die
> Angabe "DC Vcc max current" von 75mA.
> Du hast 150 Ohm Widerstände an den Ausgängen. Bei einer
> Diodenflußspannung von geratenen 1,5V hast du 3,5V/150 Ohm *8. Das
> ergibt knapp 190mA.
>
> -> Logikfamilie überdenken

Guter Hinweis, danke. Allerdings sinds blaue LED's die eine Flußspannung 
von ca. 3V haben, somit ists weniger Strom. Außerdem werden die LED's 
noch mittels PWM gedimmt, so dass es evtl. passen könnte, bzw die 
verbleibenden ca. 100mA dann nur wirklich sehr kurz anliegen.
Dies sollte aber mit dem eigentlichen Problem, dass das Latch ohne 
Enabled zu sein schaltet nichts zu tun haben oder?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Daniel S. schrieb:
> Von welchen Entkopplungskondensatoren reden wir?
Von den 6 stück links oben im Schaltplan. Die gehören nämlich an die 
ICs, nicht sonst irgendwohin...

Daniel S. schrieb:
> Dies sollte aber mit dem eigentlichen Problem, dass das Latch ohne
> Enabled zu sein schaltet nichts zu tun haben oder?
Was, wenn dir beim Schalten die Versorgungsspannung wegen der fehlenden 
Entkopplungskondensatoren (Stützkondensatoren, Blockkondensatoren) kurz 
wegbricht?

von Daniel S. (ds1982)


Lesenswert?

Lothar Miller schrieb:
> Daniel S. schrieb:
>> Von welchen Entkopplungskondensatoren reden wir?
> Von den 6 stück links oben im Schaltplan. Die gehören nämlich an die
> ICs, nicht sonst irgendwohin...

Ja, die hab ich tatsächlich nicht beachtet... Wie dimensioniert man die?
>
> Daniel S. schrieb:
>> Dies sollte aber mit dem eigentlichen Problem, dass das Latch ohne
>> Enabled zu sein schaltet nichts zu tun haben oder?
> Was, wenn dir beim Schalten die Versorgungsspannung wegen der fehlenden
> Entkopplungskondensatoren (Stützkondensatoren, Blockkondensatoren) kurz
> wegbricht?

Ich schalte ja gar nicht, ich lege nur bei "disabled'tem" Latch 8 
High-Pegel an die Eingänge, d.h. LED's sollten gar nicht angehen, somit 
kein Strom fliessen. Jedenfalls kann ich mir nicht vorstellen, dass beim 
anlegen der Datenbits die Versorgungspannung dadurch einbricht.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Daniel S. schrieb:
>>> Von welchen Entkopplungskondensatoren reden wir?
>> Von den 6 stück links oben im Schaltplan. Die gehören nämlich an die
>> ICs, nicht sonst irgendwohin...
> Ja, die hab ich tatsächlich nicht beachtet... Wie dimensioniert man die?
Nimm die üblichen 100nF und platzier die Dinger nahe bei den 
Versorgungsanschlüssen der ICs.

von Daniel S. (ds1982)


Lesenswert?

sooo...  habe mich eben mal wieder drangesetzt und gemerkt, dass an 
anderer Stelle eine Massefläche keinen Kontakt zur Masse hatte (eine 
Drahtbrücke hat gefehlt). Wie dadurch der von mir beschriebene Effekt 
zustande kam ist mir aber immernoch nicht klar... ;)

Vielen Dank für die vielen hilfreichen Tipps, ich habe in diesem Thread 
viel gelernt. Blockkondensatoren werden jetzt gleich nachgerüstet, über 
einen Austausch der Logikbausteine gegen welche mit mehr Leistung denke 
ich nach. Erstmal helfe ich mir mit größeren Widerständen vor den LED's.

von Thomas (kosmos)


Lesenswert?

es sollten sich doch LEDs finden lassen die mit knapp 10mA ausreichend 
hell sind. Soll ja bestimmt nur eine Anzeige und keine Taschenlampe 
werden.

von Anja (Gast)


Lesenswert?

Daniel S. schrieb:
>> Masseleitung durch Massefläche ersetzen.
> habe ich sowieso schon

Ich sehe auf dem Foto keine (durchgehende) Massefläche. Das was Du uns 
als Massefläche verkaufen willst ist eine etwas breitere Leiterbahn. 
Eine Massefläche wird es erst wenn der parallele Abstand (nicht quer) 
von Masse zu den Signal-Leiterbahnen kleiner ca 0,5 mm wird. Hin- und 
Rückstrom müssen eine minimale Fläche aufspannen damit die Induktivität 
der Masse spürbar kleiner wird.

Den Prozessor sehe ich auch nicht auf der Leiterplatte.
Oder kommt womöglich das Signal über ein Flachbandkabel mit einer 
einzigen Masseleitung rein.

Daniel S. schrieb:
> An der VCC Leitung oder an den Eingängen?
Natürlich nur am (gestörten) LE-Eingang. Wobei bei VHCT die maximale 
Rise-Time (=ca Zeitkonstante) nur 20ns sein darf.

Daniel S. schrieb:
> Dabei fällt mir gerade auf, dass mir statt des HCT ein VHCT geliefert
> wurde. (Das "V" angeblich für LowVoltage, allerdings kann man lt
> Datenblatt 0-5,5V VCC anschliessen und auch schalten. das sollte also
> eigentlich nicht das problem sein oder?

VHCT ist ca Faktor 3 schneller und damit störempfindlicher.
Die Tendenz daß es zu Problemen kommt ist höher. Auch wenn kein Ausgang 
schaltet so müssen interne Kapazitäten der Eingangsstufen umgeladen 
werden. Je schneller dies geschieht umso größer die Störungen.

Daniel S. schrieb:
> habe mich eben mal wieder drangesetzt und gemerkt, dass an
> anderer Stelle eine Massefläche keinen Kontakt zur Masse hatte

Also doch ein Masseproblem (wenn auch anders als erwartet).
In dem Fall zieht sich der Baustein über die Eingangsschutzdioden der 
Signalleitungen den Strom.

Gruß Anja

von Daniel S. (ds1982)


Lesenswert?

Ergänzung (der Vollständigkeit halber):
Nachdem mein Testprogramm dann lief und ich den Debugger an meine 
Platine angeschlossen hatte ging der Spaß von vorne los. Gleiches 
verhalten wie oben beschrieben. Sogar wenn ich die Ausgänge des µC "von 
Hand" mittels Debugger eingeschaltet habe.

Kurzer Hand hab ich meine Platine dann heute doch mal mit zur Arbeit 
genommen und am Oszilloskop geschaut was los ist. Siehe da am "LE" 
Eingang sah man extrem kurze (<100ns) Spannungs-Peaks die größer wurden, 
je mehr Eingänge man gleichzeitig einschaltete.

Abhilfe brachte dann letztendlich das von Anja beschriebene RC-Glied mit 
max. 20ns am (gestörten) LE-Eingang!

Vielen Dank nochmal für den Tip!!

von XB70Valk (Gast)


Lesenswert?

Hallo,

mit dem beschriebenen instabilen Verhalten von mehreren 74HCT573
an einem AVR Controller hatte ich beim Test von zwei 32K RAM (HM62256)
mit High- und LowByte Adress-Latches ebenfalls zu kämpfen.

Die ungesteuerte zufällige Übernahme von Bytes des AVR Ports
vornehmlich in das High-Byte Adress-Latches und damit Speicherfehler 
trat jedoch nur bei den kürzlich von Reichelt gelieferten Fairchild 
74HCT573 Chips, nicht bei einem noch vorhandenen älteren Philips 
74HCT573 Chip auf.

Dank Deines Tips mit je einem RC Glied an den Latch Enable Inputs ist 
die Fehlfunktion  jetzt behoben. Ich bin mir nur nicht sicher, ob meine 
'RC Konstruktion' überhaupt richtig ist. Denn ich habe einfach von LE je 
einen C (470p) und einen R (1K) mit Masse verbunden. War das der 
richtige Weg?

Danke.

XB70Valk

von Thomas (kosmos)


Lesenswert?

wenn die Pins des µC als Ausgang geschalten sind sollte doch immer ein 
definierter Zustand vorhanden sein. Also ich habe damals 10k als 
Pulldowns genommen da die die µC-Pins auch als Eingänge benutzt habe, 
aber die internen Pullups würden ja auch gehen

http://www.reichelt.de/8-Widerstaende-9-Pins/SIL-9-8-10K/index.html?;ARTICLE=18019

von Daniel S. (ds1982)


Lesenswert?

XB70Valk schrieb:
> Hallo,

> Die ungesteuerte zufällige Übernahme von Bytes des AVR Ports
> vornehmlich in das High-Byte Adress-Latches und damit Speicherfehler
> trat jedoch nur bei den kürzlich von Reichelt gelieferten Fairchild
> 74HCT573 Chips, nicht bei einem noch vorhandenen älteren Philips
> 74HCT573 Chip auf.

Jo, genau mit denen trat das Problem bei mir auch auf. Man beachte das 
"T" in der Bezeichnung, wie weiter oben schon erwähnt ist dies die sehr 
schnell schaltende Variante.

>
> Dank Deines Tips mit je einem RC Glied an den Latch Enable Inputs ist
> die Fehlfunktion  jetzt behoben. Ich bin mir nur nicht sicher, ob meine
> 'RC Konstruktion' überhaupt richtig ist. Denn ich habe einfach von LE je
> einen C (470p) und einen R (1K) mit Masse verbunden. War das der
> richtige Weg?

Japp, der Weg ist auf jeden Fall richtig, hat ja bei dir auch zum Erfolg 
geführt, ABER:
Woher hast du diese Werte? Mir kommen die Bauteile sehr groß vor. Das 
Problem dabei ist, dass dir natürlich Schaltzeit verloren geht, je 
größer das RC-Glied wird. Sollte es bei dir nicht so sehr auf die 
Schaltgeschwindigkeit ankommen, dann lass es so.
In meiner Schaltung habe ich später sogar den Widerstand komplett 
weggelassen, da ich den Kondensator (bzw. die Zeitkonstante) möglichst 
klein halten wollte. Dabei war die Grenze 22pF, ich habe dann zur 
Sicherheit einen etwas größeren Kondensator genommen.

Thomas O. schrieb:
> wenn die Pins des µC als Ausgang geschalten sind sollte doch immer ein
> definierter Zustand vorhanden sein. Also ich habe damals 10k als
> Pulldowns genommen da die die µC-Pins auch als Eingänge benutzt habe,
> aber die internen Pullups würden ja auch gehen

Generell kein schlechter Gedanke, nur kommt der High-Pegel (bzw. der 
kurze Peak) nicht vom µC. Bei mir waren relativ lange Leiterbahnen und 
ein schlechter Massefluss dafür verantwortlich. Bei mir trat das Problem 
auch hauptsächlich immer dann auf, wenn der Debugger via JTAG 
angeschlossen war. Ohne es weiter untersucht zu haben ist meine 
Vermutung, dass auf den Leiterbahnen des Latches diese Spannungspeaks 
induziert werden, bzw. irgendwie von einer der JTAG Leitungen 
einstreuen.

Die Peaks sind sehr kurz (im Nanosekundenbereich), daher reicht eine 
Betrachtung im NF-Bereich hier leider nicht mehr aus, ein einfacher 
Pulldown bringt hier also nicht die gewünschte Wirkung, deswegen reicht 
der interne Pullup/down vom µC-Port ja auch nicht aus.
Ich möchte dies an dieser Stelle nicht zu ausführlich diskutieren, nur 
so viel: Man benötigt hier so etwas wie einen Tiefpass (RC-Glied)

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.