Мултиплекер: све што треба да знате

мултиплексер чип

Un мултиплекор је комбинационо коло које има неколико улаза и један излаз података. Овим је могуће одабрати пролаз само једног од његових улаза да га усмери на излаз. Односно, могли бисте да одаберете са ког улаза ћете узети податке или бит који је на улазу и да занемарите остатак улаза. Ово је врло често у електроници када неколико веза треба да дели једну линију или магистралу.

Односно, контролом мултиплексера који можете одаберите одговарајући улаз у сваком тренутку. Шта омогућава да упркос томе што имате само једну везу, можете истовремено радити са више улазних уређаја, а да они не ометају једни друге. Такође, требали бисте знати да се демултиплексер обично користи заједно са мултиплексером у многим пројектима ...

Шта је мултиплексер?

мултиплекор

Ове комбинационе услуге тзв мултиплексери обично нису сложени. Састоје се од неколико логичких врата, у зависности од њихове количине уноса података, а контрола би могла повећати сложеност. Обично укључују 2n улази и један излаз, као и контролне линије. А неколико њих можете користити у комбинацији да бисте повећали тај број доступних карата.

Може се схватити као селектор. На пример, замислите да имате врло једноставан са два улаза, најједноставнији који се може направити. То коло ће имати један управљачки улаз и излаз. Ако су улази А и Б, помоћу контролног улаза можете да контролишете да ли је А тај који прослеђује своју вредност на излаз С или је Б тај који то ради. Да бисте то урадили, морате само да промените вредност контролне линије Ц. На пример, ако је Ц = 0, то ће бити А, а ако је Ц = 1 то ће бити Б.

Као што ћете схватити, ако буде више улаза, биће потребно више контролни улази за избор. У ствари, мултиплексер је посебна врста декодера, са омогућеним сигналом за сваку укључену капију АНД и ИЛИ капијом између излаза и капија АНД. На тај начин се може лако одабрати.

Што се тиче његових апликација, можете их користити за мноштво ствари:

  • Бирач улаза за дељење једне магистрале или линије када имате више улаза.
  • Серијализатор тако да узима вредност сваког од својих улаза по редоследу.
  • За мултиплексирани пренос користећи исте везе за различите податке са различитих уређаја. На пример, замислите да желите да користите исти дата пин микроконтролера за повезивање неколико излаза уређаја, али да информације може да шаље само један по један ...
  • Извршите логичке функције итд.

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

У зависности од начина на који се врши подела преноса, постоје различити типови мултиплексери или мултиплексирање:

  • Подјелом фреквенције
  • Подјелом времена
  • Подјелом кода
  • Подјелом на таласна дужина

Као што можете да замислите, њима се управља фреквенцијом, временом сатом, бинарним кодом и таласном дужином. Али овде ме занимају само конвенционални ...

Поред типова, као и код демултиплексера, можете га пронаћи и са мање или више канала 2, 4, 8, 16 итд., У зависности од тога шта вам треба за ваше „уради сам“ пројекте.

Разлике са демултиплексером

демултиплекер

У дигиталној електроници постоји демултиплекер, комбинационо коло које је антагонист мултиплексера. У овом случају постојаће само један улаз података, али се он може пренети кроз различите излазе. Другим речима, у овом случају, управљачки сигнали ће одлучити на који излаз се преносе улазни подаци.

Si повежете демултиплексер на излаз мултиплексера, можете имати врло користан систем за учење како раде оба уређаја.

Где купити?

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

Ови уређаји се обично примењују у дип чипс врло једноставна. Можете их наћи у широком спектру марки и са бројним улазима или излазима у случају да сте демултиплексер. Поред тога, лако се могу наћи у разним специјализованим медијима или на Интернет продавницама. Ако сте заинтересовани за куповину по повољној цени, ово могу бити добри примери за почетак пројеката:

Саветујем вам да прочитате табеле података од њихових произвођача како би стекли јасну представу о њима пиноут, јер се они могу разликовати у зависности од произвођача или врсте коју сте купили.

