Multiplexer: alles was Sie wissen müssen

Multiplexer-Chip

Un Multiplexer ist eine kombinatorische Schaltung mit mehreren Eingängen und einem einzigen Datenausgang. Damit ist es möglich, den Durchgang nur eines seiner Eingänge auszuwählen, um ihn zu seinem Ausgang zu leiten. Das heißt, Sie können auswählen, von welchem ​​Eingang die Daten oder das Bit am Eingang übernommen werden sollen, und den Rest der Eingänge ignorieren. Dies ist in der Elektronik sehr häufig, wenn mehrere Verbindungen eine einzelne Leitung oder einen Bus gemeinsam nutzen müssen.

Das heißt, durch Steuern des Multiplexers können Sie Wählen Sie jederzeit den entsprechenden Eingang. Was macht es möglich, dass Sie trotz nur einer Verbindung mit mehreren Eingabegeräten gleichzeitig arbeiten können, ohne dass sie sich gegenseitig stören. Außerdem sollten Sie wissen, dass in vielen Projekten ein Demultiplexer im Allgemeinen in Verbindung mit dem Multiplexer verwendet wird ...

Was ist ein Multiplexer?

Multiplexer

Diese kombinatorischen Dienste genannt Multiplexer Sie sind normalerweise nicht komplex. Sie bestehen aus einigen wenigen Logikgattern, abhängig von der Anzahl der Dateneingaben, und die Steuerung könnte die Komplexität erhöhen. Sie umfassen normalerweise 2n Eingänge und ein einzelner Ausgang sowie Steuerleitungen. Und Sie können mehrere davon in Kombination verwenden, um die Anzahl der verfügbaren Tickets zu erhöhen.

Es kann verstanden werden als ein Selektor. Stellen Sie sich zum Beispiel vor, Sie haben eine sehr einfache mit zwei Eingängen, die einfachste, die gebaut werden kann. Diese Schaltung hat einen einzigen Steuereingang und -ausgang. Wenn die Eingänge A und B sind, können Sie mit dem Steuereingang steuern, ob es A ist, der seinen Wert an den Ausgang S übergibt, oder ob es B ist, der dies tut. Dazu müssen Sie nur den Wert der Steuerleitung C variieren. Wenn beispielsweise C = 0 ist, ist dies A und wenn C = 1, ist es B.

Wie Sie verstehen werden, werden mehr Eingaben benötigt, wenn mehr Eingaben vorhanden sind Steuereingänge zur Auswahl. Tatsächlich ist der Multiplexer ein spezieller Decodortyp mit einem Freigabesignal für jedes enthaltene UND-Gatter und einem ODER-Gatter zwischen dem Ausgang und den UND-Gattern. Auf diese Weise kann es leicht ausgewählt werden.

Sie können die Anwendungen verwenden für eine Vielzahl von Dingen:

  • Eingangsauswahl zur gemeinsamen Nutzung eines einzelnen Busses oder einer einzelnen Leitung, wenn Sie mehrere Eingänge haben.
  • Serializer, damit er den Wert jedes seiner Eingänge der Reihe nach nimmt.
  • Für die Multiplexübertragung mit denselben Verbindungsleitungen für verschiedene Daten von verschiedenen Geräten. Stellen Sie sich zum Beispiel vor, Sie möchten denselben Daten-Pin eines Mikrocontrollers verwenden, um mehrere Geräteausgänge zu verbinden, aber nur Informationen gleichzeitig senden ...
  • Führen Sie logische Funktionen usw. aus.

Multiplexer-Typen

Abhängig von der Art und Weise, wie das Getriebe aufgeteilt ist, gibt es verschiedene Arten Multiplexer oder Multiplexing:

  • Durch Frequenzteilung
  • Nach Zeiteinteilung
  • Durch Codeteilung
  • Durch Aufteilung von Wellenlänge

Wie Sie sich vorstellen können, werden sie durch die Frequenz, die Zeit durch eine Uhr, den Binärcode und die Wellenlänge gesteuert. Aber hier interessiert mich nur das Konventionelle ...

Zusätzlich zu den Typen, wie beim Demultiplexer, können Sie es mit finden mehr oder weniger Kanäle 2, 4, 8, 16 usw., je nachdem, was Sie für Ihre DIY-Projekte benötigen.

