ePerTutti


Appunti, Tesina di, appunto tecnica

SEGNALI E CIRCUITI LOGICI - Famiglia TTL - Temporizzazioni

SEGNALI E CIRCUITI LOGICI - Famiglia TTL - Temporizzazioni


Scrivere la parola
Seleziona una categoria

CAPITOLO 2


SEGNALI E CIRCUITI LOGICI - Famiglia TTL



2.1. Definizione di segnale logico


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.

2.1.1. Assegnazioni logiche, logica positiva e negativa


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.

2.1.2. Definizione delle fasce e dei margini dell’uno e dello zero logico


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).


Text Box: Ve
Text Box:  Text Box:  Text Box:  Text Box:






















= 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:


Text Box: Ve 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.

 
margine dello 0

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.


2.2. Temporizzazioni


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.

2.2.1. Tempo di salita / tempo di discesa (Rising time, Fall time)








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.

2.2.2. Tempo di proazione (Proation time o Delay time)


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

 

DV

 
DV

 

DV

 

Se

 

tpHL

 

 

Su

 


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.

2.2.3. Tempo di setup, tempo di hold


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).

 















2.3. Famiglia TTL e sue derivate


2.3.1. Introduzione


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


2.3.2. I modelli 5400 e 7400


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.

2.3.3. I modelli 54LS00 , 74LS00


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

2.3.4. I modelli 54S00, 74S00


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)


2.3.5. I modelli 54ALS00, 74ALS00


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


2.3.6. I modelli 54AS00, 74AS00


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


2.3.7. I modelli 5403, 54LS03, 54S03: open collector outputs

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.


2.3.8. I modelli 54LS240-41-44, 54S240-41-44: octal buffers and line drivers


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.

 

 


















2.4. Osservazioni finali sulla famiglia TTL


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