цд74хц4067

Поред тога, као што видите, постоје и врло добри модули који вам омогућавају да оба уређаја имате у једном. Случај је познати ЦД74ХЦ4067, мали модул са ТТЛ технологијом који вам може помоћи да радите са својих 16 банана у двосмерном начину, коришћењем МУКС / ДЕМУКС-а. Односно, можете га користити као неку врсту паметног прекидача.

Дакле, ваш Ардуино може читати и писати до 16 различитих уређаја са само 5 пинова, од којих 4 за контролу и додатни за прикупљање сигнала који је предвиђен за читање или писање према изабраном каналу.

Добра ствар овог чипа је то ради и са дигиталним и са аналогним сигналима, па је компатибилан са многим сензорима који раде на аналогним и другим дигиталним чиповима, као и са мноштвом различитих електронских елемената. Даје велику свестраност. Због тога су познати и као И / О проширивачи или улазно-излазни појачавачи ...

Можете га чак користити комуникација преко серијског порта, аутобус И2Ц или СПИ, о чему смо већ говорили у другим приликама.

Наравно, пре него што радите са њим, морате се побринути за то задовољавају напоне и струје која признаје ово коло како га не би оштетила. На пример, у овом случају може пружити до 20 мА, као и напон од 2 до 6в. Међутим, ако желите да радите са већим струјама могао би ти користити релеј или преко транзистора.

Интеграција са Ардуином

Ардуино са Блуетоотх-ом

Форма имате више улаза на Ардуино плочи или више излаза, је употреба ових мултиплексера и демултиплексера. Помоћу њих ћете избећи да купујете плочу скупље цене са више пинова или да користите друге трикове да бисте повезали све што вам треба.

На пример, можете да користите МУКС и ДЕМУКС модул да бисте могли да имате оба у једном елементу, а затим их на једноставан начин интегришите у свој пројекат са Ардуином. Са ЦД74ХЦ4067 можете га врло лако повезати, па морате следити следећа правила:

  • Вцц чипа МУКС / ДЕМУКС морате га повезати са Вцц Ардуино или 5В.
  • ГНД, тло, морате га повезати са ГНД-ом Ардуина.
  • Игле означене са С0, С1, С2, С3 су оне које контролишу активни канал, са четири Ардуино дигитална И / О, као што су Д8, Д9, Д10 и Д11.
  • ЕН такође омогућава, тако да ради као мултиплексер, можете га повезати са ГНД-ом Ардуина.
  • А СИГ је излазни сигнал који ће одредити изабрани канал. Може се повезати са Ардуином или са било којим уређајем који треба да очитава излаз. У овом случају сам га повезао са А0 да бих добио вредности из самог Ардуина.
  • На другом крају модула имаћете улазе у овом случају, а то су Ц0-Ц10 које можете повезати са својим уређајима.

Једном повезан, Ардуино код може бити једноставан. Тхе Ардуино ИДЕ скица као мултиплексер То може бити следеће (овај код ће искључити и укључити само њихове канале, али можете га изменити да направите пројекат који желите):

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

Ако желите да га користите као ДЕМУКС, требало би само да узмете у обзир да би Ц0-Ц10 били излази, а СИГ улаз. У случају да желите користите га као демултиплексер, код би се променио овако:

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

Имајте на уму да више информација можете добити уз помоћ нашег бесплатни курс за програмирање Ардуино.


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

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

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   Ксавиер Ортиз дијо

    Здраво, радим пројекат, ствар коју користим да користим 74хц4067 за улазе 16 инфрацрвених сензора препрека и да ме сваки сензор укључује на други излаз. Па, ако бих могао са ардуино мега, али морам да користим 50 инфрацрвених сензора и да сваки укључи излаз, односно 50 излаза, размишљам о употреби неколико 744067 за улазе сензора и тлц5940 за излазе, али у чему је програмски код, помало сам се изгубио, унапред хвала на помоћи.