Мультиплексор: все, что вам нужно знать

чип мультиплексора

Un мультиплексор представляет собой комбинационную схему, имеющую несколько входов и один выход данных. При этом можно выбрать проход только одного из его входов, чтобы направить его к выходу. То есть вы можете выбрать, с какого входа принимать данные или бит, который находится на входе, и игнорировать остальные входы. Это очень распространено в электронике, когда несколько соединений должны совместно использовать одну линию или шину.

То есть, управляя мультиплексором, вы можете всегда выбирать подходящий вход. Что делает возможным, что, несмотря на наличие только одного соединения, вы можете работать с несколькими устройствами ввода одновременно, не мешая друг другу. Кроме того, вы должны знать, что демультиплексор обычно используется вместе с мультиплексором во многих проектах ...

Что такое мультиплексор?

мультиплексор

Эти комбинированные сервисы называются мультиплексоры они обычно не сложные. Они состоят из нескольких логических вентилей, в зависимости от количества вводимых данных, и управление может увеличить сложность. Обычно они включают 2n входы и одиночный выход, а также линии управления. И вы можете использовать несколько из них в комбинации, чтобы увеличить количество доступных билетов.

Это можно понимать как селектор. Например, представьте, что у вас есть очень простой с двумя входами, самый простой из возможных. Эта схема будет иметь один управляющий вход и выход. Если входами являются A и B, с помощью управляющего входа можно контролировать, передает ли значение A на выход S или это делает B. Для этого вам нужно только изменить значение контрольной линии C. Например, если C = 0, это будет A, а если C = 1, то B.

Как вы понимаете, чем больше входов, тем больше потребуется. управляющие входы для выбора. Фактически, мультиплексор - это специальный тип декодера с разрешающим сигналом для каждого включенного логического элемента И и логическим элементом ИЛИ между выходом и логическими элементами И. Таким образом, его можно будет легко выбрать.

Что касается его приложений, вы можете использовать его для множества вещей:

  • Селектор входа для совместного использования одной шины или линии при наличии нескольких входов.
  • Сериализатор, чтобы он принимал значение каждого из своих входов по порядку.
  • Для мультиплексной передачи с использованием одних и тех же линий связи для различных данных от разных устройств. Например, представьте, что вы хотите использовать один и тот же вывод данных микроконтроллера для подключения нескольких выходов устройства, но он может отправлять информацию только по одному за раз ...
  • Выполнять логические функции и т. Д.

Типы мультиплексоров

В зависимости от способа разделения передачи различают различные виды мультиплексоры или мультиплексирование:

  • По частотному делению
  • По временному разделению
  • По кодовому разделению
  • По разделению длина волны

Как вы понимаете, они управляются частотой, временем, часами, двоичным кодом и длиной волны. Но здесь меня интересуют только обычные ...

Помимо типов, как и в случае с демультиплексором, вы можете найти его с помощью более или менее каналов 2, 4, 8, 16 и т. Д., В зависимости от того, что вам нужно для ваших проектов DIY.

Отличия от демультиплексора

демультиплексор

В цифровой электронике есть демультиплексор, комбинационная схема, которая является антагонистом мультиплексора. В этом случае будет только один информационный вход, но он может передаваться через его различные выходы. Другими словами, в этом случае управляющие сигналы будут решать, на какой выход будут переданы входные данные.

Si вы подключаете демультиплексор к выходу мультиплексора, у вас может быть очень полезная система для изучения того, как работают оба устройства.

Где купить?

мультиплексор демультиплексор

Эти устройства обычно реализуются в макать чипсы очень простой. Вы можете найти их в большом количестве брендов и с несколькими входами или выходами в случае использования демультиплексора. К тому же их легко найти в различных специализированных СМИ или интернет-магазинах. Если вы заинтересованы в покупке одного из них по хорошей цене, это могут быть хорошие примеры для начала ваших проектов:

Советую прочитать таблицы данных от их производителей, чтобы получить четкое представление об их цоколевка, так как они могут отличаться в зависимости от производителя или типа, который вы приобрели.

