PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 74HC595 ist nicht gleich 74HC595



rogerberglen
05.03.2013, 19:56
Hallo zusammen
ich habe mir eine Dot-Matrix Anzeige mit 5x7 LED gebaut. Dazu habe ich Schieberegister 74HC595 von ST (Signetic) genommen. Nun habe ich die Anzeige erweitert und habe dazu 74HC595 von Texas Instruments genommen. Mit diesen funktioniert das leider nicht. Alle Dot's leuchten und man kann die Dot's die leuchten sollen so ganz leicht heller leuchten sehen.
Die Zeilen der Anzeige werden über Fet's an 5V gelegt. Die Spalten sind über 74 Ohm Widerstände direkt mit den Schieberegistern verbunden. Diese schalten also das Ganze nach GND durch. Die Dinger von Texas Instruments schalten die Ausgänge nicht 100%ig auf 5V. Deshlab leuchten die Dots immer, auch wenn diese gar nicht leuchten sollten.
Dummerweise habe ich von diesen Texas Instruments Dingern eine ganze Menge gekauft und fange nun nichts damit an.
Ich brauche unbedingt diese von Signetic.

RoboHolIC
05.03.2013, 21:43
Die Zeilen der Anzeige werden über Fet's an 5V gelegt.
Also High-Side-Schalter? Da schleichen sich gerne mal Schaltungsfehler ein. Zeig uns doch sicherheitshalber bitte die Schaltung. Sind es die selben FET-Typen wie in der ersten Anzeigencharge? Welcher Typ? FETs haben doch m.W. nie unter 1 V Schwellenspannung.
Aus dem Bauch heraus würde ich sagen: Wenn ein digitaler Standardchip solche Probleme macht allein wegen Wechsels des Herstellers, dann ist der Fehler vorrangig im Schaltungsdesign zu suchen.
Im übrigen sollte man doch mit einem Multimeter nachweisen können, an welcher Stelle des Signalpfades die Störung entsteht.

rogerberglen
06.03.2013, 17:04
Hier mal der Schaltplan:

24746

Habe das sogar mit dem Oszi messen können. Die Ausgänge gehen nicht zu 100% nach oben auf 5V.

Besserwessi
06.03.2013, 17:24
Bei CMOS Ausgängen ist der Zustand nicht ganz auf High sehr ungewöhnlich.

Bei den Logikchips ist ggf. etwas Leckstrom möglich, auch wenn fast alle ICs deutlich besser sind als die Spezifikation, aber man kann sich halt nicht darauf verlassen.

Meine Vermutung würde eher dahin gehen, das die zusätzlichen Chips keine Versorgungsspannung bekommen, und Ausgänge über die Schutzdiode den Strom bereitstellen.

rogerberglen
06.03.2013, 18:22
Habe soeben sogar einen ULN2003 dazwischengehängt und zum Test nur das erste Schieberegister drin gelassen (Texas Instruments). Das Funktioniert auch so nicht. Wenn ich hingegen einen von ST stecke, dann funktionierts tadellos.

Klebwax
06.03.2013, 18:50
Ich hab da ein Problem mit deiner Ansteuerung der Matrix. Ich kenne das eigentlich so, daß die Low-Side Ansteuerung Open-Collektor (oder Open-Drain) ist. Da wird nie nach High geschaltet, damit keine Querströme über eigentlich ausgeschaltete Treiber in die Matrix fließen.

MfG Klebwax

Searcher
06.03.2013, 19:13
Sind an den Schieberegistern und sonst auch überall die 100nF Abblockkondenatoren drin?
Hatte sowas ähnliches nicht mit unterschiedlichen Herstellen sondern selten sporadische Fehler. Abblock C und gut.

Gruß
Searcher

RoboHolIC
06.03.2013, 20:23
Sollten tatsächlich Leckströme an den ICs das Problem sein, kann man evtl. mit Ableitwiderständen von den FET-Gates nach +5V Abhilfe schaffen. Etwa 4,7kOhm oder 10kOhm, was gerade da ist. An denen laufen sich eventuelle Leckströme vom Chip oder Kriechströme auf der Leiterplatte tot.
Haben alle High-Side-ansteuernden ICs eine stabile Vcc auch unter Belastung mit leuchtenden LEDs? Wenn denen durch den Stromverbrauch der LEDs die Vcc einbricht, ist eine Aktivierung der High-Side-FETs über die ESD-Dioden zumindest denkbar. Naja, das hättest du wohl mit dem Oszilloskop schon gesehen.

rogerberglen
06.03.2013, 20:50
Jetzt habe ich mal den Mikrocontroller langsamer laufen lassen. Jetzt funktionieren auch die Dinger von Texas Instruments. Aber leider stimmen jetzt diverse Zeitkritische Abläufe nicht mehr. Wie dem auch sei. Augenscheinlich verkraften die das schnelle Timing nicht. Wie dem auch sei, die Dinger gehen zum Lieferanten zurück. Soeben hat mein Nachbar mir ein Päckchen gebracht in dem die Schieberegister von ST drin waren. Diese reingesteckt und schon funktioniert alles wie es soll.

Besserwessi
06.03.2013, 21:38
Die Geschwindigkeit vom µC sollte für die 74HC... Chips kein Problem sein - die gehen normal bis rund 50 MHz. Das Problem liegt eher bei der Empfindlichkeit auf die Qualität der Flanken und ggf. Störungen auf der Versorgung. Da können auch Chips verschiedener Hersteller / Chargen unterschiedlich empfindlich reagieren.

rogerberglen
28.04.2013, 13:05
Ich habe den Unterscchied zwischen den beiden IC's nun herausgefunden. Beim 74HC595 von Signetic (ST) ist es egal, ob man zuerst das Strobe-Signal für das Speicherregister (Pin12) auf High hält und dann auf 0 und wieder auf 1 schaltet um eine steigende Flanke zu bekommen. Bei den anderen IC's ist es wichtig zuerst das Strobe-Signal auf 0 zu halten und dann bei Bedarf die steigende Flanke zu generieren. Nach dieser kleinen Änderung im Programm laufen nun alle Scheiebregister, egal von welchem Hersteller.

RoboHolIC
28.04.2013, 21:02
Hallo rogerberglen.

Wow, gut gearbeitet, Kompliment.

Lässt sich dieser Unterschied nur beobachten oder auch im Datenblatt ablesen?
Ist der Strobe normally low bei allen anderen Aktivitäten vorgeschrieben oder geht es lediglich um die minimal erforderliche Low-Zeit des Strobe vor der steigenden Flanke?
Nach deiner Beschreibung gerade eben wären die verschiedenen Chips bezüglich der Logikfunktion nicht gleichwertig; noch füher hattest du allerdings geschrieben, dass bei extremer Verlangsamung des Controllers oder Programms die Chips beider Hersteller funktionieren.

Ich hab mal gelesen, man solle auch die Zeit nicht unterschätzen, die ein Pin am Controller benötigt, um den internen (logischen) Pegel auch äußerlich (elektrisch) gegen kapazitive Last durchzusetzen. Einen Pin umschalten und mit dem nächsten Maschinenbefehl die Änderung erkennen wollen könne unter ungünstigen Bedingungen und hohen Taktfrequenzen schon mal misslingen.

Mich interessiert es halt, ob der Widerspruch im Threadtitel letztlich aufgelöst oder bestätigt wurde.