Elettronica digitale
L'elettronica digitale è quella branca dell'elettronica che si occupa di gestire ed elaborare informazioni di tipo digitale.
Il termine digitale deriva dal termine inglese digit (cifra), per il fatto che i calcolatori elettronici operano mediante l'elaborazione di quantità numeriche elementari, i bit. Il termine è una contrazione della parola inglese digit, che significa cifra/numero; questo termine - a sua volta - deriva dal latino digitus che, nell'italiano corrente, viene tradotto con numero, per questo motivo viene definita anche impropriamente elettronica numerica.
Indice
1 Cenni storici
2 Concetti chiave
2.1 Segnali logici
2.2 Perché si preferisce l'elettronica digitale a quella analogica
3 I livelli di astrazione
3.1 Livello di sistema
3.2 Livello architetturale
3.3 Livello logico
3.3.1 Reti combinatorie
3.3.1.1 Componenti combinatori standard
3.3.2 Reti sequenziali
3.3.2.1 Componenti sequenziali standard
3.4 Livello circuitale
3.4.1 Scale d'integrazione
3.5 Livello di layout
4 Voci correlate
5 Altri progetti
6 Collegamenti esterni
Cenni storici |
L'elettronica digitale ebbe praticamente inizio nel 1946 con un calcolatore elettronico digitale chiamato ENIAC, realizzato con circuiti a valvole. Tuttavia, l'idea che sta alla base di un computer digitale può risalire a Charles Babbage che costruì un dispositivo meccanico di calcolo.
Il primo computer digitale venne costruito nel 1944 alla Harvard University, ma era ancora di tipo elettromeccanico, non elettronico. Anche se per molti anni il digitale rimase nel settore dei computer, oggi le tecniche digitali trovano impiego in moltissime aree, dalla telefonia, all'elaborazione dei dati, dal radar, ai sistemi militari, dagli strumenti di uso medico, fino a prodotti di ampio mercato.
A partire dalla fine del XX secolo ultimi anni la tecnologia digitale ha fatto grandi passi, evolvendosi dalle valvole, ai circuiti integrati e ai microprocessori. Inoltre è entrata anche nel sistema televisivo con il digitale terrestre.
Concetti chiave |
L'elettronica digitale ha a che fare con circuiti e sistemi che agiscono sfruttando due possibili stati di funzionamento; ad esempio due livelli di tensione, oppure due diversi livelli di corrente.
Nei sistemi digitali i due diversi stati servono a rappresentare numeri, simboli, caratteri e altre informazioni. Nei sistemi numerici a due stati, detti sistemi binari, le due cifre sono 1 e 0 e
ciascuna di esse costituisce ciò che viene appunto chiamato bit.
Segnali logici |
Come si vede in figura un segnale analogico può assumere, in un determinato istante di tempo, tutti i valori continui appartenenti ad un certo intervallo di R. Un segnale digitale invece può assumere solo determinati valori, ad esempio uno alto e uno basso come nella figura a lato che riporta un segnale binario. La differenza fondamentale tra i due tipi di segnale è che mentre nei segnali analogici l'informazione è contenuta nella "forma" stessa del segnale, nei segnali digitali l'informazione da elaborare è codificata in serie di simboli (1 e 0). La forma del segnale quindi non ha importanza, basta che sia possibile discernere in ogni istante a quale valore logico corrisponde il segnale.
Anche un segnale digitale è fisicamente un segnale analogico. L'onda quadra perfetta mostrata in figura è in realtà un'idealizzazione matematica che nella realtà non esiste poiché il rumore la farà "fluttuare". Inoltre è fisicamente impossibile (dalla relatività speciale) che le transizioni da uno stato fisico (o valore logico) all'altro siano istantanee ovvero con velocità di transizione infinita. Tuttavia quello che conta è che le fluttuazioni si mantengano entro un certo margine, in modo che non si perda l'informazione ovvero si evidenzino due diversi stati fisici possibili (alto e basso) su cui costruire la logica binaria d'interesse (ad es. l'Algebra di Boole).
Perché si preferisce l'elettronica digitale a quella analogica |
Come detto in precedenza i segnali digitali sono anch'essi in realtà dei segnali analogici, ma ad essi sono assegnati solo 2 livelli logici che il segnale può assumere. Tutti i segnali sono soggetti al rumore che può alterarne i valori, ma una caratteristica che distingue i circuiti digitali da quelli analogici è l'alta capacità di reiezione ai disturbi che però, come detto prima, devono mantenersi entro un certo margine. Questa caratteristica è dovuta ad una proprietà intrinseca dei circuiti digitali che è quella di ripristino dei livelli logici 1 e 0 dei segnali che li attraversano pur distorto da rumore o effetti inattesi.
L'operazione di ripristino è effettuata utilizzando un circuito con funzione di trasferimento a soglia: al di sopra della soglia viene riconosciuto il bit alto, al di sotto il bit basso; in questo modo un segnale inizialmente distorto in ingresso nel passaggio attraverso questo circuito, detto interfaccia o buffer, viene ripristinato ai suoi livelli logici primitivi.
L'elemento base dell'elettronica Digitale è l'invertitore, che oltre a godere della proprietà di ripristono dei livelli logici, implementa la funzione logica NOT di negazione. Tramite questa configurazione, e opportune modifiche circuitali ad essa, è possibile realizzare le funzioni base dell'algebra booleana ed implementare, quindi, tutte le porte e le funzioni logiche.
Nelle trasmissioni digitali inoltre l'introduzione di tecniche di codifica/decodifica di canale, possibili solo per segnali digitali, migliora ulteriormente le prestazioni rispetto agli errori. Inoltre nelle stesse trasmissioni tecniche di codifica/decodifica di sorgente riescono ad diminuire la ridondanza del messaggio informativo a vantaggio della compressione di banda.
I livelli di astrazione |
Un sistema elettronico digitale può essere visto a diversi livelli di astrazione.
- A livello di sistema è noto ciò che il sistema deve fare ma non la sua struttura fisica. Il sistema è composto da vari elementi di processo (processing elements) che interagiscono tra di loro (utilizzando protocolli di comunicazione). A questo livello un linguaggio formale per descrivere i sistemi è il SystemC: una serie di librerie C++ open source per la modellazione e simulazione di sistemi elettronici HW/SW (https://web.archive.org/web/20081006172519/http://systemc.org/).
- A livello architetturale il sistema elettronico è un insieme di componenti più o meno standard (registri, ALU, multiplexer) connessi fra di loro. A questo livello si utilizzano linguaggi detti HDL (hardware description language) come il VHDL o il Verilog.
- A livello logico ogni componente dell'architettura è una rete logica che svolge il compito previsto. Una rete logica è un insieme di connessioni di porte logiche (AND, OR, XOR NOT ecc).
- A livello circuitale ogni porta logica viene realizzata tramite un circuito (il cui elemento base è il transistor). Si possono avere vari stili di realizzazione delle porte logiche a seconda del tipo di transistori che vengono usati.
- Il livello più basso è il livello di layout in cui vengono specificate nel dettaglio le dimensioni di ogni singolo transistor, e di ogni connessione.
Livello di sistema |
.mw-parser-output .vedi-anche{border:1px solid #CCC;font-size:95%;margin-bottom:.5em}.mw-parser-output .vedi-anche td:first-child{padding:0 .5em}.mw-parser-output .vedi-anche td:last-child{width:100%}
Livello architetturale |
Livello logico |
Si distinguono due categorie di reti logiche: reti combinatorie e reti sequenziali. Le reti combinatorie sono reti per cui le uscite dipendono solo dagli ingressi. Le reti sequenziali sono invece reti per cui le uscite dipendono sia dagli ingressi che dalla "storia" del sistema. Il sistema ha uno stato, che è un elemento di memoria e tiene conto dell'evoluzione passata del sistema.
Reti combinatorie |
A | B | C | X | Y |
---|---|---|---|---|
0 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 1 | 1 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 0 | 1 |
Funzione logica a 3 ingressi e 2 uscite |
Si vogliono sintetizzare delle funzioni logiche. Utilizzando un linguaggio informale, le funzioni logiche sono delle funzioni matematiche aventi come "ingressi" e come "uscite" dei segnali logici. Le funzioni logiche possono essere espresse mediante le tavole di verità.
Esiste un teorema (teorema di Shannon) abbastanza intuitivo che permette di affermare che qualsiasi funzione logica può essere espressa come somma di prodotti degli ingressi, intendendo per somma l'operazione logica elementare OR e con prodotto l'operazione logica AND.
Ad esempio in figura basta vedere le combinazioni di ingressi per cui si ha Y=1:
Y=(not(A))∗(not(B))∗(not(C))+(not(A)∗B∗(not(C))+(not(A)∗B∗C)+(A∗(not(B))∗C)+(A∗B∗not(C))+(A∗B∗C){displaystyle Y=(not(A))*(not(B))*(not(C))+(not(A)*B*(not(C))+(not(A)*B*C)+(A*(not(B))*C)+(A*B*not(C))+(A*B*C)}
È possibile quindi ridurre funzioni logiche complesse a combinazioni di funzioni logiche elementari.
Esistono poi dei metodi (ad esempio basati sulla Mappa di Karnaugh) che permettono di minimizzare questa scomposizione, in modo da avere una rete logica più semplice possibile.
Questo tipo di sintesi si chiama AND-OR.
Per le leggi di De Morgan, è possibile fare sintesi OR-AND, NAND NAND ecc.
Componenti combinatori standard |
- encoder
- decoder
- multiplexer / demultiplexer
- parity checker
- majority gate
- full-adder
- half-adder
- comparatore
- Arithmetic Logic Unit
- Amplificatore tri-state
Reti sequenziali |
Le reti sequenziali possono essere realizzate dalle cosiddette macchine a stati. La struttura più semplice delle macchine a stati è quella delle macchine a stati di Moore. Queste sono composte da una rete combinatoria, seguita da un registro seguito da un'altra rete combinatoria. La prima rete combinatoria oltre agli ingressi esterni, ha come ingressi le uscite del registro: si realizza così una retroazione. La macchina a stati è quindi un sistema le cui uscite dipendono sia dagli ingressi sia dallo stato del sistema stesso (rappresentato dal registro). Le reti sequenziali rappresentano quindi dispositivi con memoria. Essi sono costituiti da una opportuna combinazione di un circuito a logica combinatoria e una memoria. La memoria può essere dotata di un ingresso di clock o meno. Nel caso il clock sia presente la rete è un dispositivo sincrono. Viceversa è un dispositivo asincrono.
Componenti sequenziali standard |
latch (ne esistono di vari tipi tipo-D, tipo-SR)
flip-flop (tipo-D, tipo-SR, tipo-JK, tipo-T)- contatore
- registro a scorrimento
Livello circuitale |
Scale d'integrazione |
La necessità di creare funzioni logiche sempre più elaborate in spazi sempre più ridotti ha portato alla realizzazione dei circuiti integrati (IC = Integrated Circuits). Si tratta di circuiti complessi, che svolgono le funzioni elettriche di molti componenti discreti (in massima parte resistori, diodi e transistor), realizzati su singole piastrine di silicio.
In relazione al livello di integrazione è possibile fare la seguente classificazione:
piccola scala di integrazione SSI (Small Scale Integration), se il numero di porte logiche è inferiore a 12 e non sono presenti più di 100 transistor;
media scala di integrazione MSI (Medium Scale Integration), se il numero di porte logiche è compreso tra 12 e 100 e non sono presenti più di 1000 transistor;
larga scala di integrazione LSI (Large Scale Integration), tra le 100 e le 1000 porte e fino a 10000 transistor;
molto larga scala di integrazione VLSI (Very Large Scale Integration), oltre le 1000 porte e più di 100000 transistor.
Attualmente si considera anche la ULSI (Ultra Large Scale Integration) per gli integrati con più di 10000 porte.
Per integrati non digitali la scala d'integrazione è valutata considerando situazioni circuitali di complessità equivalente a quelle delle porte logiche.
Questi dispositivi integrati sono realizzati in contenitori di diverso tipo, in relazione alle diverse esigenze.
Livello di layout |
Voci correlate |
- Circuito digitale
- Elettronica
- Elettronica analogica
- Sistemi digitali
- Sistema embedded
Altri progetti |
Altri progetti
- Wikimedia Commons
Wikimedia Commons contiene immagini o altri file su Elettronica digitale
Collegamenti esterni |
Elettronica digitale, su thes.bncf.firenze.sbn.it, Biblioteca Nazionale Centrale di Firenze.
.mw-parser-output .navbox{border:1px solid #aaa;clear:both;margin:auto;padding:2px;width:100%}.mw-parser-output .navbox th{padding-left:1em;padding-right:1em;text-align:center}.mw-parser-output .navbox>tbody>tr:first-child>th{background:#ccf;font-size:90%;width:100%}.mw-parser-output .navbox_navbar{float:left;margin:0;padding:0 10px 0 0;text-align:left;width:6em}.mw-parser-output .navbox_title{font-size:110%}.mw-parser-output .navbox_abovebelow{background:#ddf;font-size:90%;font-weight:normal}.mw-parser-output .navbox_group{background:#ddf;font-size:90%;padding:0 10px;white-space:nowrap}.mw-parser-output .navbox_list{font-size:90%;width:100%}.mw-parser-output .navbox_odd{background:#fdfdfd}.mw-parser-output .navbox_even{background:#f7f7f7}.mw-parser-output .navbox_center{text-align:center}.mw-parser-output .navbox .navbox_image{padding-left:7px;vertical-align:middle;width:0}.mw-parser-output .navbox+.navbox{margin-top:-1px}.mw-parser-output .navbox .mw-collapsible-toggle{font-weight:normal;text-align:right;width:7em}.mw-parser-output .subnavbox{margin:-3px;width:100%}.mw-parser-output .subnavbox_group{background:#ddf;padding:0 10px}
.mw-parser-output .CdA{border:1px solid #aaa;width:100%;margin:auto;font-size:90%;padding:2px}.mw-parser-output .CdA th{background-color:#ddddff;font-weight:bold;width:20%}
Controllo di autorità | GND (DE) 4012303-0 |
---|