cd74hc4067

Кроме того, как видите, есть также очень хорошие модули, позволяющие объединить оба устройства в одно. Это случай известный CD74HC4067, небольшой модуль с технологией TTL, который может помочь вам двунаправленно работать с его 16 баналами, используя MUX / DEMUX. То есть вы можете использовать его как своего рода умный выключатель.

Таким образом, ваш Arduino может читать и писать до 16 разных устройств всего с 5 контактами, 4 из которых используются для управления, а еще один для сбора сигнала, который предназначен для чтения или записи в соответствии с выбранным каналом.

Этот чип хорош тем, что работает как с цифровыми, так и с аналоговыми сигналами, поэтому он совместим со многими датчиками, которые работают на аналоговых и других цифровых микросхемах, а также с множеством различных электронных элементов. Это дает большую универсальность. Вот почему они также известны как расширители ввода-вывода или усилители ввода-вывода ...

Вы даже можете использовать его для связь через последовательный порт, шина I2C или SPI, о котором мы уже говорили в других случаях.

Конечно, прежде чем работать с ним, необходимо убедиться, что встретить напряжения и токи который допускает эту схему, чтобы не повредить ее. Например, в этом случае он может обеспечивать до 20 мА, а также напряжение от 2 до 6 В. Однако, если вы хотите работать с более высокими токами ты мог бы использовать реле или через транзистор.

Интеграция с Arduino

Arduino с Bluetooth

В одну сторону иметь больше входов на вашей плате Arduino или больше выходов, заключается в использовании этих мультиплексоров и демультиплексоров. С их помощью вам не придется покупать более дорогую плату с большим количеством контактов или использовать другие уловки для подключения всего, что вам нужно.

Например, вы можете использовать Модуль MUX и DEMUX чтобы иметь возможность иметь и то, и другое в одном элементе, а затем просто интегрировать его в свой проект с Arduino. С CD74HC4067 вы можете очень легко подключить его, поэтому вы должны соблюдать следующие правила:

  • Vcc микросхемы MUX / DEMUX, вы должны подключить его к Vcc Arduino или 5V.
  • GND, земля, вы должны подключить ее к GND Arduino.
  • Контакты, обозначенные S0, S1, S2, S3, управляют активным каналом с четырьмя цифровыми входами / выходами Arduino, такими как D8, D9, D10 и D11.
  • EN также включен, так что он работает как мультиплексор, вы можете подключить его к GND Arduino.
  • А SIG - это выходной сигнал, который будет определять выбранный канал. Его можно подключить к Arduino или к любому устройству, которое должно считывать вывод. В этом случае я подключил его к A0, чтобы получить значения от самой Arduino.
  • На другом конце модуля у вас будут входы в этом случае, это C0-C10, которые вы можете подключать к своим устройствам.

После подключения код Arduino может быть простым. В Скетч Arduino IDE как мультиплексор Это может быть следующее (этот код будет только выключать и включать их каналы соответственно, но вы можете изменить его, чтобы сделать проект, который хотите):

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);
   }
}

Если вы хотите использовать его как DEMUX, вы должны учитывать только то, что C0-C10 будет выходом, а SIG - входом. Если вы хотите использовать его как демультиплексор, код изменится так:

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);
}

Помните, что вы можете получить больше информации с помощью наших бесплатный курс программирования Arduino.


Комментарий, оставьте свой

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

      Ксавье Ортис сказал

    Привет, я делаю проект, как и я, использую 74hc4067 для входов 16 инфракрасных датчиков препятствий, и каждый датчик включает у меня разные выходные сигналы. Что ж, если бы я мог сделать это с помощью Arduino Mega, но мне нужно использовать 50 инфракрасных датчиков, и каждый из них включает выход, то есть 50 выходов, я думаю использовать несколько 744067 для входов датчиков и tlc5940 для выходов, но в том, что такое программный код, я немного потерялся, заранее спасибо за вашу помощь.