Unterschiede zu einem Demultiplexer

Demultiplexer

In der digitalen Elektronik gibt es Demultiplexereine kombinatorische Schaltung, die der Antagonist des Multiplexers ist. In diesem Fall gibt es nur einen Informationseingang, der jedoch über seine verschiedenen Ausgänge übertragen werden kann. Mit anderen Worten, in diesem Fall entscheiden die Steuersignale, an welchen Ausgang die Eingangsdaten übertragen werden.

Si Sie verbinden einen Demultiplexer mit dem Ausgang eines Multiplexerskönnen Sie ein sehr nützliches System haben, um zu lernen, wie beide Geräte funktionieren.

Wie geht es Ihnen?

Multiplexer Demultiplexer

Diese Geräte sind normalerweise in implementiert Chips eintauchen sehr einfach. Sie finden sie in einer Vielzahl von Marken und mit einer Reihe von Ein- oder Ausgängen, wenn Sie ein Demultiplexer sind. Darüber hinaus sind sie leicht in verschiedenen Fachmedien oder Online-Shops zu finden. Wenn Sie daran interessiert sind, eines zu einem guten Preis zu kaufen, können dies gute Beispiele sein, um mit Ihren Projekten zu beginnen:

Ich rate Ihnen zu lesen die Datenblätter von ihren Herstellern, um eine klare Vorstellung von ihnen zu bekommen Pinout, da sie je nach Hersteller oder Typ, den Sie gekauft haben, variieren können.

cd74hc4067

Wie Sie sehen, gibt es außerdem sehr gute Module, mit denen Sie beide Geräte in einem haben können. Es ist der Fall von bekannt CD74HC4067, ein kleines Modul mit TTL-Technologie, mit dem Sie mit MUX / DEMUX bidirektional mit seinen 16 Banalen arbeiten können. Das heißt, Sie können es als eine Art intelligenten Schalter verwenden.

Somit kann Ihr Arduino bis zu 1 lesen und schreiben6 verschiedene Geräte mit nur 5 Pins, von denen 4 zur Steuerung und ein zusätzlicher zum Sammeln des Signals verwendet werden, das gemäß dem ausgewählten Kanal gelesen oder geschrieben werden soll.

Das Gute an diesem Chip ist das arbeitet sowohl mit digitalen als auch mit analogen SignalenDaher ist es mit vielen Sensoren kompatibel, die mit analogen und anderen digitalen Chips arbeiten, sowie mit einer Vielzahl verschiedener elektronischer Elemente. Es gibt große Vielseitigkeit. Deshalb werden sie auch als E / A-Expander oder Eingangs- und Ausgangsverstärker bezeichnet ...

Sie könnten es sogar für verwenden Kommunikation über die serielle Schnittstelle, der I2C-Bus oder das SPI, von dem wir bereits bei anderen Gelegenheiten gesprochen haben.

Bevor Sie mit ihm arbeiten, müssen Sie das natürlich sicherstellen erfüllen die Spannungen und Ströme das lässt diese Schaltung zu, um sie nicht zu beschädigen. In diesem Fall kann es beispielsweise bis zu 20 mA sowie eine Spannung von 2 bis 6 V liefern. Wenn Sie jedoch mit höheren Strömen arbeiten möchten Sie könnten ein Relais verwenden oder durch einen Transistor.

Integration mit Arduino

Arduino mit Bluetooth

Ein Weg Haben Sie mehr Eingänge auf Ihrem Arduino-Board oder mehr Ausgängeist es, diese Multiplexer und Demultiplexer zu verwenden. Mit ihnen müssen Sie kein höherpreisiges Board mit mehr Pins kaufen oder andere Tricks anwenden, um alles zu verbinden, was Sie brauchen.

