tecnica |
|
|||||
CAPITOLO 2
SEGNALI E CIRCUITI LOGICI - Famiglia TTL
Riferendoci a circuiti logici che lavorano fondamentalmente in 2 stati, cerchiamo di capire in che modo si definisce l'1 logico e lo 0 logico, ossia il vero ed il falso.
La grandezza che normalmente si utilizza per individuare uno stato logico, dal punto di vista esterno del componente, è un livello (o una fascia di livelli) di tensione.
Quasi tutti i sistemi logici hanno una sola alimentazione che normalmente è positiva ( 2.1).
L'unica eccezione è la famiglia logica ECL che ha un'alimentazione a -5,3 V; questo logica è però utilizzata per circuiti analogici. Più precisamente, la logica ECL è non saturata, mentre la logica che vedremo noi è saturata.
Se si associa all'1 logico la tensione di alimentazione (Val) e allo 0 logico la tensione di riferimento (DGND), allora si parla di LOGICA POSITIVA; in caso contrario si parla di LOGICA NEGATIVA. Noi, salvo avviso contrario, lavoreremo sempre in logica positiva. Nota: per evitare ambiguità, sui data sheet non compaiono 1 logico e 0 logico, ma H (High) e L (Low), in riferimento al livello di tensione.
|
fascia dell'1 logico LOGICA POSITIVA fascia dello 0 logico |
|
fascia dello 0 logico LOGICA NEGATIVA fascia dell'1 logico |
ATTENZIONE: non bisogna confondere i termini logica positiva e logica negativa con i termini segnale attivo basso e segnale attivo alto; infatti quando un segnale è attivo basso significa che la funzione che questo svolge viene eseguita se sulla linea esiste uno 0 logico:
In . 2.4 è rafurato un esempio di segnale attivo basso.
Tipicamente i segnali più importanti sono
attivi bassi (Interrupt request, Bus request, Reset, ..).
I valori tipici della tensione di alimentazione Val sono i seguenti:
5 V nella stragrande maggioranza dei casi (TTL e CMOS)
15 V tipico dei CMOS della serie 4000 (unici omologati spazio)
3,3 V tensione nuova (1992); logica CMOS a basso livello ditensione (Low Voltage CMOS) per ridurre la potenza.
Oltre ai valori di alimentazione è importante definire le fasce dell'1 e dello 0 logico, in ingresso e in uscita, al fine di permettere la compatibilità (per la tensione) tra i componenti che devono comunicare. In pratica il valore logico in uscita da un componente deve essere riconosciuto dal componente che si trova a valle.
Per esempio consideriamo un INVERTER (elemento in grado di fare la funzione NOT), rappresentato in 2.5.
2.5 A A
Ora mettiamo in cascata 2 inverter alimentandoli con una tensione Ve ed andiamo a misurare la tensione in uscita dal primo inverter, cioé Vu ( 2.6).
|
|
= Valore della tensione di uscita quando in ingresso c'è uno 0 logico
= Valore della tensione di uscita quando in ingresso c'è un 1 logico
= Valore massimo della tensione di entrata per cui l'inverter riconosce uno 0 logico
= Valore minimo della tensione di entrata per cui l'inverter riconosce riconosce un 1 logico
In questo modo si individuano due fasce di riconoscimento:
0 < Vi < |
affinché l'inverter riconosca uno 0 logico, la tensione in ingresso deve essere minore di |
Vi > |
affinché l'inverter riconosca un 1 logico, la tensione in ingresso deve essere maggiore di |
Inoltre, affinché i due inverter possano comunicare, occorre rispettare le seguenti condizioni:
> |
la tensione in uscita dal primo inverter corrispondente all'1 logico deve essere maggiore della sogli di riconoscimento dell'1 logico da parte del secondo inverter |
|
la tensione in uscita dal primo inverter corrispondente allo 0 logico deve essere minore della soglia di riconoscimento dello 0 logico da parte del secondo inverter |
Non tutti i componenti avranno gli stessi identici valori di , , e , quindi le condizioni sopra scritte vanno migliorate in questo modo:
MIN > MAX MIN > MAX Si definiscono: - : margine dell'1 - : margine dello 0 |
|
Per esempio, per la famiglia TTL, abbiamo questi valori:
Le condizioni
che abbiamo visto per la compatibilità delle tensioni NON SONO
SUFFICIENTI. Per esempio, le famiglie TTL e CMOS sono compatibili dal
punto di vista della tensione, ma questo non significa che si possano
utilizzare insieme in un circuito senza badare alle correnti in gioco;
così facendo il circuito non
funzionerebbe. Occorre infatti considerare anche le correnti che i
componenti sono in grado di assorbire e di erogare. |
400 mV |
||
margine dell'1 |
400 mV |
||
|
0,4 V |
||
|
0,8 V |
||
|
2,4 V |
||
|
2 V |
Consideriamo
di nuovo due inverter in cascata ( 2.5), e vediamo le definizioni e le
condizioni da rispettare relative alle correnti. Seguendo la
convenzione dei bipoli, consideriamo positive le correnti entranti negli
inverter, IOL e IIH , e negative le correnti
uscenti, IOH e IIL .
ATTENZIONE: a prima vista si potrebbe subito dire che , IOH = IIH
e , IOL = IIL , ma non
è così, perché la definizioni di queste correnti sono diverse.
IOH : è la corrente che il componente è in grado di erogare rispettando il margine dell'1 logico.
IOL : è la corrente che il componente è in grado di assorbire rispettando il margine dello 0 logico.
IIH : è la corrente che il componente richiede quando ha in ingresso un 1 logico.
IIL : è la corrente che il componente fornisce quando ha in ingresso uno 0 logico.
Devono essere rispettate le seguenti condizioni:
| IOH | > | IIH |
in questo modo il componente a monte è in grado di pilotare il componente a valle
| IOL | > | IIL |
E' possibile calcolare quanti componenti a valle è in grado di pilotare il componente a monte:
FAN OUT = min
NOTA BENE: calcolare il fan out in questo modo ha senso solo in un sistema con componenti della stessa famiglia (e che quindi hanno gli stessi valori di corrente). Altrimenti occorre vedere caso per caso quali componenti collego tra loro e di che quantità di corrente hanno bisogno.
Le caratteristiche di tensione e corrente viste ora sono caratteristiche STATICHE. Altre caratteristiche importanti sono quelle DINAMICHE, cioé relative al tempo, e sono fondamentali per il corretto funzionamento di un circuito.
| Se un segnale varia tra due livelli di tensione (o di corrente) e se chiamiamo D la differenza tra i 2 livelli, allora si definisce tempo di salita il tempo che il segnale impiega per passare da un valore pari a 0.1D a un valore pari a 0.9D, indipendentemente dal modo in cui il segnale sale ( 2.10). Analogamente il tempo di discesa è il tempo che il segnale impiega per passare da un valore pari a 0.9D a un valore pari a 0.1D |
Consideriamo per esempio il circuito di . 2.11b.
2.11b
L'alimentatore V1 eroga una tensione con l'andamento temporale rafurato nel grafico di 2.11a. Noi vogliamo calcolare l'andamento della tensione V2 e il suo tempo di salita. Nel grafico in . 2.12 è rappresentato l'andamento di V1 e di V2.
Scriviamo l'equazione che ci da V2
in funzione del tempo:
Dividendo la seconda equazione per la terza, e chiamando tr = t2 - t1 :
Se chiamo ottengo .
Conoscendo R e C possiamo calcolare il tempo di salita e da questo la massima frequenza che il sistema può sopportare. Per avere un piccolo tempo di salita occorrono resistenze piccole e basse capacità. Ma resistenze piccole significa avere correnti elevate, e dunque potenze elevate. Per avere invece capacità piccole occorre migliorare la tecnologia di costruzione.
La definizione data prima è del tutto generale, mentre questa e quelle che seguono si applicano ai segnali LOGICI.
Consideriamo un
componente logico, per esempio un inverter, con un segnale di entrata Se e
un segnale di uscita Su. Le variazioni di Su seguono le variazioni di Se
con un certo ritardo. Questo ritardo è il tempo di proazione: tp
o td .
Se Su
Con riferimento alla ura 2.13: tpHL: tempo di ritardo della
transizione H L dal punto di
vista dell'USCITA. tpLH: tempo di ritardo della
transizione L H dal punto di
vista dell'USCITA.
DV
|
|
Se
tpHL
|
Se non specificato, si intende .
I tempi di di proazione tpHL e tpLH sono normalmente diversi perché all'interno del componente sono due diversi circuiti a essere coinvolti ( 2.14).
swH aperto, swL
chiuso : U= 0 swH chiuso, swL
aperto : U= 1 Questo circuito rappresenta una semplificazione didattica di uno
stadio finale di un circuito logico reale. Nella transizione 0 1 viene coivolto un circuito logico differente da quello coinvolto
nella transizione 1 0, e
questo spiega i tempi di commutazione differenti.
Oltre al semplice tempo di proazione tp , esistono altri due valori significativi per le famiglie logiche:
Power gate: potenza media consumata per gate
tp P : tempo di proazione per Power gate
Entrambi i valori devono essere il più possibile piccoli.
Supponiamo di avere un circuito con due ingressi, S1 e S2 . Il segnale S2 è un clock e il suo andamento è rafurato in . 2.15a.
Supponiamo
inoltre che il circuito venga attivato ad ogni fronte di salita del clock S2.
L'andamento del segnale S1 è quello mostrato in ura 2.15b. Possiamo
individuare due tempi importanti legati al segnale S1 e alla
temporizzazione tramite S2. Il primo si
chiama tempo di setup, tSU
, ed è il tempo in cui il segnale deve
rimanere stabile prima del fronte di salita che attiva il circuito. Il secondo si
chiama tempo di hold, tH,
e ha due definizioni. Nel caso in cui ci si riferisca ai flip flop, è il
tempo minimo in cui il segnale deve
rimanere stabile dopo il fronte di salita; nel caso in cui ci si riferisca
alle memorie, questo tempo è imposto dalle specifiche, ed è il tempo in cui
il dato viene mantenuto stabile dalla memoria (rivedremo meglio queste
definizioni).
La prima famiglia logica che vediamo è la TTL (Transistor Transistor Logic), famosa e diffusissima, il cui componente base è la porta NAND. Come vedremo, nella famiglia CMOS il componente base è una porta NOR.
I componenti TTL hanno un nome con questo formato:
|
|
x |
x |
x |
N |
N |
N |
|
|
|
x |
x |
x |
N |
N |
N |
|
Il primo nome denota la serie commerciale, il secondo la serie militare. Al posto delle x ci sono due o tre lettere che caratterizzano il tipo di famiglia, mentre al posto delle N c'è un numero progressivo che indica il modello.
nessuna lettera |
è il modello base che ormai non esiste più |
L |
Low Power |
H |
High speed |
S |
Schottky |
LS |
Low Power Schottky |
AS |
Advanced Schottky |
ALS |
Advanced Low Power Schottky |
F |
Fast |
L e H: queste famiglie sono uguali al modello base eccetto che nel valore delle resistenze (10 volte più grandi nel caso della L, 10 volte più piccole nel caso della H)
S, LS: si differenziano come prima per il valore delle resistenze, ma in più e il diodo Schottky
AS, ALS, F: sono circuiti totalmente riprogettati
Analizziamo le caratteristiche dei seguenti modelli: 5400 e 7400.
Note varie dalla lettura dei data sheet:
Il diodo Schottky è rappresentato con questo simbolo:
Absolute maximum ratings: 7V è la massima tensione di alimentazione al di sopra della quale il costruttore non garantisce l'integrità del circuito.
· Dalla . 2.16: nota che IOH e IOL hanno
valori molto diversi:
IOH = -0.4 mA
(negativa perché uscente)
IOL = 16 mA
(positiva perché entrante)
Questa asimmetria è tipica delle
logiche TTL. Una TTL può pilotare
bene altri componenti con lo 0 logico in uscita, perché il tal caso assorbe
una corrente molto più grande.
Nota la presenza di una colonna intitolata test conditions. I risultati dei test dipendono fortemente dalle condizioni in cui sono stati eseguiti. Quando si fa un progetto occorre mettersi sempre nelle condizioni peggiori possibili.
Il valore di VOH dipende dalla tensione di alimentazione e deve rispettare un valore minimo. Le condizioni di test sono le peggiori: alimentazione minima e corrente erogata massima.
|IOH | / |IIH |= 0.4 / 0.04 mA = 10 |IOL| / | IIL | = 16 / 1.6 =
10 FANOUT=10
(Se i due valori fossero differenti, si considererebbe il minimo valore tra i
due)
II è la corrente in ingresso quando la tensione di ingresso è la massima possibile, cioé 5.5 V.
ICCH è la corrente che entra nel piedino dell'alimentazione (e che alimenta le 4 porte del dispositivo) quando la tensione in ingresso VI = 0.
Il valore di Power/gate per questa famiglia è circa 10 mW/gate
Caratteristiche dinamiche: il valore che si può considerare come riferimento è di 10 ns.
Di conseguenza il valore del prodotto P tP è pari a circa 100 pJ.
Note varie dalla lettura dei data sheet:
Nota che la corrente IOL vale 4 mA per la 54LS00 e 8 mA per la 74LS00. Questo significa che, una 54LS00 è in grado di pilotare solo 2 porte 5400 (una 75LS00 può pilotare 5 porte 7400). Però una 54LS00 è in grado di pilotare 10 porte 54LS00 (una 74LS00 può pilotare 20 porte 74LS00).
Il valore di VOH è un po' più alto, vale 2.7 V invece di 2.4, e questo migliora il margine di errore, che passa da 400 mV a 700 mV.
ICCH è più basso rispetto a prima, e questo significa che consuma meno corrente
I tempi di commutazione sono paragonabili con quelli della famiglia 5400-7400
Il Power/gate vale 2 mW e questo valore conferma il minor consumo della famiglia LS
Il prodotto P tP vale 20 pJ
Note varie dalla lettura dei data sheet:
IOH = -l mA, IOL = 20 mA : le correnti sono superiori rispetto al modello LS
IIH = 0.05 mA, IIL = -2 mA : anche qui le correnti hanno valori più grandi
|IOH | / | IIH | = 1 / 0.05 mA = 20 |IOL | / | IIL | = 20 / 2 mA = 10 FANOUT = 10
ICCH il consumo di corrente è superiore rispetto alle due famiglie già viste
Il valore del Power/gate = 20 mW, cioé consuma parecchio di più
Però i tempi di commutazione sono più corti (intorno ai 3 ns)
Note varie dalla lettura dei data sheet:
Il valore della VOH è legato al valore dell'alimentazione dalla relazione VOH = VCC - 2; siccome il minimo raccomandato è VCC = 4.5 V, il minimo valore di VOH risulta essere pari a 2.5 V.
Il FANOUT per l'1 logico è pari a 20, per lo 0 logico è pari a 40-80; quindi il FANOUT è 20.
Il consumo di corrente è piuttosto basso (ICCH = 0.5 mA)
Il Power/gate è di 1,2 mW/gate
I tempi sono dell'ordine dei 5 - 7 ns
Note varie dalla lettura dei data sheet:
Nota la corrente IOL = 20 mA, più grande della ALS ma come la S. La corrente IOH = -2 mA è molto grande.
Power/gate = 8 mW/gate
Lo stadio finale (cioè l'uscita) di un
dispositivo logico si chiama TOTEM POLE quando è simmetrica, cioé quando si
può modellare con due interruttori (. 2.17a). Se invece manca il primo
interruttore, e quindi si ha l'output libero, si ottiene un uscita di tipo
OPEN-COLLECTOR (.2.17b).
2.17a 2.17b
Le famiglie viste finora presentavano le uscite totem pole (vedi diagrammi sui data sheet); invece le famiglie 5403, 54LS03 e 54S03 presentano un uscita open-collector. Sui diagrammi l'uscita è rappresentata come in ura 2.18.
Nella terminologia bipolare l'ouput è
detto collettore (quindi abbiamo
gli open collector), nella terminilogia CMOS è chiamato drain (quindi abbiamo gli open
drain).
Quando SWL= ON, cioé chiuso,
sull'output c'è una tensione pari al ground, quindi U=0; quando SWL
= OFF, cioé aperto, sull'output c'è una tensione indefinita, fluttuante
(. 2.19). Si usa allora collegare l'uscita
all'alimentazione tramite una resistenza di PULL-UP, in modo che U assuma
un valore definito e costante (. 2.20).
Il puntino sopra alla porta è una
notazione NON STANDARD che useremo per indicare l'uscita open-collector
( . 2.21).
Vediamo due applicazioni importanti dell'uscita open-collector. La prima consiste nel pilotare tramite una porta TTL open-collector un carico che necessita di una tensione maggiore di 5 Volt, ad esempio una bobina di un relais:
VCC
La seconda applicazione consiste nel realizzare
il wired-OR. Questo è una tecnica
per connettere vari componenti a una linea comune in modo tale che se almeno un
componente commuta a 0, la linea va a 0; dal punto di vista logico si comporta
come un OR:
2.22a 2.22b
Un componente logico come quello in . 2.22a è irrealizzabile, specialmente se il numero di fili ingresso è elevato. Con la struttura rafurata in . 2.22b si realizza invece l'OR cablato: è sufficiente che una qualunque delle porte commuti a 0 affinché la linea assuma potenziale 0, e rimane tale anche se altre porte commutano a 0. Questo comportamento sarebbe impossibile con l'uscita totem pole, perché con una porta a 0 e contemporaneamente una porta a 1 si avrebbe corto circuito.
Buffer: è un dispositivo che separa e unisce due mondi con caratteristiche diverse. Per svolgere questo compito i buffer hanno bisogno di avere un comportamento a tre stati, tri-state, e devono essere in grado di erogare/assorbire una quantità di corrente superiore al normale.Questo significa che consumano molta corrente e scaldano molto.
Line drivers: sono dispositivi che svolgono il compito di buffer (quindi possono andare in tri-state) e devono essere in grado di pilotare grandi carichi capacitivi, e quindi sono capaci di erogare/assorbire quantità di corrente superiori alla norma.
Il terzo stato è uno stato di alta impedenza all'uscita comandabile tramite un segnale logico ( 2.23).
Quando il componente va in tristate si
apre il terzo switch, che isola il componente dal suo carico (questo è
sempre n modello puramente didattico). Val swH U swL
Note varie dalla lettura dei data sheet:
Il comportamento a isteresi in ingresso è molto importante (lo vedremo meglio) e serve in questo caso per rendere insensibile il dispositivo ai disturbi sulla linea. In generale, un dispositivo che si comporta come un buffer deve avere in ingresso un comportamento a isteresi.
Nota che le correnti in uscita hanno valori più simmetrici: IOH = -l2 e IOL = 12 (nella 54). In particolare è stato aumentato il valore di IOH .
IOZH e IOZL sono correnti di perdita che esistono nello stato di alta impedenza. Idealmente in questo stato la porta si dovrebbe comportare come un circuito aperto, ma in pratica c'è sempre una corrente di perdita.
Nota che il FANOUT è alto: 12 / 0.02 mA = 600 , 12 / 0.2 = 60 FANOUT = 60
I buffer consumano in generale molta corrente appunto perché sono in grado di erogarne molta. ICC = 17-32 mA (nota: assorbimento dell'intero componente, non di ogni singolo gate del componente).
Normalmente il tempo di attacco (tPZL o tPZH) è maggiore del tempo di stacco (tPLZ o tPHZ). In questo modo ci si assicura che in nessun istante due porte siano collegate contemporaneamente alla linea. Invece avere la linea staccata, fluttuante, è un problema che si può risolvere (lo vediamo tra poco).
Nota che i tempi si commutazione sono piuttosti elevati
Una linea a cui sono collegati vari componenti con uscita tri-state deve essere sempre "terminata".
Quando
entrambe le porte sono in alta impedenza, la tensione alla quale si trova
la linea è ignota e fluttuante, perché raccoglie moltissimi disturbi (
2.24). Per ovviare a questo problema posso mettere una resistenza di
pull-up verso l'alimentazione, oppure, ancora meglio, fare un partitore
( 2.25).
Le resistenze che formano il partitore hanno valori bassi, per esempio 180 ohm per la resistenza di pull-up e 330 ohm per la resistenza di pull-down. Comunque, il valore di tensione della linea deve essere sempre noto e la linea deve avere un basso valore di impedenza. Infatti una linea con alta impedenza raccoglie facilmente una marea di disturbi e li trasmette ai vari componenti ad essa collegata. |
1) Una TTL è composta normalmente da 3 stadi:
I primi due stadi sono sempre alimentati, quindi la logica TTL consuma corrente indipendentemente dal suo stato. Lo stadio di uscita è rappresentabile con due interruttori (vedi . 2.17a) che si aprono e si chiudono determinando l'1 o lo 0 logico. Durante la commutazione c'è un istante in cui entrambi gli interruttori sono chiusi; durante questo brevissimo tempo la TTL assorbe corrente: si tratta si un assorbimento impulsivo ( 2.26).
Questo comportamento provoca disturbi che
devono essere filtrati mediante un condensatore di by-pass posto nelle immediate vicinanze del circuito.
2) Vediamo meglio la caratteristica ingresso-uscita di una porta TTL:
Nel punto indicato dalla freccia (
2.27a) avviene un fenomeno di reazione positiva (in entrambi i sensi).
Questo significa che una volta iniziata la transizione, questa procede
rapidamente alla conclusione senza possibilità di tornare indietro. La
reazione positiva facilita la transizione portando il sistema fuori dalla
linearità. Questo è il motivo della notevole velocità di questa famiglia
logica. Invece per la famiglia CMOS la
caratteristica presenta una zona di
linearità (. 2.27b). Questo significa che la tensione di uscita può
mantenere qualunque valore tra l'1 e lo 0 logico. Non avviene nessuna
reazione positiva.
CAPITOLO 2
SOMMARIO
2.1. Definizione di segnale logico
2.1.1. Assegnazioni logiche, logica positiva e negativa
2.1.2. Definizione delle fasce e dei margini dell'uno e dello zero logico.
2.2. Temporizzazioni..
2.2.1. Tempo di salita / tempo di discesa (Rising time, Fall time).
2.2.2. Tempo di proazione (Proation time o Delay time)
2.2.3. Tempo di setup, tempo di hold..
2.3. Famiglia TTL e sue derivate..
2.3.1. Introduzione
2.3.2. I modelli 5400 e 7400..
2.3.3. I modelli 54LS00 , 74LS00
2.3.4. I modelli 54S00, 74S00..
2.3.5. I modelli 54ALS00, 74ALS00
2.3.6. I modelli 54AS00, 74AS00..
2.3.7. I modelli 5403, 54LS03, 54S03: open collector outputs..
2.3.8. I modelli 54LS240-41-44, 54S240-41-44: octal buffers and line drivers.
2.4. Osservazioni finali sulla famiglia TTL..
Privacy
|
© ePerTutti.com : tutti i diritti riservati
:::::
Condizioni Generali - Invia - Contatta