Kette 16-Kanal-Analog-Multiplexer/Demultiplexer

Ich versuche herauszufinden, wie man sechs 74HC4067 oder ähnliche 16-Bit-Multiplexer verkettet.

Mein Ziel ist es, mit Arduino mehrere analoge Eingänge nacheinander auszulesen.

Ich habe nur 1 analogen Pin-Eingang und 7 digitale Pin-Ausgänge, was ausreicht, um jeden Eingang zu adressieren (2 ^ 7 = 128> 6x16 = 96). Also muss ich herausfinden, wie ich jeden auswählen kann.

Die einfachste Lösung gewinnt, bitte vermeiden Sie die Verwendung von Abschirmungen oder Schieberegistern, halten Sie es einfach.

Was meinen Sie mit der Verkettung dieser Multiplexer, denn dies wird keine einfache Lösung sein, da NUR ein Kanal pro Moment eingeschaltet sein kann.
Was ist das eigentliche Problem, das Sie zu lösen versuchen (6x 4067 ist kein Problem, sondern eine vorgeschlagene Lösung)? Was hast du bisher herausgefunden? Warum denkst du, dass du feststeckst? (Hier sehe ich keine Schwierigkeiten. Man fächert die analogen Signale auf und erstellt aus 4067er eine Art "Baum". Der Baum hätte die Tiefe 2, und man bräuchte insgesamt 8x Channel-Select-Leitungen um auf jeden Kanal einzeln zuzugreifen.)
Nun, ich habe nur eine begrenzte Anzahl von Pins, nur 1 analoge und 7 digitale Pins. Frage aktualisiert.
@pravdomil das sieht aus wie eine geschickt getarnte Hausaufgabenfrage. Ich finde es seltsam, dass jemand 4067 analoge Muxes kennt, aber nicht weiß, wie man sie benutzt. Wurden wir auf EE.SE gerade pwned?
Ich bin nur ein SE, der einige Schaltungen baut. Ich weiß, dass es eine Möglichkeit geben muss, diese Chips zu verketten. Aber ich kann das Schema nicht erkennen.

Antworten (3)

Es hört sich so an, als ob Sie eines von 16*6=96 Quellsignalen auswählen möchten. Sie müssen die 6 Mux/Demux-Teile nebeneinander platzieren, um insgesamt 96 Quellen zu erhalten. Die vier Auswahlstifte an jedem dieser sechs Teile werden gemeinsam mit vier GPIOs von Ihrem Mikrocontroller verbunden.

Dann benötigen Sie einen weiteren Mux/Demux-Teil, um auszuwählen, welcher der oben genannten sechs Teile der einzelne Eingang zum Mikrocontroller sein soll. Verbinden Sie den Ausgang jedes der ersten sechs Teile mit den ersten sechs Kanälen des kaskadierten Mux. Die ausgewählten Pins des kaskadierten Mux gehen zu mehr GPIO-Pins auf Ihrem Mikrocontroller. Es würden nur drei dieser Mux-Auswahlleitungen benötigt (wobei die vierte geerdet ist), da Sie weniger als die Hälfte der Eingänge des kaskadierten Mux verwenden.

großartig, das heißt, ich brauche 6x16bit und einen 8bit Mux/Demux, richtig?
Ja, aber Sie könnten nur 7 der 16-Bit-Teile verwenden, wenn Sie Ihre Teilebeschaffungsaktivitäten vereinfachen möchten.

Sie benötigen fünf GPIOs, um Ihre Multiplexer zu steuern. Vier für die Kanalauswahl: S0, S1, S2, S3 und einer für den Aktivierungsstift (/E). Sie können diese Pins an jedem Multiplexer miteinander verbinden, sodass Sie nur denselben Kanal auf allen Multiplexern lesen können.

Außerdem benötigen Sie sechs ADC-Eingänge (Analogeingänge), um die Ausgänge (Z) der Multiplexer mit dem Arduino zu verbinden.

Die Bedienung ist einfach.

  1. Wählen Sie den ersten Kanal am MUX16s mit S0-S3.
    • Scannen Sie den Ausgang Ihres ersten MUX16.
    • Stellen Sie den S0-2 des MUX8 auf den nächsten Kanal (nächster MUX16).
    • Wiederholen, bis alle MUX16 gelesen sind.
  2. Wählen Sie den nächsten Kanal auf dem MUX16s mit S0-S3
    • Teilschritte wiederholen.
  3. Wiederholen, bis alle Kanäle gelesen sind.

Hier ist die Schaltung für drei Multiplexer, Sie können die restlichen drei einfach hinzufügen. Beachten Sie, dass Sie auf diese Weise nur dieselben Kanäle auf den Multiplexern auswählen können. Wenn es für Sie nicht geeignet ist, können Sie mehr GPIOs verwenden.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Polsterung.......................

Geben Sie hier die Bildbeschreibung ein