Loginiai vartai: viskas, ką reikia žinoti

loginiai vartai

The loginiai vartai yra skaitmeninės elektronikos pagrindas. Dėl šios priežasties jie yra labai svarbūs, ir jei norite pradėti su jais dirbti, turėtumėte žinoti, kas jie yra, kaip jie sudaryti ir atliekami. Taigi galite naudoti rinkoje esančias lustų serijas, turinčias tokio tipo duris, kad galėtumėte pradėti kurti savo projektus, veikiančius pagal šią logiką.

Šios durys derinamos su kitomis Elektroniniai komponentai, ir net su lėkštėmis kaip Arduino, jie gali suteikti daug žaidimo kūrėjams kaip pats matai.

Kas yra logikos vartai?

skaitmeninės loginės grandinės

The loginiai vartai jie yra pagrindiniai skaitmeninės logikos elementai skaitmeninėms elektroninėms grandinėms įgyvendinti. Šie vartai suteikia žemos (0) arba aukštos (1) įtampos signalus savo išėjime, priklausomai nuo jų įėjimų būsenos. Paprastai jie turi vieną išėjimą ir du įėjimus, tačiau gali būti ir daugiau nei 2 įėjimai. Be to, yra ypatumų, tokių kaip invertuojantys vartai arba NE, jis turi tik vieną įėjimą ir vieną išėjimą.

Dėl šių Būlio įvesties ir išvesties galite gauti elementarios dvejetainės logikos operacijos, pvz., sudėtis, daugyba, neigimas ir kt.

Kaip jie įgyvendinami?

Loginiai vartai gali būti įgyvendinami ne tik vienu būdu. Tiesą sakant, todėl yra įvairių logiškos šeimos. Kiekviena iš šių šeimų vartus įgyvendins vienu būdu, naudodama skirtingus elektroninius komponentus.

Pagal ejemploJei lustui naudojamas TTL, vartai bus sudaryti iš bipolinių tranzistorių, o CMOS logika pagrįsta tik MOSFET tranzistoriais. Be šių dviejų šeimų, kurios dažniausiai yra populiariausios, yra ir kitų, tokių kaip BiCMOS (sujungia dvipolius ir CMOS tranzistorius), RTL (rezistoriai ir bipoliniai tranzistoriai), DTL (diodai ir tranzistoriai), ECL, IIL ir kt.

Nėra vienos šeimos geresnės už kitą, tai priklausys nuo prašymo. Tačiau, CMOS Tai viena iš labiausiai naudojamų pažangiose grandinėse, tokiose kaip CPU, MCU, GPU, atmintis ir kt. Kitoms paprastesnėms grandinėms taip pat įprasta rasti TTL.

programos

paprastas priedas

Šių loginių vartų taikymo sritis yra begalė. Su šiomis esminėmis „plytėmis“ galite statyti daugybė skaitmeninių grandinių. Nuo paprasto sumatoriaus iki sudėtingo procesoriaus, per daugybę kitų grandinių, kurias galite įsivaizduoti. Tiesą sakant, daugelis sistemų, kurias naudojate kiekvieną dieną, pvz., kompiuteris, televizorius, mobilusis telefonas ir kt., turi milijardus loginių užtvarų.

Norint sukurti šias grandines, reikia turėti skaitmeninės logikos, Būlio algebros žinių, gerai išmanyti dvejetainę sistemą, supaprastinti funkcijas ir kt. Visa tai užtektų dar keliems straipsniams, bet būtų įdomu...

Un praktinis pavyzdys loginių vartų pritaikymas būtų šis paprastas papildiklis, kurį galite pamatyti aukščiau esančiame paveikslėlyje. Tai labai paprasta grandinė, kurios įvestis gali pridėti du bitus (A ir B), kad būtų gautas rezultatas, o taip pat Carry, tai yra, ką jūs atimsite ... Galite pamatyti rezultatus, kuriuos ji gautų. pateikti šioje lentelėje:

A B Suma Vežti Dvejetainis rezultatas
0 0 0 0 00
0 1 1 0 01
1 0 1 0 01
1 1 0 1 10

