Verwende ich diesen Multiplexer (SN74LS153N) richtig?

Ich versuche, einen ATtiny85 dazu zu bringen, einen SN74LS153N-Dual-4-zu-1-Multiplexer zu steuern, um den Zustand mehrerer Schalter mit einem einzigen Pin (eigentlich drei Pins) zu lesen, habe aber Probleme zu verstehen, warum mein Design nicht funktioniert.

Geben Sie hier die Bildbeschreibung ein

So sieht mein Prototyp im Moment aus. Die LEDs sind nur da, um mein Problem zu erklären.

Egal in welchem ​​Zustand sich die Schalter S1 bis S4 in D3 befinden, leuchtet niemals auf und U2 scheint niemals in der Lage zu sein, den digitalen Zustand des PB4-Eingangs zu lesen. U2 ist so programmiert, dass es alle Zustände der A- und B-Eingänge zu U1 durchläuft, und das tut es: D1 und D2 blinken entsprechend - AUS:AUS, AUS:EIN, EIN:AUS, EIN:EIN (D1:D2).

Ich habe die Datenblätter immer wieder gelesen und überprüft und bestätigt, dass alles wie erforderlich angeschlossen ist. Übersehe ich etwas Offensichtliches? Sind diese Schalter schuld?

SN74LS153N

ATtiny85

Haben Sie versucht, jeder der LEDs einen Vorwiderstand von beispielsweise 330 Ω hinzuzufügen?

Antworten (1)

  • Das offensichtlichste Problem ist, dass U1 Pin 1 ( 1G) nicht angeschlossen ist und daher normalerweise auf TTL-Geräten schwebt HIGH.

    Das bedeutet, dass U1 Pin 7 ( 1Y) bleibt LOW, unabhängig von den Zuständen an den Eingängen U1 Pins 3 - 6 ( 1C3bis 1C0).

    Siehe die erste Zeile der Wahrheitstabelle im Datenblatt, das Sie freundlicherweise verlinkt haben:

74LS153N Wahrheitstabelle

  • Ich verstehe, dass sie nur zur Fehlerbehebung dienen, aber dass die TTL-Ausgänge von U1 LS nicht genügend Quellstrom haben, um eine LED anzusteuern (dh mit der LED zwischen einem U1-Ausgang und Gnd) und innerhalb der Spezifikation zu bleiben. Laut Datenblatt beträgt der empfohlene maximale Quellenstrom nur 0,8 mA (800 μA).

    Verwenden Sie besser einen Transistortreiber (BJT oder MOSFET), um eine Beschädigung der U1-Ausgänge zu vermeiden und dennoch einen gültigen HIGHLogikpegel für U2 zum Lesen zu erhalten.

    Diese vorherige Frage erklärt das Problem.

  • Schließlich sollten Sie Entkopplungskondensatoren in der Nähe von U1 und U2 haben.

    Sie könnten ohne sie davonkommen, aber das würde von mehreren Faktoren abhängen, und die beste Vorgehensweise besteht darin, sie einzubeziehen.


Dieser kurze Fairchild „ Designing with TTL “ Application Note 363) enthält einige nützliche Ratschläge zu verschiedenen Themen, einschließlich der Entkopplung und was mit ungenutzten TTL-Eingängen zu tun ist.

Anscheinend weiß ich nicht, wie man Wahrheitstabellen liest. Ich hatte den Eindruck, dass Strobe in meinem Fall ein irrelevanter Ausgang war, da er nur relevant zu sein scheint, wenn mehrere SN74LS153N-ICs miteinander verbunden werden (erinnern Sie sich, dass Sie das irgendwo gelesen haben). Doch die Ergebnisse sind offensichtlich. Nachdem ich das Stroboskop auf Low gezogen habe, stimmen die Multitool-Messwerte mit meinen Erwartungen überein (ich habe die LEDs entfernt).
@predi - Hallo - Ich bin froh, dass Sie das Problem bestätigt haben :-) "Ich hatte den Eindruck, dass Strobe in meinem Fall eine irrelevante Ausgabe war". Eigentlich ist "Strobe" (Signal 1Gdes von Ihnen verwendeten LS153) ein Eingang und muss daher berücksichtigt werden. Schauen Sie sich das Logikdiagramm in der unteren Hälfte von Seite 2 des LS153-Datenblatts an, wo es zeigt, dass das "Strobe" -Signal ein Eingang zu den internen ANDGates ist. PS Best Practice wäre, die Eingänge auch an der zweiten Hälfte des LS153-Geräts anzuschließen. Ich werde in meiner Antwort einen Link zu einem TTL-Design-Anwendungshinweis mit einigen Informationen hinzufügen. Viel Glück!
Der eigentliche Prototyp verwendet bereits beide MUXs im IC (8 Schalter). Danke für alle Vorschläge. Ich lese jetzt über Entkopplungskondensatoren und werde sie hinzufügen. Dies war (und ist) eine Lernerfahrung. :)