Elettronica analogica e digitale (definizioni e caratteristiche generali) E.Gandolfi 1 Definizione di segnale • Segnale : una qualunque grandezza fisica variabile a cui è associata una informazione • Il segnale, in certi casi, può essere schematizzato come funzione matematica Y = f(X1, X2, Xn) con X1, X2, Xn variabili generiche: ES: ECG, immagine statica, immagine variabile 2 Classificazioni di segnali (in base ai valori assunti dalla variabile indipendente) • Segnali a tempo continuo: il dominio della funzione ha la cardinalità dei numeri reali; la variabile indipendente può assumere con continuità tutti i valori compresi in uncerto intervallo (funzione continua X(t), Y(t)) • Segnali a tempo discreto: il dominio della funzione ha la cardinalità dei numeri interi ; tali sequenze in matematica vengono chiamate successioni e nella teoria dei segnali sequenze numeriche X[n], Y[n] 3 Classificazioni di segnali (in base ai valori assunti dalla variabile dipendente) • Segnali ad ampiezza continua: il codominio della funzione ha la cardinalità dei numeri reali; la variabile dipendente può assumere con continuità tutti i valori compresi in un certo intervallo: segnale acustico, andamento della temperatura • Segnali ad ampiezza discreta: il codominio della funzione ha la cardinalità dei numeri interi, ovvero la variabile dipendente può assumere solo un numero limitato di valori in un dato intervallo: segnale morse… 4 Definizioni di segnali Segnali a tempo continuo X(t) • Segnali analogici : sono i segnali a tempo continuo e ad ampiezza continua. t X(t) • Segnali quantizzati: sono i segnali a tempo continuo ed ampiezza discreta; t 5 Definizioni di segnali Segnali a tempo discreto X[n] • Segnali a tempo discreto ed ampiezza continua, usati nei Digital Signal Processing(DSP). t X[n] • Segnali numerici: sono i segnali a tempo e ad ampiezza discreta, a questa categoria appartengono anche i segnali digitali nei quali la discretizzazione del tempo può essere asincrona o sincrona con un clock ; +2 +1 t -1 -2 6 Definizione di segnali (in base ai valori assunti dalla variabile dipendente) • Segnali periodici ed aperiodici: un segnale è periodico che si “ripete” dopo un intervallo temporale To detto periodo x(t) = x(t+To), diversamente è aperiodico. (tale definizione vale sia per i segnali a tempo continuo che per i segnali a tempo discreto nel qual caso x[n]= x[n]+No) • Segnali determinati e aleatori: un segnale è determinato se è possibile conoscere a priori il valore assunto in un certo istante( segnale prodotto in laboratorio da un generatore di forme d’onda…), diversamente è aleatorio 7 Proprietà dei segnali determinati • Per i segnali periodici è possibile definire 3 caratteristiche: – L’energia: – La potenza: E | x(t ) 2 |dt Ex | x[n] |2 Px lim T – Il valor medio temporale: ExT T T / 2 lim T | x(t ) | dt 2 T / 2 T / 2 xm lim T x(t ) dt T / 2 8 Proprietà dei segnali periodici • Per i segnali periodici le proprietà energia, potenza e valor medio diventano: – L’energia a rigore è infinita: – La potenza può essere riferita al periodo: Px ExT T T / 2 | x(t ) | dt 2 T / 2 – Il valor medio può essere riferito al periodo x lim –: x(t ) dt T / 2 m T T / 2 9 Elettronica digitale • L’organizzazione delle informazioni nel campo digitale si basa su una struttura “binaria” ovvero utilizzando la discretizzazione in ampiezza utilizza solo due soli valori logici “0” e “1”. • L’algebra di Boole è la base su cui si fonda l’elaborazione elettronica di segnali digitali. • Ai valori logici vengono associati degli intervalli di tensione che cambiano a seconda della tecnologia che caratterizza i componenti elettronici utilizzati per costruire le porte logiche ed in generale i sistemi di elaborazione digitale 10 Elettronica digitale • L’utilizzo di intervalli da associare ai valori logici: – semplifica le soluzioni circuitali; – aumenta l’immunità al rumore. X(t) X(t) “1” logico “0” logico t t Segnale analogico Segnale digitale 11 Algebra di Boole • Nel 1847 il Matematico inglese George Boole espose nel libro “Mathematical Analysis of Logic” le regole fondamentali di un algoritmo ( l’algebra binaria)per studiare i problemi della logica deduttiva, algoritmo che sviluppò e completò in una seconda opera pubblicata nel 1958 : “An Investigation of the laws of tougth” • L’algebra binaria comprendeva solo 2 valori “0” e “1” logici per distinguerli dallo “0” e “1” aritmetici e si prestava bene ad formalizzare proposizioni logiche che potevano, secondo la logica aristotelica, essere vere o false. • L’algebra binaria fu applicata solo alla logica fino a quando Shannon nel 1938 pensò di utilizzarla per i circuiti commutazionali in quanto lo “0” e ”1” si prestavano bene a descrivere interruttori , contatti,…“chiusi” e “aperti” 12 Algebra Booleana e Teoria degli insiemi La Teoria degli insiemi o Algebra degli insiemi è formalmente simile all’algebra booleana a condizione che: • Le variabili logiche siano concepite come sottoinsiemi di un insieme universo U • Il prodotto logico *(AND) sia interpretato come l’intersezione fra insiemi • La somma logica +(OR) sia interpretata come l’unione fra insiemi • Il valore logico “1 ( elemento neutro rispetto al *) sia sostituito dall’insieme universo (insieme neutro rispetto all’intersezione) • Il valore logico “0” ( elemento neutro rispetto al +) sia sostituito dall’insieme f (insieme neutro rispetto all’unione) E’ possibile quindi dimostrare le proprietà e i teoremi dell’algebra booleana, mediante i diagrammi di Venn 13 Algebra di Boole Definizioni e proprietà • L’algebra booleana considera solo 2 elementi : “0” e ”1” • Vengono definite delle operazioni di: – Somma logica: • • • • 0+0=0 0 + 1 =1 1+0=1 1 + 1 =1 – Prodotto logico • • • • 0*0=0 0*1=0 1*0=0 1*1=1 – Negazione( con la / si intende il valore negato) La teoria degli insiemi può essere usata per dimostrare le proprietà dell’algebra Booleana (con Ø si intende l’insieme vuoto e con A l’insieme Universo) Somma logica •ØUØ=Ø •Ø U A =A •A U Ø =A •A U A=A Analogamente si può operare per il prodotto logico e la negazione • /0 =1 • /1 =0 – La somma e il prodotto sono commutative 14 Algebra di Boole Le variabili • Una variabile nella logica binaria può assumere solo il valore “0” o “1” • Per le variabili binarie si definiscono le operazioni di negazione, somma e prodotto logico ed in particolare avremo x+1=1 x+0=x x+x=x x*1=x x*0=0 x*x=x Inoltre valgono le proprietà commutativa , associativa e distributiva. Inoltre x + /x =1 //x =x x * /x =0 15 Algebra di Boole Le funzioni • Si dice che una variabile Y è funzione delle variabili x1,x2,…xn se esiste un criterio che fa corrispondere in modo univoco un valore di Y per ogni valore delle variabili x1,x2,…xn • Tale metodo può essere rappresentato da una “tavola di verità” o da una espressione algebrica contenente le variabili in oggetto legate dai segni di somma, prodotto e negazione. • Ogni tavola di verità può trovare una corrispondente espressione logica, chiamata forma canonica, o sotto forma di SOP(Sum Of Product) considerando tutti i termini( minterm) che danno uscita “1” o come POS( Product Of Sum) considerando tutti i termini che danno come uscita “0” 16 Algebra di Boole Metodi di semplificazione di una funzione logica Data una espressione SOP è possibile utilizzare dei teoremi che ne permettono la semplificazione: • X + XY = X I° teorema dell’assorbimento – Infatti X(1+Y) = X • X + /XY = X + Y II° teorema dell’assorbimento – Infatti X+/XY = (X+XY) +/XY = X+(XY+/XY)=X+Y • XY +YZ + /XZ = XY+/XZ III° teorema dell’assorbimento – Infatti si può verificarlo dando a XYZ tutte le 8 possibili combinazioni e verificando che YZ è sempre uguale a (XY+/XZ) • Nella pratica è comunque più comodo utilizzare, quando è possibile le mappe di Karnaugh, un sistema grafico basato sulla semplificazione XY+/XY = Y , che risulta più rapido e con meno probabilità di errore 17 Algebra di Boole Le funzioni logiche espresse come SOP o POS • Consideriamo la seguente funzione logica espressa tramite la tavola di verità • Usando la rappresentazione SOP si considerano i minterm( i prodotti corrispondenti alle righe che hanno Z=1) prendendo le variabili in modo diretto( se compaiono come 1) o negato( se compaiono come 0) X1 X2 X3 Z 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Z = /X1X2/X3 + /X1X2X3 + X1/X2/X3 + X1X2/X3 + X1X3X4 •Usando la rappresentazione POS si considerano i maxterm(le somme corrispondenti alle righe che hanno Z=0) prendendo le variabili in modo diretto( se compaiono come 0) o negato( se compaiono come 1) Z = (X1+X2+X3)(X1+X2+/X3)(/X1X2X3) Infatti Z = //Y = //[/X1X2/X3 + /X1X2X3 + X1/X2/X3 + X1X2/X3 + X1X3X4] Applicando De Morgan 2 volte Z=//Y= /(X1X2/X3)/( /X1X2X3)/( X1/X2/X3)/( X1X2/X3)/(X1X3X4)=(/X1+/X2+X3)(X1+/X2+X3)(/X1+X2+X3)(/X1+/X2+X3)(/ X1+/X2+/X3) 18 Le due espressioni si può dimostrare che sono equivalenti e semplificate portano alla Z = X2 + X3X1 Algebra di Boole X1 X2 X3 Z X2,X1 0 0 0 0 00 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 X3 0 1 01 11 10 0 0 1 1 0 1 1 1 Le mappe di Karnaugh • • • Si introduce una rappresentazione tabellare equivalente alla tavola di verità, ma nella quale si passa da una casella a quella successiva con una sola variabile che cambia Quindi si raggruppano a gruppi di 2,4,8… le caselle contigue orizzontalmente o verticalmente che contengono gli 1, esplicitando per ogni raggruppamento un prodotto contenente le variabili che non cambiano all’interno del raggruppamento. La somma di questi prodotti è la funzione semplificata Ai fini della semplificazione una casella può essere considerata più volte 19 Elettronica digitale • L’elettronica digitale utilizza circuiti combinatori e sequenziali. • In un circuito combinatorio l’uscita dipende unicamente dai valori logici assunti dagli ingressi quindi rappresenta la sintesi di una funzione logica. • In un circuito sequenziale l’uscita dipende oltre che dagli ingressi, anche dalla “storia” precedente 20 Elettronica digitale • L’elettronica digitale utilizza i valori logici “0” e “1” anche per rappresentare – – – – – numeri, caratteri alfanumerici, comandi, istruzioni ….. Per mezzo di opportune codifiche. 21 Elettronica digitale • I componenti fondamentali che permettono di realizzare tutti i circuiti digitali ovvero di fare la sintesi di una funzione logica, sono le “porte logiche” relative ai circuiti di base: NOT, AND, OR, NAND… Circuiti di base Circuiti universali NOT NOR OR AND NAND 22 Le porte logiche modificano l’informazione I=X U=X I=X U=X se C=0 Il NOT capovolge l’informazione C U=1 se C=1 I=X U=X se C=1 C I=X U=0 se C=0 U=X se C=0 U=X se C=1 Se C=0 l’informazione passa Se C=1 l’uscita è bloccata a 1 Se C=1 l’informazione passa Se C=0 l’uscita è bloccata a 0 Se C=0 l’informazione passa Se C=1 l’informazione è invertita 23 Elettronica combinatoria • Un circuito combinatorio rappresenta la sintesi di una funzione logica. – Si chiama sintesi il processo che, partendo da una funzione logica(y= f(x1,x2,..xn), porta alla costruzione di un circuito logico che ne rappresenta la soluzione utilizzando porte logiche(NOT,AND,OR…) – Si chiama analisi il processo che, partendo da un circuito logico combinatorio( rete di porte logiche NOT,AND,OR…), ne estrae la funzione logica. 24 Sintesi di un circuito combinatorio • La sintesi di un circuito combinatorio relativo ad una funzione logica si può attuare seguendo i seguenti passi: – Esplicitazione della funzione logica come somma di minterm. – Semplificazione della funzione logica usando il teorema dell’assorbimento o le mappe di Karnaug o altri metodi (Quine MC Klusky..) – Descrizione della soluzione semplificata usando le porte logiche fondamentali, o quelle universali 25 Alcuni Circuiti Logici Combinatori disponibili sul mercato • • • • • Multiplexer digitali Demultiplexer digitali Driver Display 7 segmenti Adder(half e full) Sommatore/sottrattore 26 Circuiti Logici Sequenziali • Possono essere: – Sincroni o Asincroni: sono sincroni se il circuito e sensibile alle variazioni degli ingressi solo in corrispondenza del clock, sono asincroni se non richiedono il clock – I circuiti sincroni possono operare • sul livello del Clock se sentono gli ingressi per tutto il tempo in cui il clock è alto(oppure quando è basso); • sul fronte del Clock se sentono gli ingressi sul fronte di salita( o di discesa del clock) sono anche detti circuiti sincroni “ (edge) clock triggered” 27 Circuiti Logici Sequenziali • I circuiti logici sequenziali usano come elementi fondamentali i Flip-Flop: – I flip-flop sono circuiti a due stati con due uscite complementari. – Possono essere realizzati in molti modi, sia usando le porte nand sia usando le porte nor – Tutti i flip-flop usano una cella di memoria statica realizzata per mezzo di due NAND o NOR “incrociati” S Q S Ck Q Q R Q Ck R Steering gate latch 28 I Flip-Flop S Q J Ck Q Q K Q Ck R Sn 0 1 0 1 S-R Rn Qn+1 0 Qn 0 1 1 0 1 ? Jn 0 1 0 1 J-K Kn Qn+1 0 Qn 0 1 1 0 1 Qn 29 I Flip-Flop D e T D Sn 0 1 0 1 S-R Rn Qn+1 0 Qn 0 1 1 0 1 ? J Ck Q K Q Jn 0 1 0 1 J-K Kn Qn+1 0 Qn 0 1 1 0 1 Qn T J Ck Q K Q D Dn Qn+1 1 0 T Tn 0 Qn+1 Qn 1 Qn 1 0 30 I Flip-Flop (ingressi asincroni) S Pr Pr Q J Ck Q Q K Q Ck R Cl Cl Input asincroni. Ck Cl Pr Q 0 1 0 1 0 0 1 0 1 1 1 * 31 Flip-Flop clock di livello o fronte del Clock • Diverso comportamento di un Flip-Flop tipo D che opera sul livello alto o sul fronte di salita del Clock Input D Qlivello alto Qfronte salita 32 Flip-Flop Master-Slave • Per ottenere un Flip-Flop che opera sul fronte di discesa del clock si possono utilizzare due FF di livello( il primo fa da Master mentre il secondo fa da Slave) in cascata col Clock invertito D D1 Ck Q1 Q1 D2 Ck Q2 Q Q2 Ck 33 Flip-Flop che opera sul fronte di discesa del CLK realizzato con la tecnica Master Slave • Q1 opera sul livello alto del clock di FF1 basandosi sull’ingresso D • Q2 opera sul livello alto del clk invertito ovvero sul livello basso di clk basandosi sull’ingresso D2 che coincide con l’uscita Q1 di FF1 Zona attiva di FF1 Input D1 Q1= D2 Q2 Zona attiva di FF2 34 Flip-Flop Master-Slave • Per ottenere un Flip-Flop che opera sul fronte si può utilizzare un singolo FF con un doppia Steering gate con un ritardo fatto con un condensatore o 3 inverter S S’ A Q A=1, B=1 Condizione Q di memoria R B R’ latch Ck S’ = S Ck A = S Ck Ck = S 0 = 1 R’ = R Ck B = R Ck Ck = R 0 = 1 La linea di ritardo su Ck serve a creare un breve intervallo in cui prima e dopo il NOT abbiamo lo stesso stato logico e quindi non possiamo scrivere CKCK 35 Alcuni Circuiti Logici Sequenziali disponibili sul mercato • Shift Register – Left Shift Register – Right Shift Register – Left/right Shift Register • Contatori – Contatori binari o decimali – Contatori up-down – Contatori sincroni-asincroni 36 Le Famiglie Tecnologiche della porte logiche • Dal punto di vista tecnologico abbiamo : • TTL(totem pole) – Standard – Low Power(L) – Schottky(S) – Low Power Schottky(LS) – Fast(F) – Advanced Fast(AS) – Advanced Low Power Fast(ALS) • CMOS • ECL 37 Approssimazione sui transistor usati nei circuiti digitali C Transistor Saturo B VCE = 0.2 V VBE = 0.6 V Interruttore chiuso E C Transistor Interdetto B VBE < 0.6 V E VCE = dipende dal potenziale in C e E Interruttore aperto 38 Porta NOT TTL totem-pole +5V 130W(650) 1.6KW(8K) S 4.6V 4KW(20K) 4V S I= “0”(0 - 0.8V) 0.2 - 1V U = “1” (3.4V) I I 1KW(5K) 39 Porta NOT TTL totem-pole +5V 1.6KW(8K) 0.8V 4KW(20K) I I= “1” (5V) 1.2V 130W(650) I U= “0” (0.2V) S 0.6V S 1KW(5K) 40 Porta NAND TTL totem-pole +5V 130W(650) 1.6KW(8K) S 4KW(20K) I1=A S U=AB I I I2=B 1KW(5K) 41 Porta NOT TTL totem-pole con uscita Three state +5V 130W(650) 1.6KW(8K) I 4KW(20K) I1=A S U= A se E = “1” U= Z se E = ”0” I I Enable 1KW(5K) 42 Le Famiglie tecnologiche delle porte logiche +5V +5V TTL output Il rapporto IOL/IIL definisce il “fan –out” ovvero il massimo numero di porte pilotabili Out = “0” TTL-Input IOL,IIL 43 Le Famiglie Tecnologiche della porte logiche +5V +5V Anche il rapporto IOH/IIH è coerente con il fan-out IOH,IIH TTL output Out = “1” TTL-Input 44 Logiche WIRED AND +5V +5V La corrente entrante può rovinare il transistor IOH TTL output Out = “1” Out = “0” IOL WIRED AND TTL output Per il WIRED-AND si usano porte open collector 45 Porta NOT TTL open collector +5V 5V 1.6KW(8K) Resistenza di pull-up (2K) 4KW(20K) 1KW(5K) 46 Logica TTL • La logica TTL è caratterizzata da avere dei livelli di tensione pari a 5V 3.4V “1” 0.4V “0” 0V Typical Output 5V 2.4V 0.8V “1” “0” 0V Maximum Input Essenziali sono poi le correnti di I/O nelle diverse situazioni, sia per il fan out sia per collegamenti non con porte omogenee47 Le Famiglie Tecnologiche della porte logiche Porte TTL 54 serie militare 74 serie civile IOH mA IOL mA IIH mA IIL mA Power mW Delay time ns 54/74 (normale) -400 16 40 -1.6 10 10 54/74H (High speed) -500 20 50 -2 22 6 54/74L (Low Power) -200 3.6 10 -0.18 1 33 54/74S (Schottky) -400 8 20 -0.4 19 3 54/74LS (Low Power Schottky) -400 20 50 -2 2 9.5 54/74F (Fast) -1 20 20 -0.2 4 2.5 54/74AS (Advanced Schottky) --2 20 200 -2 20 1.5 54/74ALS (Advanced Low Schottky) -0.4 4 20 -0.2 1 4 48 DATA SHEET FAMIGLIE TTL SN5408/SN7408(J,N,W) SN54LS08/SN74LS08(J,N,W) J = ceramic dual in line N = plastic T = plastic W = ceramic flat SN = Serial Number 54 = serie militare (-55°C +125°C) 74= serie civile (0°C +70°C) LS= serie diversa dalla TTL standard esistono anche L, S, H, 08 = indentifica il chip (ovvero il tipo di circuito logico (J,N,W) = identifica il package 49 DATA SHEET FAMIGLIE TTL SN…08 Y = ABC SN…11 Y = AB 50 DATA SHEET FAMIGLIE TTL SN…08 Y = AB Y = AB E’ OPEN COLLECTOR SN…09 51 Esempi di funzione logiche disponibili Y=A Y=AB+CD+EF+GHI+X 52 Flip Flop sensibili al livello o al fronte del Clock 53 Syncronous up/down Counter with up/down mode control SN…190 BCD counter SN…191 Binary counter 54 Syncronous up/down Counter with up/down mode control 55 DATA SHEET 4bit-Shift Register 56 Shift Register Architecture 57 4bit-Shift Register Timing 58 Porte CMOS FET + + + + S - - - - - - - - -G- - - p- - - - - - n D + + + + S G D S G D G S CMOS a enancement Canale n D Il canale n con un “1” il transistor si comporta come un interruttore chiuso, mentre con uno “0” , come un interruttore aperto. In modo simmetrico funziona il canale P CMOS a depletion G S Canale p D 59 Porte CMOS G G = “1” S Canale p D G S Canale n G= “0” G = “1” D Livelli “low” good Livelli “high” poor Livelli “low” poor Livelli “high” good G= “0” G = “0” G= “1” Livelli “low” good Livelli “high” good CSWITCH 60 NOT CMOS X +5V +5V +5V X “1” “0” “0” “1” 61 NAND e NOR CMOS +5V +5V XY X X Y Y NAND X+Y NOR 62