Le le porte logiche sono la base dell'elettronica digitale. Per questo sono molto importanti, e se vuoi iniziare a lavorare con loro, dovresti sapere cosa sono, come sono costituiti e la loro funzione. Quindi puoi utilizzare la serie di chip esistenti sul mercato che hanno questo tipo di porte in modo da poter iniziare a realizzare i tuoi progetti lavorando con questa logica.
Queste porte, combinate con altre Componenti elettronici, e anche con piatti come Arduino, possono dare molto gioco ai creatori come puoi vedere tu stesso.
Cosa sono le porte logiche?
Le porte logiche sono elementi fondamentali della logica digitale per la realizzazione di circuiti elettronici digitali. Queste porte forniscono segnali di tensione bassa (0) o alta (1) sulla loro uscita a seconda dello stato dei loro ingressi. Generalmente hanno un'uscita e due ingressi, ma possono esserci porte con più di 2 ingressi. Inoltre ci sono particolarità come la porta invertente o NOT, ha un solo ingresso e un'uscita.
Grazie a questi input e output booleani puoi ottenere operazioni logiche binarie elementaricome addizione, moltiplicazione, negazione, ecc.
Come vengono implementati?
Le porte logiche non possono essere implementate solo in un modo. In effetti, ecco perché ce ne sono diversi famiglie logiche. Ognuna di queste famiglie implementerà il cancello in un modo, utilizzando diversi componenti elettronici.
da ejemploSe per il chip viene utilizzato TTL, le porte saranno costituite da transistor bipolari, mentre la logica CMOS è basata esclusivamente su transistor MOSFET. Oltre a queste due famiglie, che solitamente sono le più diffuse, ne esistono anche altre come BiCMOS (combina transistor bipolari e CMOS), RTL (resistenze e transistor bipolari), DTL (diodi e transistor), ECL, IIL, ecc.
Non c'è una famiglia molto migliore di un'altra, dipenderà dall'applicazione. Ma nonostante, CMOS È uno dei più utilizzati nei circuiti avanzati, come CPU, MCU, GPU, memoria, ecc. Per altri circuiti più semplici è anche comune trovare il TTL.
applicazioni
Le applicazioni di queste porte logiche sono infinite. Con questi "mattoni" essenziali puoi costruire moltitudine di circuiti digitali. Da un semplice sommatore, a una CPU complessa, attraverso molti altri circuiti che puoi immaginare. Infatti, molti dei sistemi che usi ogni giorno, come il tuo PC, la tua TV, il cellulare, ecc., hanno miliardi di porte logiche.
Un esempio pratico di applicazione delle porte logiche sarebbe questo semplice sommatore che puoi vedere nell'immagine sopra. È un circuito molto semplice, che è in grado di aggiungere due bit (A e B) nei suoi ingressi per dare il risultato Sum, e anche il Carry, cioè quello che togli ... Puoi vedere i risultati che avrebbe dare nella seguente tabella:
A | B | Somma | Portare | Risultato binario |
---|---|---|---|---|
0 | 0 | 0 | 0 | 00 |
0 | 1 | 1 | 0 | 01 |
1 | 0 | 1 | 0 | 01 |
1 | 1 | 0 | 1 | 10 |
Se guardi questa tabella, se aggiungi 0 + 0 in binario ti dà 0, se aggiungi 1 + 0 è 1, ma se aggiungi 1 + 1 ti darebbe 2, che nel sistema binario corrisponde a 10.
Tipi di porte logiche
Quanto a tipi di porte logicheNe hai un buon numero, anche se i più usati sono i seguenti (con le loro tabelle di verità):
- Buffer (Sì): è noto come buffer o gate diretto, poiché il suo output avrà lo stesso stato del suo input. Sebbene possa sembrare inutile, in molti circuiti logici viene spesso utilizzato come amplificatore di corrente o come inseguitore di tensione.
Ingresso | Produzione |
---|---|
0 | 0 |
1 | 1 |
- NOT (invertitore): è la negazione logica (¬ o '), cioè inverte il bit alla sua uscita.
Ingresso | Produzione |
---|---|
0 | 1 |
1 | 0 |
- E (Y): quest'altra porta svolge una funzione di prodotto (·) dei bit binari del suo ingresso. Cioè, sarebbe come moltiplicare A e B. Pertanto, qualsiasi cosa per zero è zero, darebbe solo uno al suo output se entrambi gli input sono 1. Da qui il suo nome 1 AND 1.
A | B | S |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
- ORO): quest'altra porta esegue un'operazione di addizione logica (+). Cioè, una delle sue uscite OR l'altra, OR entrambe devono essere a 1 perché la sua uscita sia 1. Quando entrambe sono 0, anche l'uscita è 0.
A | B | S |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
- XOR (o esclusivo): Questo OR esclusivo esegue la funzione booleana A'B + AB ', e il suo simbolo è
. In questo caso, se i suoi due ingressi sono uguali, l'uscita è 0. Se sono diversi, allora sarà 1.
A | B | S |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
- NAND (Y negato): è il prodotto logico negato, cioè l'inverso dell'AND. È come usare un NOT sull'uscita AND per invertire i bit di uscita. Pertanto, i risultati sono:
A | B | S |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
- NOR (o negato): la somma logica negata, o che è lo stesso, un OR con il suo output negato, risultando nell'inverso dell'OR.
A | B | S |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
- XNOR (esclusivo NOR): è come applicare il complemento binario a una porta XOR. Cioè, esegui l'operazione AB + A'B '. A per B sommato ad A per B negato. Pertanto, le uscite saranno come quelle dello XOR invertito:
A | B | S |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Sia NOR che NAND sono due delle porte più interessanti, poiché sono conosciute come porte logiche universali. Cioè, puoi creare circuiti solo con loro per rappresentare qualsiasi altro tipo di porta logica. Questo è importante, poiché se acquisti chip con queste porte, puoi avere tutte le funzioni. Ad esempio, se i due ingressi di un NOR sono ponticellati o una NAND è equivalente a un NOT. Hai più equivalenti qui:
Te io consiglioPer saperne di più, cerca su Google un semplice circuito con qualsiasi porta. E per scoprire cosa fa, fai una sorta di "reverse engineering", segui le linee degli ingressi e delle uscite e vedi lo stato di ogni linea in base agli ingressi dati all'uscita.
da ejemploSe guardi l'immagine sopra, il diagramma di equivalenza di un OR con porte NAND, vedrai che è costituito da due porte NAND con la loro uscita a ponte ed entrambe le uscite vanno a un'altra NAND. Tieni a mente quanto segue:
- Se vai alla tabella della verità NAND, vedrai che quando i suoi due ingressi sono 0 l'uscita è 1 e quando i suoi due ingressi sono 1 l'uscita è 0.
- Poiché sono collegati a ponte, se l'input è 1 (uno entra in entrambi), il risultato è 0. E quando l'input è 0 (entrambi zero), l'output sarà 1, che è equivalente a NOT.
- Pertanto, abbiamo due NOT per i bit A e B. Alla loro uscita avremo quindi A 'e B'.
- Queste due negazioni vanno nell'ultima NAND, che eseguirà un prodotto logico inverso di quei due bit.
- Secondo le leggi della logica, ciò equivale alla somma diretta, cioè A + B. Pertanto, il risultato finale sarà come se fosse un OR...
Logic Gate Chip Series - Dove acquistare
Nei negozi specializzati in elettronica puoi comprare patatine a buon mercato con porte logiche per iniziare a utilizzare nei tuoi progetti. Questi chip non sono un'unica porta logica, ma ti consentono di averne diversi in modo da poter collegare i loro ingressi e uscite in base alle tue esigenze. Ad esempio, nel diagramma nell'immagine sopra puoi vedere un tipico pinout di un chip DIP con 4 porte NAND. Inoltre, ha anche due pin per l'alimentazione (Vcc e GND).
Eccone alcuni consigli per l'acquisto:
- Nessun prodotto trovato..
- Huaban: kit da 30 chip con porte NAND universali.
- Zebulon: kit chip 120 CMOS.
Altre risorse
Per saperne di più su come implementare queste porte e come iniziare a creare circuiti con esse, puoi utilizzare queste Altre risorse cosa ti consiglio:
- Software SimulIDE poter simulare il funzionamento di questi circuiti con porte. È gratuito, open source e multipiattaforma.
- Calcolatore binario online (Puoi anche usare la calcolatrice del tuo sistema operativo in modalità binaria).
- Nessun prodotto trovato..
- Libro sui circuiti logici digitali: dalla progettazione alla sperimentazione.
Logica digitale con Arduino
Altra risorsa cosa hai tra le mani se l'hai già un piatto Arduino UNO nelle tue mani è usa Arduino IDE per creare schizzi che simulano queste funzioni logiche per, ad esempio, vedere il risultato in modo più visivo con un LED che simula l'uscita della porta. Ad esempio, mettendo un LED sul pin 7 e usando 8 e 9 come ingressi A e 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); }
Qui è stata utilizzata una funzione AND (&), come puoi vedere, ma puoi sostituire quella riga di codice sotto la riga // AND con altre da usare altre funzioni logiche:
//OR pinOutState = pinAState | pinBState; //NOT pinOutState = !pinAState; //XOR pinOutState = pinAState ^ pinBState; //NAND pinOutState = !(pinAState & pinBState); //NOR pinOutState = !(pinAState | pinBState); //XNOR pinOutState = !(pinAState ^ pinBState);