Zum Beispiel können Sie a verwenden MUX- und DEMUX-Modul um beides in einem einzigen Element zu haben und es dann auf einfache Weise in Ihr Projekt mit Arduino zu integrieren. Mit dem CD74HC4067 können Sie ihn sehr einfach anschließen, daher müssen Sie die folgenden Regeln befolgen:

  • Vcc des MUX / DEMUX-Chips müssen Sie an Vcc von Arduino oder 5V anschließen.
  • GND, der Boden, müssen Sie ihn mit dem GND von Arduino verbinden.
  • Die mit S0, S1, S2, S3 gekennzeichneten Pins steuern den aktiven Kanal mit vier digitalen Arduino-E / A wie D8, D9, D10 und D11.
  • Die EN ist auch aktiviert, so dass sie als Multiplexer funktioniert und Sie sie an die GND von Arduino anschließen können.
  • Und SIG ist das Ausgangssignal, das den ausgewählten Kanal bestimmt. Es kann an Arduino oder an jedes Gerät angeschlossen werden, das die Ausgabe lesen muss. In diesem Fall habe ich es mit A0 verbunden, um die Werte vom Arduino selbst zu erhalten.
  • Am anderen Ende des Moduls befinden sich in diesem Fall die Eingänge C0-C10, die Sie an Ihre Geräte anschließen können.

Sobald die Verbindung hergestellt ist, kann der Arduino-Code einfach sein. Das Arduino IDE Skizze als Multiplexer Es kann Folgendes sein (dieser Code schaltet nur die Kanäle aus bzw. ein, aber Sie können ihn ändern, um das gewünschte Projekt zu erstellen):

const int muxSIG = A0;
const int muxS0 = 8;
const int muxS1 = 9;
const int muxS2 = 10;
const int muxS3 = 11;
 
int SetMuxChannel(byte channel)
{
   digitalWrite(muxS0, bitRead(channel, 0));
   digitalWrite(muxS1, bitRead(channel, 1));
   digitalWrite(muxS2, bitRead(channel, 2));
   digitalWrite(muxS3, bitRead(channel, 3));
}
 
void setup()
{
   pinMode(muxSIG, OUTPUT);
   pinMode(muxS0, OUTPUT);
   pinMode(muxS1, OUTPUT);
   pinMode(muxS2, OUTPUT);
   pinMode(muxS3, OUTPUT);
}
 
void loop()
{
   for (byte i = 0; i < 16; i++)
   {
      SetMuxChannel(i);
      digitalWrite(muxSIG, HIGH);
      delay(200);
      digitalWrite(muxSIG, LOW);
      delay(200);
   }
}

Wenn Sie es als DEMUX verwenden möchten, sollten Sie nur berücksichtigen, dass C0-C10 die Ausgänge und SIG die Eingabe sind. Falls du willst Verwenden Sie es als Demultiplexerwürde sich der Code folgendermaßen ändern:

onst int muxSIG = A0;
const int muxS0 = 8;
const int muxS1 = 9;
const int muxS2 = 10;
const int muxS3 = 11;
 
int SetMuxChannel(byte channel)
{
   digitalWrite(muxS0, bitRead(channel, 0));
   digitalWrite(muxS1, bitRead(channel, 1));
   digitalWrite(muxS2, bitRead(channel, 2));
   digitalWrite(muxS3, bitRead(channel, 3));
}
 
void setup()
{
   Serial.begin(9600);
   pinMode(muxS0, OUTPUT);
   pinMode(muxS1, OUTPUT);
   pinMode(muxS2, OUTPUT);
   pinMode(muxS3, OUTPUT);
}
 
void loop()
{
   for (byte i = 0; i < 16; i++)
   {
      SetMuxChannel(i);
      byte muxValue = analogRead(muxSIG);
 
      Serial.print(muxValue);
      Serial.print("\t");
   }
   Serial.println();
   delay(1000);
}

Denken Sie daran, dass Sie mithilfe unserer Informationen weitere Informationen erhalten können kostenloser Arduino Programmierkurs.


Einen Kommentar, hinterlasse deinen

Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Xaver Ortiz sagte

    Hallo, ich mache ein Projekt, genau wie ich den 74hc4067 für Eingänge von 16 Infrarot-Hindernissensoren verwende und dass jeder Sensor für mich einen anderen Ausgang beleuchtet. Nun, wenn ich es mit dem Arduino Mega machen könnte, aber ich muss 50 Infrarotsensoren verwenden und dass jeder einen Ausgang einschaltet, dh 50 Ausgänge, denke ich darüber nach, mehrere 744067 für Sensoreingänge und den tlc5940 für Ausgänge zu verwenden. Aber in dem Programmcode bin ich ein bisschen verloren, danke im Voraus für Ihre Hilfe.