Jei pažvelgsite į šią lentelę, jei pridėsite 0 + 0 dvejetainėje sistemoje, gausite 0, jei pridėsite 1 + 0, tai yra 1, bet jei pridėsite 1 + 1, tai gautų 2, o tai dvejetainėje sistemoje atitinka 10.

Loginių vartų tipai

SIMBOLIAI loginiai vartai

kaip loginių vartų tipai, jūs turite daug jų, nors dažniausiai naudojamos šios (su tiesos lentelėmis):

Kaip matote aukščiau esančiame paveikslėlyje, yra keletas nomenklatūros, vaizduojančios loginius vartus grandinėse. Labiausiai paplitęs yra ANSI (antra eilutė), nors gerai žinoti atitikmenis, kad būtų galima interpretuoti kitas grandines kitais formatais (DIN arba vokiečių, BS arba britų, IEC, NEMA, ...).
  • Buferis (taip): jis žinomas kaip buferis arba tiesioginis užtvaras, nes jo išvesties būsena bus tokia pati kaip ir įvesties. Nors tai gali atrodyti nenaudinga, daugelyje loginių grandinių jis dažnai naudojamas kaip srovės stiprintuvas arba kaip įtampos sekiklis.
Įėjimas Išeiti
0 0
1 1
  • NE (keitiklis): yra loginis neigimas (¬ o '), tai yra, jis apverčia bitą savo išvestyje.
Įėjimas Išeiti
0 1
1 0
  • IR (Y): šie kiti vartai atlieka savo įvesties dvejetainių bitų sandaugos funkciją (·). Tai būtų kaip A ir B padauginimas. Todėl bet kas iš nulio yra lygus nuliui, jis tik suteiktų vienetą savo išėjimui, jei abu įėjimai yra 1. Taigi jo pavadinimas 1 IR 1.
A B S
0 0 0
0 1 0
1 0 0
1 1 1
  • AUKSAS): šie kiti vartai atlieka loginę pridėjimo operaciją (+). Tai reiškia, kad vienas iš jo išėjimų ARBA kitas, ARBA abu turi būti 1, kad jo išvestis būtų 1. Kai abu yra 0, išvestis taip pat yra 0.
A B S
0 0 0
0 1 1
1 0 1
1 1 1
  • XOR (arba išskirtinis): Šis išskirtinis ARBA atlieka Būlio funkciją A'B + AB', o jo simbolis yra

    . Šiuo atveju, jei jos dvi įėjimai yra vienodi, išvestis yra 0. Jei jie skiriasi, tada jis bus 1.

A B S
0 0 0
0 1 1
1 0 1
1 1 0
  • NAND (Y paneigta): yra neigiamas loginis produktas, ty atvirkštinis IR. Tai panašu į NOT naudojimą AND išvestyje, kad apverstumėte išvesties bitus. Taigi rezultatai yra tokie:
A B S
0 0 1
0 1 1
1 0 1
1 1 0
  • NOR (arba atmesta): neigiama loginė suma arba tai, kas yra ta pati, ARBA su jos neigiama išvestimi, todėl gaunama atvirkštinė ARBA.
A B S
0 0 1
0 1 0
1 0 0
1 1 0
  • XNOR (išskirtinis NOR): tai tarsi dvejetainio papildinio taikymas XOR vartams. Tai yra, atlikite AB + A'B operaciją. A kartus B pridėtas prie A kartų B atmestas. Todėl išėjimai bus panašūs į apversto XOR:
A B S
0 0 1
0 1 0
1 0 0
1 1 1

Tiek NOR, tiek NAND yra du įdomiausi vartai, nes jie žinomi kaip universalūs logikos vartai. Tai reiškia, kad grandines galite sudaryti tik su jais, kad būtų atvaizduoti bet kokio kito tipo loginiai vartai. Tai svarbu, nes perkant lustus su šiomis durelėmis, galite turėti visas funkcijas. Pavyzdžiui, jei dvi NOR įvestys yra sujungtos arba NAND yra lygiavertis NOT. Čia rasite daugiau atitikmenų:

lygiavertės durys

Funkcijos: electronics-tutorials.ws

