den logiske porte er grundlaget for digital elektronik. Af denne grund er de meget vigtige, og hvis du vil begynde at arbejde med dem, bør du vide, hvad de er, hvordan de er sammensat og deres funktion. Så du kan bruge den serie af chips, der findes på markedet, som har denne type døre, så du kan begynde at lave dine egne projekter, der arbejder med denne logik.
Disse døre, kombineret med andre Elektroniske komponenter, og endda med plader som Arduino, de kan give en masse spil til skabere som du selv kan se.
Hvad er logiske porte?
den logiske porte de er grundlæggende elementer i digital logik til implementering af digitale elektroniske kredsløb. Disse porte giver signaler med lav (0) eller høj (1) spænding ved deres udgang afhængigt af deres inputs tilstand. De har generelt én udgang og to indgange, men der kan være døre med mere end 2 indgange. Derudover er der særegenheder såsom den inverterende gate eller NOT, den har kun én indgang og én udgang.
Takket være disse booleske input og output kan du få elementære binære logiske operationer, såsom addition, multiplikation, negation osv.
Hvordan implementeres de?
Logiske porte kan ikke kun implementeres på én måde. Det er faktisk derfor, der er forskellige logiske familier. Hver af disse familier vil implementere porten på én måde ved at bruge forskellige elektroniske komponenter.
Ved ejemploHvis TTL bruges til chippen, vil gates bestå af bipolære transistorer, mens CMOS-logikken udelukkende er baseret på MOSFET-transistorer. Udover disse to familier, som normalt er de mest populære, er der også andre som BiCMOS (kombinerer bipolære og CMOS transistorer), RTL (modstande og bipolære transistorer), DTL (dioder og transistorer), ECL, IIL mv.
Der er ikke én familie meget bedre end en anden, det vil afhænge af applikationen. Men ikke desto mindre, CMOS Det er en af de mest brugte i avancerede kredsløb, såsom CPU, MCU, GPU, hukommelse osv. For andre enklere kredsløb er det også almindeligt at finde TTL.
applikationer
Anvendelserne af disse logiske porte er uendelige. Med disse essentielle "klodser" kan du bygge mange digitale kredsløb. Fra en simpel adder, til en kompleks CPU, gennem mange andre kredsløb, som du kan forestille dig. Faktisk har mange af de systemer, du bruger hver dag, såsom din pc, dit tv, mobil osv., milliarder af logiske porte.
Un praktisk eksempel af anvendelsen af logiske porte ville være denne enkle adder, som du kan se på billedet ovenfor. Det er et meget simpelt kredsløb, som er i stand til at tilføje to bits (A og B) i sine input for at give Sum-resultatet, og også Carry, det vil sige, hvad du tager væk ... Du kan se resultaterne, det ville angiv i følgende tabel:
A | B | Sum | Carry | Binært resultat |
---|---|---|---|---|
0 | 0 | 0 | 0 | 00 |
0 | 1 | 1 | 0 | 01 |
1 | 0 | 1 | 0 | 01 |
1 | 1 | 0 | 1 | 10 |
Hvis du ser på denne tabel, hvis du tilføjer 0 + 0 i binært, giver det dig 0, hvis du tilføjer 1 + 0 er det 1, men hvis du tilføjer 1 + 1 ville det give 2, hvilket i binært system svarer til 10.
Typer af logiske porte
Hvad angår typer af logiske porte, du har en god del af dem, selvom de mest brugte er følgende (med deres sandhedstabeller):
- Buffer (Ja): det er kendt som buffer eller direkte gate, da dets output vil have samme tilstand som dets input. Selvom det kan virke ubrugeligt, bruges det i mange logiske kredsløb ofte som en strømforstærker eller som en spændingsfølger.
adgang | udgang |
---|---|
0 | 0 |
1 | 1 |
- IKKE (inverter): er den logiske negation (¬ o '), det vil sige, at den inverterer bit ved sin output.
adgang | udgang |
---|---|
0 | 1 |
1 | 0 |
- OG (Y): denne anden port udfører en produktfunktion (·) af de binære bits af dens input. Det vil sige, det ville være som at gange A og B. Derfor er alt med nul nul, det ville kun give én til dets output, hvis begge input er 1. Deraf navnet 1 OG 1.
A | B | S |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
- GULD): denne anden port udfører en logisk additionsoperation (+). Det vil sige, enten den ene udgang ELLER den anden, ELLER begge skal være på 1 for at dens udgang er 1. Når begge er 0, er udgangen også 0.
A | B | S |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
- XOR (eller eksklusiv): Denne eksklusive OR udfører den boolske funktion A'B + AB ', og dens symbol er
. I dette tilfælde, hvis dens to indgange er ens, er outputtet 0. Hvis de er forskellige, vil det være 1.
A | B | S |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
- NAND (Y negeret): er det negerede logiske produkt, det vil sige det omvendte af AND. Det er som at bruge en NOT på AND-output til at invertere output-bits. Derfor er resultaterne:
A | B | S |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
- NOR (eller afvist): den negerede logiske sum, eller hvad der er det samme, en OR med dens negerede output, hvilket resulterer i den inverse af OR.
A | B | S |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
- XNOR (eksklusiv NOR): det er som at anvende det binære komplement til en XOR-port. Det vil sige, udfør AB + A'B 'operationen. A gange B tilføjet til A gange B nægtet. Derfor vil udgangene være som dem for den inverterede XOR:
A | B | S |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Både NOR og NAND er to af de mest interessante porte, da de er kendt som universelle logiske porte. Det vil sige, du kan kun lave kredsløb med dem til at repræsentere enhver anden type logisk port. Dette er vigtigt, da hvis du køber chips med disse låger, kan du have alle funktionerne. For eksempel, hvis de to input af en NOR er brokoblet, eller en NAND svarer til en NOT. Du har flere ækvivalenter her:
Te jeg rådgiverFor at lære mere, Google et simpelt kredsløb med alle porte. Og for at finde ud af, hvad det gør, lav en slags "reverse engineering", følg linjerne for input og output og se status for hver linje i henhold til de input, der er givet til output.
Ved ejemploHvis du ser på billedet ovenfor, ækvivalensdiagrammet for en OR med NAND-porte, vil du se, at den består af to NAND-gates med deres output brokoblet, og begge udgange går til en anden NAND. Husk følgende:
- Hvis du går til NAND-sandhedstabellen, vil du se, at når dens to input er 0, er outputtet 1, og når dets to input er 1, er outputtet 0.
- Da de er brokoblet, hvis input er 1 (man indtaster begge), er resultatet 0. Og når input er 0 (begge nul), vil output være 1, hvilket svarer til en NOT.
- Derfor har vi to NOT'er for bit A og B. Ved deres output vil vi derfor have A 'og B'.
- Disse to negationer går ind i den sidste NAND, som vil udføre et omvendt logisk produkt af disse to bits.
- Ifølge logikkens love svarer dette til den direkte sum, det vil sige A + B. Derfor vil det endelige resultat være, som om det var en OR ...
Logic Gate Chip Series - Hvor kan man købe
I butikker specialiseret i elektronik kan du køb billige chips med logiske porte til at begynde at bruge i dine projekter. Disse chips er ikke en enkelt logisk gate, men de giver dig mulighed for at have flere af dem, så du kan forbinde deres input og output efter behov. For eksempel kan du i diagrammet på billedet ovenfor se en typisk pinout af en DIP-chip med 4 NAND-gates. Derudover har den også to ben til strøm (Vcc og GND).
Her er nogle købsanbefalinger:
- Ingen produkter fundet..
- Huaban: 30-chip sæt med universelle NAND-porte.
- Zebulon: 120 CMOS-chipsæt.
Andre ressourcer
For at lære mere om, hvordan man implementerer disse porte, og hvordan man begynder at skabe kredsløb med dem, kan du gøre brug af disse En anden ressource hvad anbefaler jeg:
- SimulIDE software at kunne simulere driften af disse kredsløb med porte. Det er gratis, open source og på tværs af platforme.
- Online binær lommeregner (Du kan også bruge dit operativsystems lommeregner i binær tilstand).
- Ingen produkter fundet..
- Digital Logic Circuits Book: fra design til eksperiment.
Digital logik med Arduino
Anden ressource hvad har du i hænderne, hvis du allerede har en tallerken Arduino UNO i dine hænder er brug Arduino IDE til at lave skitser der simulerer disse logiske funktioner for for eksempel at se resultatet på en mere visuel måde med en LED, der simulerer dørens output. For eksempel ved at sætte en LED på ben 7 og bruge 8 og 9 som input A og B:
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); }
Her er der brugt en AND (&) funktion, som du kan se, men du kan erstatte den kodelinje under // AND linjen med andre, du kan bruge andre logiske funktioner:
//OR pinOutState = pinAState | pinBState; //NOT pinOutState = !pinAState; //XOR pinOutState = pinAState ^ pinBState; //NAND pinOutState = !(pinAState & pinBState); //NOR pinOutState = !(pinAState | pinBState); //XNOR pinOutState = !(pinAState ^ pinBState);