Мультыплексэр: усё, што вам трэба ведаць

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

Un мультыплектар гэта камбінацыйная схема, якая мае некалькі ўваходаў і адзін выхад дадзеных. З дапамогай гэтага можна выбраць праход толькі аднаго з яго ўваходаў, каб накіроўваць яго да выхаду. Гэта значыць, вы можаце выбраць, з якога ўваходу браць дадзеныя або біт, якія знаходзяцца на ўваходзе, і ігнараваць астатнія ўваходы. Гэта вельмі часта сустракаецца ў электроніцы, калі некалькі злучэнняў павінны мець агульную лінію або шыну.

Гэта значыць, кіруючы мультыплексарам, вы можаце ўвесь час выбірайце адпаведны ўвод. Што робіць магчымым, што, нягледзячы на ​​адно падключэнне, вы можаце працаваць адначасова з некалькімі прыладамі ўводу, не перашкаджаючы адзін аднаму. Акрамя таго, вы павінны ведаць, што дэмультыплексэр звычайна выкарыстоўваецца разам з мультыплексарам у многіх праектах ...

Што такое мультыплексэр?

мультыплектар

Гэтыя камбінацыйныя службы называюць мультыплексары яны звычайна не складаныя. Яны складаюцца з некалькіх лагічных шлюзаў у залежнасці ад іх колькасці ўводу дадзеных, і кіраванне можа павялічыць складанасць. Звычайна яны ўключаюць 2n ўваходы і адзін выхад, а таксама лініі кіравання. І некалькі з іх можна выкарыстоўваць у спалучэнні, каб павялічыць колькасць даступных квіткоў.

Гэта можна зразумець як селектар. Напрыклад, уявіце, у вас вельмі просты з двума ўваходамі, самы просты, які можна пабудаваць. Гэтая схема будзе мець адзіны ўвод і выхад кіравання. Калі ўваходы A і B, з дапамогай кантрольнага ўводу можна кантраляваць, калі гэта A перадае яго значэнне на выхад S, ці гэта робіць B. Для гэтага вам проста трэба змяніць значэнне лініі кіравання С. Напрыклад, калі C = 0, гэта будзе A, а калі C = 1, гэта будзе B.

Як вы зразумееце, калі будзе больш уваходаў, спатрэбіцца больш кантрольныя ўваходы для адбору. На самай справе, мультыплексэр - гэта асаблівы тып дэкодэра, з сігналам уключэння для кожнага ўключанага І-варота і АБО-шлюзам паміж выхадам і І-варотамі. Такім чынам яго можна лёгка выбраць.

Што тычыцца яго прыкладанняў, вы можаце ім карыстацца для мноства рэчаў:

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

Тыпы мультыплексараў

У залежнасці ад спосабу падзелу перадачы існуюць розныя тыпы мультыплексары або мультыплексаванне:

  • Па дзяленню па частаце
  • Па падзеле часу
  • Шляхам дзялення кода
  • Дзяленнем даўжыня хвалі

Як вы можаце сабе ўявіць, імі кіруюць частата, час - гадзіннік, двайковы код і даўжыня хвалі. Але тут мяне цікавяць толькі звычайныя ...

У дадатак да тыпаў, як і ў демультиплексора, вы можаце знайсці яго і з больш-менш каналаў 2, 4, 8, 16 і г.д., у залежнасці ад таго, што вам трэба для вашых самаробных праектаў.

Адрозненні з дэмультыплексарам

дэмультыплексэр

У лічбавай электроніцы ёсць дэмультыплексэр, камбінацыйная схема, якая з'яўляецца антаганістам мультыплексара. У гэтым выпадку інфармацыйны ўвод будзе толькі адзін, але ён можа быць перададзены праз розныя выхады. Іншымі словамі, у гэтым выпадку гэта будзе вырашацца з дапамогай кіруючых сігналаў, на выхад якіх перадаюцца ўваходныя дадзеныя.

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 можа быць простым. Эскіз IDE Arduino ў якасці мультыплексара Гэта можа быць наступным (гэты код выключыць і ўключыць іх каналы адпаведна, але вы можаце змяніць яго, каб зрабіць патрэбны вам праект):

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. Правы: у любы час вы можаце абмежаваць, аднавіць і выдаліць сваю інфармацыю.

  1.   Ксаверый Ортыс сказаў

    Добры дзень, я раблю праект, як я выкарыстоўваю 74hc4067 для ўваходу 16 інфрачырвоных датчыкаў перашкод, і кожны датчык уключае мяне ў іншы выхад. Ну, калі б я мог зрабіць гэта з arduino mega, але мне трэба выкарыстоўваць 50 інфрачырвоных датчыкаў і кожны з іх уключае выхад, гэта значыць 50 выхадаў, я думаю выкарыстаць некалькі 744067 для ўваходаў датчыкаў і tlc5940 для выхадаў, але ў чым заключаецца праграмны код, я крыху згубіўся, загадзя дзякуй за дапамогу.