Te as patariuNorėdami sužinoti daugiau, „Google“ suraskite paprastą grandinę su bet kokiais vartais. O norėdami sužinoti, ką tai daro, atlikite savotišką "atvirkštinę inžineriją", sekite įėjimų ir išėjimų eilutes ir pamatysite kiekvienos eilutės būseną pagal išvesties įvestis.

Pagal ejemploJei pažvelgsite į aukščiau esantį paveikslėlį, ARBA su NAND vartais lygiavertiškumo diagramą, pamatysite, kad ją sudaro du NAND vartai, kurių išėjimas sujungtas ir abu išėjimai eina į kitą NAND. Turėkite omenyje šiuos dalykus:

  • Jei eisite į NAND tiesos lentelę, pamatysite, kad kai jos dvi įvestys yra 0, išvestis yra 1, o kai jos dvi įėjimai yra 1, išvestis yra 0.
  • Kadangi jie yra sujungti, jei įvestis yra 1 (vienas įveda abu), rezultatas yra 0. O kai įvestis yra 0 (abu nuliai), išvestis bus 1, o tai atitinka NE.
  • Todėl turime du NE bitams A ir B. Todėl jų išvestyje turėsime A „ir B“.
  • Šie du neigimai patenka į paskutinį NAND, kuris atliks atvirkštinį šių dviejų bitų loginį sandaugą.
  • Pagal logikos dėsnius tai prilygsta tiesioginei sumai, ty A + B. Todėl galutinis rezultatas bus tarsi ARBA...

„Logic Gate“ lustų serija – kur įsigyti

Elektronikos parduotuvėse galite nusipirkti pigių traškučių su loginiais vartais, kuriuos galite pradėti naudoti savo projektuose. Šie lustai nėra vieni loginiai vartai, tačiau jie leidžia jums turėti keletą jų, kad galėtumėte susieti jų įvestis ir išvestis pagal poreikį. Pavyzdžiui, aukščiau esančiame paveikslėlyje esančioje diagramoje galite pamatyti tipišką DIP lusto su 4 NAND vartais išjungimą. Be to, jis taip pat turi du maitinimo kaiščius (Vcc ir GND).

Štai keletas pirkimo rekomendacijos:

Kiti ištekliai

Norėdami sužinoti daugiau apie tai, kaip įdiegti šiuos vartus ir kaip pradėti su jais kurti grandines, galite pasinaudoti šiais Kitas šaltinis ka as rekomenduoju:

Skaitmeninė logika su Arduino

Arduino UNO milis funkcijos

Kitas šaltinis ką turi savo rankose, jei jau turi lėkštė Arduino UNO tavo rankose yra naudokite Arduino IDE, kad sukurtumėte eskizus kurios imituoja šias logines funkcijas, kad, pavyzdžiui, matytumėte rezultatą vizualiau su šviesos diodu, kuris imituoja durų išėjimą. Pavyzdžiui, uždėjus šviesos diodą ant 7 kaiščio ir naudojant 8 ir 9 kaip A ir B įėjimus:

int pinOut = 7;
int pinA = 8;
int pinB = 9;

void setup()
{
pinMode(pinOut, OUTPUT);
pinMode(pinA, INPUT);
pinMode(pinB, INPUT);
}
void loop()
{
boolean pinAState = digitalRead(pinA);
boolean pinBState = digitalRead(pinB);
boolean pinOutState;
//AND
pinOutState =pinAState & pinBState;
digitalWrite(pinOut, pinOutState);
}

Kaip matote, čia buvo naudojama funkcija IR (&), bet galite pakeisti kodo eilutę po eilutėje // AND kitomis, kurias norite naudoti kitos loginės funkcijos:

//OR
pinOutState = pinAState | pinBState;

//NOT
pinOutState = !pinAState;

//XOR
pinOutState = pinAState ^ pinBState;

//NAND
pinOutState = !(pinAState & pinBState);

//NOR
pinOutState = !(pinAState | pinBState);

//XNOR
pinOutState = !(pinAState ^ pinBState);


Būkite pirmas, kuris pakomentuos

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.