Antonio D’Amore APPUNTI DI ELETTRONICA Circuiti e sistemi digitali INDICE Capitolo I - I dispositivi elettronici. Condizioni operative statiche. 1.1) Introduzione. 1.2) Interruttori ideali e reali. 1.3) Condizioni operative statiche del transistore a giunzione. 1.3.1) Condizioni operative all'interdizione. 1.3.2) La fuga termica. 1.3.3) Condizioni operative in saturazione. 1.3.3) Dissipazione negli stati di riposo. 1.4) Condizioni operative statiche dei transistori a effetto di campo. 1.4.1) Il JFET. 1.4.2) Il MOSFET. 1 1 5 5 16 18 19 20 20 22 Capitolo II - I dispositivi elettronici. Condizioni operative dinamiche. 2.1) Introduzione. 2.2) Il transistore a giunzione. 2.2.1) Le regioni di operazione. a) Regione di interdizione. b) La regione normale (o attiva). c) La regione inversa. d) La regione di saturazione. 2.2.2) Circuito equivalente ad ampi segnali di un transistore a giunzione. 2.2.3) I tempi di commutazione. a) Commutazione in regione attiva. b) Commutazione nella regione di saturazione. 2.2.4) Il calcolo dei tempi di commutazione. a) Commutazione in regione attiva. a1) Pilotaggio a bassa impedenza. a2) Pilotaggio ad alta impedenza. b) Commutazione in regione di saturazione. b1) Pilotaggio ad alta impedenza. b1) Pilotaggio a bassa impedenza. c) Effetto di RL e CTC sui tempi di commutazione. d) Il tempo di ritardo iniziale. 2.2.5) Il modello a controllo di carica. 2.2.6) Il calcolo dei tempi di commutazione con il modello a controllo di carica. a) Il tempo di ritardo iniziale. b) Il tempo di salita. c) Il tempo di restituzione. d) Il tempo di discesa. 2.2.7) Guadagno transitorio di corrente in saturazione. I 31 31 37 37 38 39 39 40 43 44 46 48 48 48 51 53 53 56 57 58 59 63 63 64 66 66 67 2.2.7) Effetto delle capacita' esterne sui tempi di commutazione. 2.2.8) Pilotaggio di corrente e pilotaggio di tensione. 2.2.9) Casi speciali di commutazione all’interdizione. 2.2.10) I parametri del transistore nel modello a controllo di carica. 2.3) Comportamento dinamico dei dispositivi MOS. 2.4) I diodi a giunzione. 2.4.1) I tempi di ripristino. a) Tempo di ripristino diretto. b) Tempo di ripristino inverso. 2.4.2) Calcolo dei tempi di ripristino. a) Tempo di ripristino inverso di un diodo spesso (W>>L). a) Tempo di ripristino inverso di un diodo sottile (W<<L). 2.5) I diodi Schottky. 2.6) La dissipazione di potenza in regime di commutazione periodica. 69 71 71 73 74 77 78 79 79 81 84 86 86 87 Capitolo III - I circuiti logici. 3.1) Introduzione. 3.2) Caratteristica di trasferimento e valori garantiti per le tensioni. 3.3) Il margine di rumore. 3.4) I valori garantiti per le correnti. 3.5) Le famiglie logiche e i dispositivi logici integrati. 3.5.1) Considerazioni generali. 3.5.2) Caratteristiche di temporizzazione di flip-flop e registri. a) Tempo di propagazione. b) Specifiche di temporizzazione degli ingressi. 3.5.3) Le famiglie logiche. 3.6) Cenni sulle famiglie bipolari “storiche”. 3.6.1) La famiglia RTL 3.6.2) La famiglia DTL 3.6.3) La famiglia HTL 3.7) La famiglia TTL. 3.7.1) La sottofamiglia TTL standard. a) Caratteristica di trasferimento. b) Tensioni e correnti di ingresso e di uscita. c) Impedenze di ingresso e di uscita. 3.7.2) La sottofamiglia low power TTL. 3.7.3) La sottofamiglia high speed TTL. 3.7.4) La sottofamiglia TTL Schottky. 3.7.5) La sottofamiglia low power TTL Schottky. 3.7.6) Conclusioni sulla famiglia TTL. 3.8) La famiglia ECL. 3.8.1) Caratteristica di ingresso. 3.8.2) Caratteristica di trasferimento e immunita’ al rumore. 3.8.3) Attitudine al pilotaggio di linee. 3.8.4) Comportamento dinamico. 3.8.5) Sottofamiglie ECL. 3.8.6) Conclusioni sulla famiglia ECL. 3.9) I dispositivi MOS. II 90 93 97 101 102 102 108 109 109 110 113 113 114 115 116 116 118 119 121 122 123 124 126 128 129 130 131 132 132 132 133 134 3.9.1) Logica MOS statica. 3.9.2) Logica MOS dinamica. 3.9.3) MOS dinamici a rapporto minimo. 3.9.4) MOS dinamici a quattro fasi. 3.10) La famiglia CMOS. 3.10.1) Caratteristica di trasferimento. 3.10.2) Comportamento al variare della tensione di alimentazione. 3.10.3) Immunita’ al rumore. 3.10.4) Struttura delle porte logiche. 3.10.5) Considerazioni generali sull’uso della famiglia CMOS. 3.11) La logica CMOS domino. 3.12) La classificazione dei componenti integrati. 135 137 139 141 142 144 145 146 146 147 147 149 Capitolo IV - Memorie e logiche programmabili. 4.1) Introduzione. 4.2) Classificazione delle memorie. 4.3) Struttura base di una memoria. 4.4) Struttura della cella di memoria RAM. 4.4.1) Struttura di una cella RAM statica. 4.4.2) Struttura di una cella RAM dinamica. 4.4.3) Struttura di una memoria RAM dinamica. 4.5) Esempio di utilizzazione di memorie ROM. 4.6) Le ROM a maschera. 4.7) La cella di memoria EPROM ed EEPROM. 4.8) Le ROM programmabili (PROM). 4.9) I dispositivi logici programmabili. 4.9.1) La logica a matrice programmabile (PAL). 4.9.2) Le matrici logiche programmabili (PLA). 4.9.3) I gate array programmabili (PGA) e i dispositivi ad elevata complessita’. 4.10) I sistemi di sviluppo. 4.10.1) Descrizione delle funzionalita’ richieste (design entry). 4.10.2) Verifica (design verification). 4.11) Frequenza massima di funzionamento di un sistema sequenziale. 151 151 153 155 155 159 160 162 164 165 166 167 168 169 170 177 178 178 184 Capitolo V - Comparatori, multivibratori e bistabili. 5.1) I comparatori. 5.1.1) Squadramento di un’onda sinusoidale. 5.1.2) Generazione di impulsi. 5.1.3) Il trigger di Schmitt. 5.1.4) Generatori di onda quadra. 5.1.5) Generatori di onda triangolare. 5.1.6) Il circuito monostabile. 5.2) I multivibratori. 5.2.1) Il multivibratore bistabile. 5.2.2) Il multivibratore monostabile. 5.2.3) Il multivibratore astabile. III 187 189 189 189 193 195 198 200 201 203 205 Capitolo VI - Conversione A/D e D/A. 6.1) Introduzione. 6.2) Il campionamento. 6.3) I convertitori D/A. 6.3.1) Codici di ingresso. 6.3.2) Codice complemento a 2. 6.3.3) Codice binario offset. 6.3.4) Codice segno e ampiezza. 6.3.5) Codice complemento a 1. 6.4) I convertitori D/A paralleli. 6.4.1) Convertitore D/A a resistenze pesate. 6.4.2) Convertitore D/A con rete resistiva a scala. 6.4.2) Altri tipi di convertitori D/A. 6.4.3) Pilotaggio di una giunzione somma. 6.4.3) Il convertitore D/A con rete a scala invertita. 6.4.4) Precisione e accuratezza di conversione. 6.5) I convertitori D/A seriali. 6.5.1) Il convertitore seriale Shannon-Rack. 6.5.2) Il convertitore seriale “sample-hold”. 6.5.3) Il convertitore seriale ciclico. 6.5.4) Il convertitore seriale ad equalizzazione di carica. 6.6) Conversione indiretta. 6.6.1) Convertitore a modulazione di durata a singola velocita’. 6.6.2) Convertitore a modulazione di durata a doppia velocita’. 6.6.3) Convertitore a modulazione di frequenza a singola velocita’. 6.6.4) Convertitore a modulazione di frequenza a tripla velocita’. 6.7) Conversione A/D. 6.7.1) Considerazioni generali. 6.7.1) Convertitori ad anello aperto. 6.7.2) Convertitori a controreazione. 6.7.3) Convertitori veloci (flash). 6.8) Cenni sul dimensionamento di sistemi d’acquisizione e conversione A/D. 6.9) Gli interruttori per segnali analogici. 6.9.1) Struttura di un interruttore MOS. 6.9.2) Conclusioni. 6.10) I convertitori a rapporto. 209 210 213 216 217 218 219 219 220 222 224 226 227 230 231 233 235 238 240 244 246 248 250 251 253 255 255 257 263 265 266 272 274 278 278 Capitolo VII - I sistemi di interconnessione. 7.1) Introduzione. 7.2) Il modello a strati. 7.3) Il livello elettrico. 7.4) Forme e modalita' operative dei circuiti di trasmissione dati. 7.5) Effetto delle linee nelle comunicazioni a lunga distanza. 7.6) Scelta dei trasmettitori e dei ricevitori di linea. 7.7) I protocolli. 7.7.1) Il protocollo di ciclo. 7.7.2) Il protocollo a livello transazione. 7.8) Caratteristiche principali di alcuni bus reali. IV 280 282 284 300 302 306 307 308 312 318 7.8.1) I bus dei personal computer. 7.8.2) Il bus VME. 318 319 V Capitolo I I dispositivi elettronici. Condizioni operative statiche. 1.1) Introduzione. I dispositivi elettronici attivi, siano essi BJT, JFET o MOS, oltre ad essere utilizzati nell'elaborazione di segnali analogici, sono utilmente impiegati anche per elaborare segnali digitali. E' opportuno ricordare che un sistema analogico opera su grandezze elettriche (tensioni o correnti) variabili con continuita' in funzione del tempo, mentre un sistema digitale tratta segnali in grado di assumere unicamente due valori distinti e nettamente separati, mediante i quali nella maggior parte dei casi viene codificata una quantita' numerica. Nel primo caso pertanto si ha a che fare con una grandezza fisica alle cui variazioni e' legata l'informazione; nel secondo caso con un numero che rappresenta la misura della stessa grandezza fisica. Nel caso digitale il segnale ha quindi una natura di tipo discreto, in quanto coinvolge un campionamento e una quantizzazione dell'informazione presente a livello di grandezza analogica. I due valori assunti da un segnale digitale vengono convenzionalmente rappresentati, nella maggior parte dei casi, con i simboli 0 e 1, cioe' con gli stessi simboli che vengono utilizzati per le costanti logiche. In campo circuitale tuttavia sono possibili due diverse convenzioni. Con la prima il valore 1 viene associato, qualora si faccia riferimento ad una tensione, al valore alto di quest'ultima, mentre quello 0 e' associato al livello zero. Si parla in tal caso di logica positiva. E' possibile tuttavia eseguire l’associazione opposta con la convenzione della logica negativa. E' interessante notare che lo stesso elemento circuitale realizza due diversi operatori logici se interpretato in logica positiva o negativa. Questi due operatori sono legati tra loro dalla dualita'. Indipendentemente dal tipo di logica adottato il principale vantaggio di un segnale digitale e' quello di essere in sostanza insensibile a tutti quei disturbi che siano d’ampiezza inferiore ad una determinata soglia, che ovviamente viene a dipendere dalla distanza tra i due livelli di tensione utilizzati. Nel campo analogico invece qualsiasi rumore o disturbo, per quanto piccolo esso sia, va a degradare la qualita' del segnale complessivo. I piu' semplici dispositivi che si prestano all'elaborazione di segnali a due livelli (o com’e' usuale dire, di segnali ON/OFF) sono gli interruttori. Pertanto i dispositivi elettronici utilizzati vanno studiati in condizioni operative affatto diverse da quelle viste nelle applicazioni lineari di tipo analogico. Si e' gia' accennato a tale fatto avendo individuato per i transistori a giunzione la zona attiva come quella adatta alle applicazioni di tipo lineare ed avendo indicato come adatte alle applicazioni digitali le zone d’interdizione e di saturazione. 1.2) Interruttori ideali e reali. La caratteristica di qualsiasi interruttore e' quella di presentare, quando e' nel suo stato aperto, una resistenza, la piu' alta possibile, mentre nel suo stato di chiusura la sua resistenza deve essere minima. Un interruttore ideale ha pertanto una resistenza infinita quando aperto e nulla quando chiusa. In figura 1.1 sono illustrate le condizioni operative di questo caso ideale. La caratteristica dell'interruttore coincide con gli assi coordinati e quindi i due punti di lavoro, quando il carico e' RL, sono a per l'interruttore aperto e b per quello chiuso. La potenza commutata e' PS = E2/RL, non essendoci alcuna potenza dissipata nell'interruttore stesso. Capitolo I I dispositivi elettronici. Condizioni operative statiche. I I= E b RL V E RL a E figura 1.1 In effetti, non esiste alcun interruttore che si comporti come un interruttore ideale. Tutti gli interruttori, infatti, hanno una resistenza finita in ambedue gli stati. Quando l'interruttore e' aperto fluisce una corrente che dipende dalla sua resistenza di perdita Rp, mentre quando e' chiuso ai suoi capi si ha una caduta proporzionale alla resistenza serie Rs che esso presente. Le condizioni operative sono rappresentate in figura 1.2. Ip I Rp Is Rs IL Rp . R s Rp + Rs b V IL RL E a Rp V V M E figura 1.2 Il normale campo operativo e' in questo caso considerevolmente piu' piccolo che non in un interruttore ideale. In ambedue gli stati una certa quantita' di energia viene dissipata nell'interruttore. PDa = 2 VM R p . Rs PDb = I 2L . R p + Rs Rp Se il rapporto tra la dissipazione nell'interruttore e quella nel carico deve essere minimo, RL non puo' essere scelta in modo arbitrano, ma dev'essere soddisfatta la condizione 2 Capitolo I I dispositivi elettronici. Condizioni operative statiche. R p >> R L >> R s Un qualsiasi transistore, sia esso bipolare sia ad effetto di campo, e' in grado di approssimare discretamente le caratteristiche di un interruttore reale quando viene fatto lavorare tra la regione di interdizione e quella in cui puo' essere considerato un elemento resistivo (la zona di saturazione per i BJT, quella detta appunto resistiva per i FET e i MOS). In figura 1.3 sono riportate a titolo di esempio le caratteristiche di collettore di un transistore a giunzione. Ic limite della zona di saturazione I b= 70 µA E I= R L b I b = 60 µA punto di lavoro al limite di saturazione I b = 50 µA I b = 40 µA I b = 30 µA I b = 20 µA I b = 10 µA Ic = I ceo Ib = 0 zona di interdizione a E Vce figura 1.3 L'unica limitazione risiede nel fatto che non si e' in grado di assicurare un completo isolamento tra il circuito di ingressi, cui viene applicato il comando, e il circuito di uscita, se non altro per il fatto che il riferimento delle tensioni nelle due maglie deve essere comune. I dispositivi attivi utilizzati come interruttori possono venir usati secondo le tre possibili connessioni circuitali: a emettitore (source) comune, a base (gate) comune o a collettore (drain) comune. Ogni connessione presenta alcune peculiarita'. Ad esempio, per quanto riguarda il BJT, nella connessione a base comune il campo di operazione e' maggiore che non nella connessione a emettitore comune, come e' messo in evidenza nelle figura 1.4. 3 Capitolo I I dispositivi elettronici. Condizioni operative statiche. Ic I e = 7 mA b I e = 6 mA punto di lavoro al limite di saturazione I e = 5 mA I e = 4 mA I e = 3 mA I e = 2 mA I e = 1 mA Ic = I cbo Ie = 0 a Vcb figura 1.4 Infatti, nella condizione ON la caratteristica del dispositivo puo' essere considerata coincidente con l'asse delle ordinate, mentre in condizione OFF si puo' ritenere coincidente con l'asse delle ascisse in quanto l'unica corrente circolante e la Icbo, che alle temperature prossime a quella ambiente e' normalmente trascurabile. Nello stato OFF pertanto il transistore presenta una resistenza molto elevata, dell'ordine di qualche megaohm, mentre al limite di saturazione la sua resistenza e' molto bassa, dell'ordine di qualche ohm o qualche decina di ohm. Nella connessione a emettitore comune invece la condizione ON determina un punto di lavoro abbastanza discosto dall'asse delle ordinate, mentre in condizione OFF circola la corrente I ceo = (β + 1).I cbo che a temperatura ambiente puo' essere di una certa entita'. Infatti, nella condizione ON la caratteristica del dispositivo puo' essere considerata coincidente con l'asse delle ordinate, mentre in condizione OFF si puo' ritenere coincidente con l'asse delle ascisse in quanto l'unica corrente circolante e la Icbo, che alle temperature prossime a quella ambiente e' normalmente trascurabile. Nello stato OFF pertanto il transistore presenta una resistenza molto elevata, dell'ordine di qualche megaohm, mentre al limite di saturazione la sua resistenza e' molto bassa, dell'ordine di qualche ohm o qualche decina di ohm. Nella connessione a emettitore comune invece la condizione ON determina un punto di lavoro abbastanza discosto dall'asse delle ordinate, mentre in condizione OFF circola la corrente I ceo = (β + 1).I cbo , che a temperatura ambiente puo' essere di una certa entita'. Tuttavia la connessione a base comune ha un guadagno di corrente inferiore all'unita' mentre quella a collettore comune ha un guadagno di tensione inferiore all'unita'. Nella connessione a emettitore comune invece ambedue i guadagni sono superiori all'unita' e questo fatto tende a privilegiare la connessione a emettitore comune rispetto alle altre 4 Capitolo I I dispositivi elettronici. Condizioni operative statiche. 1.3) Condizioni operative statiche del transistore a giunzione. 1.3.1) Condizioni operative all'interdizione. E' noto che in un transistore a giunzione anche quando il circuito di emettitore viene lasciato aperto o addirittura quando la giunzione base emettitore viene polarizzata inversamente circola pur sempre una minima corrente di collettore Icbo dovuta ai portatori minoritari. Da un punto di vista pratico pertanto questa corrente deve essere vista come la piu' piccola corrente di collettore che si puo' avere in condizioni di interdizione; per un transistore al silicio alla temperatura ambiente essa e' dell'ordine di qualche nanoampere o qualche decina di nanoampere. Quando tuttavia il transistore viene utilizzato nella connessione a emettitore comune anche se la base viene lasciata aperta circola la corrente I ceo = I cbo = (β + 1).I cbo 1− α Se ad esempio si avesse un transistore con guadagno β pari a 200 e la sua Icbo fosse uguale a 10 nA, alla temperatura ambiente la sua Iceo sarebbe dell'ordine di 2 µA. Questa corrente puo' venir ridotta fino ad un valore pari a Icbo polarizzando inversamente la base del transistore. In figura 1.5 sono riportate le correnti di emettitore, collettore e base in funzione della tensione base emettitore nel circuito di ingresso. In tale figura sono definite le condizioni operative per Vbe = Vbeo in cui Ib = 0, in corrispondenza alle quali nel circuito di collettore circola la corrente Iceo. Si vede altresi' che per tensioni inverse relativamente piccole la corrente di emettitore Ie si annulla e la corrente di collettore e' Ic = - Ib = Icbo. Risulta interessante valutare il comportamento del transistore quando tra base ed emettitore e' connessa una resistenza Rb, come illustrato in figura 1.6. I c , Ib, Ie I ceo I b(50 C) I c (50 C) Ie I c (25 C) I cbo I b (25 C) Vbe I e= 0 Vbeo figura 1.5 Quando Rb tende all'infinito si ha, come gia' detto, una corrente di collettore pari a Iceo e una tensione base emettitore pari a Vbeo. Quando Rb diminuisce anche Vbe e di conseguenza diminuisce 5 Capitolo I I dispositivi elettronici. Condizioni operative statiche. Ic. Per una data Rb la corrente di collettore puo' essere determinata con il procedimento grafico illustrato in figura 1.6 (b). Ic , I b Ic I ceo R b1 > Rb2 I c1 Ib V ce I c2 Rb Ices Vbeo B (a) Vbe R b1 R b2 (b) figura 1.6 Oltre alle considerazioni relative alla corrente di perdita c'e' poi da tener presente che nello stato di interdizione tra collettore e emettitore risulta applicata la massima tensione. E' quindi essenziale conoscere i massimi valori permessi per le tensioni inverse Vcb max e Vce max, in particolare quando tra base e emettitore sia connessa una resistenza Rb di valore finito. Tra i dati caratteristici forniti dal costruttore le tensioni massime sono assegnate in relazione alle tensioni di "breakdown" e possono variare largamente in funzione al tipo di transistore; esse sono anche dipendenti dalla temperatura di giunzione e dai parametri del circuito esterno. In un semplice diodo il "breakdown" puo' essere dovuto sia alla scarica di tipo zener che a quella a valanga. Nei transistori la scarica e' dovuta principalmente all'effetto valanga. Quest'ultima accade quando una tensione inversa, superiore ai normali valori operativi, viene applicata alla giunzione in modo che nella zona di carica spaziale il campo elettrico sia notevolmente maggiore dei valori normali. I portatori minoritari che entrano nella zona di carica spaziale vengono accelerati da questo campo elettrico fino ad acquistare energia sufficiente a produrre nuove coppie elettrone lacuna per collisione con il reticolo cristallino. Via via che aumenta la tensione inversa applicata, cresce la probabilita' di generare queste nuove coppie di portatori. Se il campo elettrico e' tanto alto da permettere che i portatori cosi' generati acquistino energia sufficiente a produrre ulteriori portatori liberi per collisione, il numero totale di portatori si moltiplica a valanga e la corrente totale sale bruscamente. La tensione cui cio' avviene e' detta tensione di scarica a valanga o tensione di breakdown della giunzione. In un transistore sia il breakdown al collettore, con terminale di emettitore aperto, sia quello all'emettitore con terminale di collettore aperto sono dovuti alla moltiplicazione a valanga. La scarica a valanga nelle normali applicazioni va evitata in quanto porta normalmente a un danneggiamento permanente del dispositivo. 6 Capitolo I I dispositivi elettronici. Condizioni operative statiche. Ic I e= 0 Vcb Ic I Rc c Rc I b= 0 Ec Vce (a) Ec (b) I b= 0 Ie = 0 M=1 M>1 Vce , Vcb BV ceo BV cbo (c) figura 1.7 Si consideri la connessione circuitale di figura 1.6 (a), in cui la giunzione di collettore e' polarizzata inversamente. Quando la tensione inversa e' relativamente piccola la corrente di collettore Ic e' pari a Icbo; quando la tensione sale la corrente nel circuito esterno sale sempre piu' rapidamente a causa della moltiplicazione a valanga dei portatori, finche' alla tensione BVcbo si ha la scarica. Nella regione di moltiplicazione a valanga si ha: I c = M.I cbo M= dove 1 V 1 − cb BVcbo n e n e' una costante empirica che dipende dalle proprieta' fisiche del semiconduttore, dalla geometria e dal tipo della giunzione. Per i transistori al silicio si ha rispettivamente n = 2 per i pnp e n = 4 per gli npn, mentre per gli ormai praticamente scomparsi transistori al germanio si aveva n = 6. La scarica avviene quando la corrente Ic tende all'infinito, cioe' quando tende all'infinito M. Considerazioni analoghe si applicano alla giunzione di emettitore nella connessione a collettore aperto. La tensione di scarica BVcbo varia con la temperatura in quanto con la temperatura varia la corrente di perdita Icbo. Il breakdown tra collettore e emettitore con base aperta, relativo alla connessione circuitale illustrata in figura 1.7 (b), e' ancora dovuto alla moltiplicazione a valanga, ma avviene ad una tensione inferiore a BVcbo a causa dell'azione dell'emettitore. Le condizioni operative, infatti, sono sostanzialmente diverse. Poiche' la giunzione di emettitore, che rappresenta una sorgente addizionale di portatori che entrano in base, e' posta in serie con la giunzione di collettore, nel circuito esterno fluisce una corrente Iceo >> Icbo. Al crescere della tensione applicata si ha: I c = M. I ceo = M. I cbo 1 − α. M La scarica a valanga si avra' pertanto quando α.M = 1, cioe' alla tensione 7 Capitolo I I dispositivi elettronici. Condizioni operative statiche. BVceo = BVcbo . n 1 − α ≅ BVcbo nβ Per la maggior parte dei transistori BVceo < 0,5 BVcbo e la sua dipendenza dalla temperatura e' dovuta alla dipendenza dalla temperatura di Icbo e β ed e' maggiore che non quella della tensione BVcbo. Il valore della tensione di scarica viene tuttavia a dipendere dalle condizioni in cui lavora il circuito di base e in particolare dal valore della resistenza connessa tra base e emettitore. Si faccia allora riferimento al circuito di figura 1.8 (a). Quando Rb tende all'infinito, la corrente Ib e' nulla, le condizioni sono quelle descritte in precedenza e la scarica avviene alla tensione BVceo. Ic Rc Ec Rb Ie = 0 Ib = 0 I ceo Vbe = 0 I ces BVceo (a) BVcbo BVcer BVces BVcex Vce (b) figura 1.8 Considerando l'altro caso estremo, cioe' quello in cui Rb = 0 con la base cortocircuitata con l'emettitore, nel circuito di collettore, appena prima della tensione cui ha inizio la scarica, circola una corrente Ices. Una parte di tale corrente fluisce poi nel circuito esterno tra emettitore e base, mentre solo la parte rimanente attraversa la giunzione di emettitore. Infatti, la giunzione di emettitore, quando e' polarizzata direttamente equivale a un diodo, la cui caratteristica, come e' noto e' esponenziale. A piccole correnti quindi il diodo presenta una resistenza equivalente elevata e la corrente totale si ripartisce tra resistenza della giunzione e resistenza della zona amorfa di base in funzione dei rispettivi valori resistivi. Quando la tensione collettore emettitore sale a valori tali da dar luogo alla moltiplicazione a valanga, la corrente che scorre nel circuito esterno tra base e emettitore aumenta, causando un aumento della caduta sulla resistenza interna di base. Il risultato e' che la polarizzazione diretta della giunzione di emettitore aumenta facendo si' che aumenti la porzione di corrente di collettore che fluisce attraverso la giunzione di emettitore. Quest'ultimo quindi contribuisce in maggior misura al processo di valanga, la tensione di scarica diminuisce e la caratteristica di scarica presenta un tratto a resistenza negativa. Nelle situazioni intermedie, quando Rb ha un valore finito, compreso tra i due valori estremi presi in considerazione, anche la tensione di scarica ha un valore compreso tra BVceo e BVces e viene normalmente indicato con BVcer. 8 Capitolo I I dispositivi elettronici. Condizioni operative statiche. Un comportamento analogo si ha anche quando la base viene polarizzata inversamente con un generatore di tensione Eb connesso in serie alla resistenza Rb. Alla tensione collettore emettitore alla quale inizia il processo di moltiplicazione a valanga, la corrente che fluisce su Rb aumenta e la caduta relativa fa diminuire la polarizzazione inversa. La scarica si ha alla tensione BVcex alla quale la giunzione di emettitore passa in polarizzazione diretta. Sia BVcer sia BVcex sono notevolmente influenzate dalla temperatura. Infatti, ad un aumento di temperatura corrisponde un aumento di Icbo e α, mentre nel contempo diminuisce la tensione Vγ di soglia della giunzione base emettitore. Pertanto la tensione di scarica tende a diminuire all'aumentare della temperatura. Nei transistori a giunzione tuttavia oltre alla scarica a valanga si puo' avere anche un altro tipo di scarica. A causa di una tensione Vcb eccessiva, la zona di scarica spaziale di collettore si puo' estendere completamente attraverso lo spessore della base. Si ricordi, infatti, che la base e' debolmente drogata a differenza della zona di collettore. Cio' fa si' che qualsiasi variazione della tensione inversa applicata alla giunzione di collettore modifichi lo spessore dalla zona di carica spaziale facendola variare in pratica solo nella zona di base. Pertanto pur senza raggiungere la condizione di scarica a valanga si ha una conduzione diretta tra emettitore e collettore. La condizione descritta e' conosciuta come perforazione o "punch trough" e la tensione cui avviene viene indicata con Vpt. L'inizio della scarica e' segnalato dal fatto che la Vbe inizia a crescere linearmente in funzione di Vcb come illustrato in figura 1.9. Vbe Vpt Vcb figura 1.9 Assieme ai fenomeni del breakdown e della perforazione e' infine il caso di citare il cosiddetto "breakdown secondario" che ha luogo nei transistori di potenza che operino con correnti elevate. In realta' i transistori al silicio realizzati in tecnologia planare sono poco interessati da tale fenomeno in quanto sono costruiti in modo da esserne esenti o perlomeno per portare il valore della corrente di collettore cui ha luogo a valori tali da poterlo ignorare in tutte le normali applicazioni. Le caratteristiche di breakdown secondario sono riportate in figura 1.10. Nelle normali condizioni operative la corrente puo' venir considerata uniformemente distribuita sulla superficie della giunzione. Il breakdown secondario ha luogo quando in corrispondenza di alte correnti di emettitore e in presenza di disomeogeneita' della giunzione si verificano delle concentrazioni di corrente in corrispondenza di piccole areole. 9 Capitolo I I dispositivi elettronici. Condizioni operative statiche. Ic I M1 I M2 breakdown secondario I b1 I b2 > scarica a valanga I b1 Vce figura 1.10 In questo caso la densita' di corrente su tali areole puo' raggiungere valori molto elevati, dando luogo a forti dissipazioni di potenza su piccoli volumi. Si puo' addirittura giungere alla fusione del materiale e alla completa distruzione del transistore Il fenomeno ha luogo ad una corrente critica IM che dipende dalle condizioni di lavoro del circuito di base, dalla tensione di alimentazione, dalla temperatura e dalla velocita' con cui il punto di lavoro si sposta lungo la caratteristica di carico. Nella pratica si deve evitare che il punto di lavoro entri nella zona di breakdown secondario; in caso contrario il transistore potrebbe venir distrutto. La tensione Vce nella zona di breakdown secondario e' compresa tra 5 e 10 V, a seconda del tipo di transistore. Pertanto per determinare la massima tensione applicabile sono dunque da considerare, come valori massimi, le seguenti tensioni • BVcbo Tensione di scarica collettore base a emettitore aperto (Ie = 0) • BVebo Tensione di scarica tra emettitore e base a collettore aperto (Ic = 0) • BVceo Tensione di scarica tra collettore e emettitore a base aperta (Ib = 0) • BVces Tensione di scarica tra collettore e emettitore con base cortocircuitata con l'emettitore (Vbe = 0) • BVcer Tensione di scarica tra emettitore e collettore con una resistenza R tra base e emettitore • BVcex Tensione di scarica tra collettore e emettitore in presenza di una polarizzazione inversa della base • Vpt Tensione di perforazione. 10 Capitolo I I dispositivi elettronici. Condizioni operative statiche. Le varie condizioni operative sono riportate in figura 1.11, dalla quale risultato evidenti le tensioni che di volta in volta vanno considerate. Ec R Ec c R c Rb -1 V Ic Rb -0.5 V Ec R R scarica a valanga c c Ec breakdown secondario Ie = 0 Ib = 0 Vbe = 0 Ec R c Ec BV ceo R BV ces BV cbo Vce c Rb figura 1.11 Le tensioni di scarica sono sempre dipendenti dalle condizioni di lavoro del circuito di ingresso e la massima tensione collettore emettitore che puo' venir applicata in un particolare caso dipende da come il punto di lavoro si muove rispetto alle caratteristiche. L'unica tensione che in pratica e' indipendente da Vbe e quella di perforazione Vpt. Nella connessione a base comune le massime tensioni applicabili sono limitate ai seguenti valori: Vcb max < min (Vpt , BVcbo ) Veb max < min (Vpt , BVebo ) In aggiunta e' necessario tener conto della Icbo in corrispondenza alla massima temperatura di esercizio. Accade, infatti, sovente che la Vcb max debba essere limitata al di sotto dei limiti appena citati per questioni di dissipazione. Per quanto riguarda la connessione ad emttitore comune si devono prendere in considerazione due casi: • Con la base polarizzata inversamente; in tal caso i valori limite sono gli stessi che nel caso della connessione a base comune. 11 Capitolo I I dispositivi elettronici. Condizioni operative statiche. • In assenza di polarizzazione inversa di base; il limite della massima tensione collettore emettitore applicabile ricadra' in uno dei seguenti tre casi: 1) 2) 3) Vce max < Vpt Vce max < BVceo oppure BVcer Il valore di Vce max e' determinato dalla massima temperatura di esercizio. Tale caso verra' trattato nel seguito. Nei dati caratteristici assegnati dal costruttore la massima tensione collettore emettitore e' frequentemente assegnata in funzione della resistenza Rb connessa tra emettitore e base, come illustrato in figura 1.12. Vce [V] 50 40 30 20 10 0.01 0.1 1 10 100 R b [ kΩ] figura 1.12 Come esempio di quanto discusso si prenda in esame il caso di un transistore nella connessione a emettitore comune il cui caso sia rispettivamente resistivo (a), capacitivo (b) o induttivo (c), come mostrato in figura 1.13. 12 Capitolo I I dispositivi elettronici. Condizioni operative statiche. Rb 0 D RL RL + Eb + Ec + Ec + Ec Rb RL L Rb C - Eb (a) (b) (c) figura 1.13 Con riferimento al caso (a), in cui il carico e' costituito da una semplice resistenza RL1, lo stato ON e' individuato dal punto A1 situato sulla caratteristica + Ib1 di figura 1.14. Ic +I A B1 1 R L1 A -I B2 C 2 R L2 B2 B1 BV cbo E c BV cex BV ceo V ce figura 1.14 Il corrispondente stato di interdizione e' individuato dal punto B1 sulla caratteristica -Ib2. Quando il transistore passa dall'interdizione alla saturazione il punto di lavoro si muove lungo la retta di carico da B1 a A1. In questo caso l'unica condizione da rispettare affinche' il transistore lavori correttamente e' che il punto di lavoro attraversi con sufficiente rapidita' la zona di dissipazione superiore alla dissipazione massima (non segnata in figure). Tuttavia nella commutazione verso l'interdizione il punto di lavoro si muove da A verso B e, se la retta di carico interseca la zona di scarica a valanga, trova una condizione di equilibrio stabile in C che si trova in una regione di elevata dissipazione. In queste condizioni il transistore puo' rimanere distrutto per l'eccessiva temperatura raggiunta alla giunzione di collettore. 13 Capitolo I I dispositivi elettronici. Condizioni operative statiche. Se invece la retta di carico e' tale da far muovere il punto di lavoro al di sotto della regione di scarica a valanga (RL2) le condizioni operative sono relativamente sicure. Un'analisi piu' dettagliata tuttavia rivela ulteriori situazioni nelle quali il transistore potrebbe rimanere distrutto. Ad esempio se la temperatura salisse la tensione di scarica BVcex potrebbe scendere al di sotto di Ec con il risultato di far passare spontaneamente il transistore in conduzione in una zona di elevata dissipazione; oppure un guasto nel circuito di ingresso potrebbe portare la tensione di ingresso a zero facendo si' che il punto di lavoro si muova lungo la retta RL2 fino all'intersezione con la caratteristica BVceo o BVcer. Per garantirsi contro questa evenienza e' necessario scegliere una tensione di alimentazione Ec < BVceo. Le condizioni di lavoro per un transistore che lavori con un carico prevalentemente capacitivo (caso b) sono notevolmente diverse. Durante la commutazione da interdizione a saturazione il punto di lavoro si muove nella regione ad alta dissipazione, al di sopra della retta di carico RL (figura 1.15). Ic RL BVcex BV Ec ceo V ce figura 1.15 Nella commutazione inversa il punto di lavoro viaggia al di sotto della retta di carico. E' quindi chiaro che il caso del carico capacitivo presenta condizioni di lavoro meno gravose che non per una commutazione con carico unicamente resistivo. Per un transistore in commutazione che lavori su un carico induttivo (caso c) le condizioni operative sono piu' complicate. Se, infatti, nello stato ON scorre una corrente Ic relativamente alta, all'istante della commutazione del transistore verso l'interdizione la tensione di collettore puo' superare per effetto di autoinduzione la tensione di alimentazione Ec anche di parecchie volte. Come risultato il punto di lavoro puo' entrare nella regione di scarica e di alta dissipazione anche se come tensione di alimentazione Ec e' stato scelto un valore apparentemente di piena sicurezza (figura 1.16). 14 Capitolo I I dispositivi elettronici. Condizioni operative statiche. Ic A A' C C' RL B' B E 'c BVceo BVcex Ec V ce figura 1.16 Si prenda, infatti, in considerazione lo stato ON individuato dal punto A, in cui scorre nel transistore una certa corrente di collettore Ic. All'istante di commutazione la corrente rimane approssimativamente costante, ma la tensione di collettore aumenta finche' viene raggiunto il punto C. Successivamente il punto di lavoro si muove lungo la caratteristica di scarica a valanga finche' raggiunge lo stato OFF al punto B. Durante il periodo nel quale il punto di lavoro si muove nella zona di scarica a valanga, il transistore assorbe e dissipa sotto forma di calore l'energia accumulata nell'induttanza L. Per elevati valori di Ic e L questo periodo puo' raggiungere qualche decina di millisecondi e il transistore puo' essere permanentemente danneggiato per l'eccessiva dissipazione. Condizioni di lavoro accettabili sono raggiunte solo se il punto di lavoro attraversa abbastanza rapidamente la zona di scarica a valanga. Se come tensione di alimentazione Ec si sceglie un valore inferiore a BVceo e la tensione indotta al collettore viene limitata con l'impiego di un diodo ausiliario D (figura 1.15) il punto di lavoro si sposta sulla traiettoria definita dai punti A', C', B' al di fuori della regione di scarica a valanga. Infine nel caso di carico induttivo, per i transistori per i quali il fenomeno assume importanza, una particolare attenzione deve essere posta per evitare che il punto di lavoro entri nella regione di breakdown secondario. Dalla figura 1.17 si vede immediatamente che questo caso e' possibile quando, anche in presenza di piccole induttanze, viene commutata una corrente di collettore Ic > IM. Durante la commutazione verso lo stato OFF il punto di lavoro si muove da A a C, scendendo poi lungo la caratteristica di scarica fino al punto D di intersezione tra la retta di carico e la caratteristica di breakdown secondario. Poiche' il punto D e' un punto di equilibrio stabile in una zona di elevata dissipazione, la distruzione del transistore e' certa. 15 Capitolo I I dispositivi elettronici. Condizioni operative statiche. Ic Ic breakdown secondario A C E scarica a valanga D I M1 I M2 RL B BV ceo V ce figura 1.17 Tuttavia anche quando la retta di carico non interseca la caratteristica di breakdown secondario la situazione non e' scevra di pericoli. La traiettoria sara' da A fino al punto E, cui seguira' una discesa lungo la caratteristica di breakdown secondario e di scarica a valanga fino a raggiungere il punto B. I ripetuti breakdown secondari dovuti alle successive commutazioni alterano via via le caratteristiche del transistore fino a causarne la distruzione. E' interessante notare che il breakdown secondario puo' avvenire anche in condizioni di apparente sicurezza, con una tensione di alimentazione inferiore a BVceo e con tensione di collettore Vce limitata per mezzo del diodo di protezione. 1.3.2) La fuga termica. Piu' volte e' gia' stato fatto notare che le condizioni operative nello stato di interdizione sono determinate dal valore della corrente di perdita Icbo, che, come e' noto, varia in funzione della temperatura secondo la legge k (T −T ) I cbo (Tj ) = I cbo (Ta ).e i j a dove I cbo (Tj ) e I cbo (Ta ) sono rispettivamente la corrente di perdita alla temperatura Tj e alla temperatura ambiente Ta e ki e' un coefficiente di temperatura che per i transistori al silicio vale approssimativamente 0.1/°C. Nel progetto di un circuito di commutazione si deve tener conto della Icbo alla massima temperatura di esercizio e considerare anche il fatto che la corrente di perdita varia nel tempo per fenomeni legati all'invecchiamento del dispositivo. A voler essere piu' precisi la corrente di perdita Icbo, in particolare in transistori di realizzazione non troppo recente, e' originata da tre componenti. • • • componente termica dovuta a coppie elettrone - lacuna generate spontaneamente nella regione di base (componente di volume); componente che si forma nella zona di svuotamento della giunzione di collettore (componente di volume); Componente di dispersione superficiale. 16 Capitolo I I dispositivi elettronici. Condizioni operative statiche. Mentre le prime due componenti sono dipendenti dalla temperatura, la terza dipende unicamente dalla tensione collettore emettitore. Da un foglio di caratteristiche si possono determinare sia la componente di volume che quella superficiale. La prima e' indicata in corrispondenza ad un basso valore della tensione collettore base e per tale tensione viene assegnato sia il valore tipico che quello massimo per il dispositivo. Questa componente, per tutti gli scopi pratici, rappresenta la componente termica della corrente di perdita che non puo' in alcun modo essere ulteriormente diminuita riducendo la tensione Vcb. La terza componente della Icbo viene di solito assegnata in corrispondenza ad alti valori di Vcb (di solito la massima tensione consentita) e si puo' ritenere dipendente unicamente dalla tensione applicata e non dalla temperatura. Per i transistori moderni, realizzati di solito in tecnologia planare, questa componente tuttavia si puo' ritenere trascurabile. Il progettista che volesse determinare il valore della corrente di perdita ad una certa temperatura e a una tensione elevata, dovrebbe calcolare la componente termica utilizzando il valore a bassa tensione e sommare a questo il valore massimo ad alta tensione. A titolo di esempio si consideri un transistore per il quale sia: I 'cbo = 10 nA I "cbo = 100 nA a a Vcb = 2 V Vcb = 25 V a a 25° C 25° C La corrente di perdita a 25 V e alla temperatura di 75° C e' data approssimativamente, ma con una precisione sufficiente agli scopi del progetto, da: ( ) I cbo 75o C = 2(Tmax −Ta ).I 'cbo + I"cbo = 420nA Tuttavia nello stato di interdizione, quando la temperatura e' elevata e parimenti elevata e' la tensione di alimentazione, e' necessario porre attenzione al cosiddetto fenomeno della "fuga termica". Infatti, all'aumentare della temperatura aumenta Icbo ed aumenta quindi la potenza dissipata nel transistore. Di conseguenza aumenta la temperatura della giunzione provocando un ulteriore aumento di Icbo e dando luogo cosi' a una reazione positiva di temperatura. Questa reazione puo' portare in instabilita' il sistema dando luogo alla fuga termica che puo' portare il transistore in piena conduzione ed eventualmente anche danneggiarlo o distruggerlo completamente. All'equilibrio termico ovviamente la potenza dissipata all'interno del dispositivo dev'essere pari a quella trasferita all'ambiente esterno sotto forma di calore. ∆T Rt dove Rt e' la resistenza termica totale tra giunzione e ambiente (°C/W) e ∆T = Tj - Ta e' la differenza di temperatura tra giunzione e ambiente. In termini differenziali quindi deve essere verificato che: P = Vce .I cbo (Tj ) = 1 dP dI = Vce . cbo = dT dT Rt Ricordando pertanto il legame tra corrente di perdita e temperatura ne consegue che per assicurare tale condizione dev'essere: 17 Capitolo I I dispositivi elettronici. Condizioni operative statiche. Vce ≤ 1 k i .R t .I cbo (Tj ) Nelle applicazioni pratiche tuttavia e' opportuno introdurre un coefficiente di sicurezza S > 1, tale da trasformare la relazione precedente in: Vce max = 1 S.k i .R t .I cbo (Tj ) 1.3.3) Condizioni operative in saturazione In un transistore in saturazione ambedue le giunzioni sono polarizzate direttamente. In tale zona la determinazione delle condizioni operative dipende essenzialmente dal guadagno di corrente del transistore. Si considerino, infatti, il circuito di figura 1.18 e i due grafici della corrente e della tensione di collettore in funzione della corrente di base per due esemplari dello stesso transistore. Ec Ic RL Ib Vce I c , Vce I = c I c s= Ec RL Ec - Vces RL limite di saturazione Vce regione di saturazione Ic I bs Ib I 'b Vce Ic Ib I bs I b1 figura 1.18 E' abbastanza evidente che a causa della dispersione del valore del guadagno di corrente la corrente di base I 'b sufficiente a saturare il primo transistore potrebbe non essere sufficiente a saturare il secondo. La corrente Ib1 e' invece adeguata per saturare ambedue i transistori. Il rapporto I I .β s = b1 = b1 I bs I cs viene detto coefficiente di sovrasaturazione, mentre Ibs e' la corrente di base necessaria a raggiungere il limite di saturazione (Ics = β.Ibs). Per assicurare la condizione di saturazione deve essere soddisfatta la relazione: 18 Capitolo I I dispositivi elettronici. Condizioni operative statiche. I .β s = b1 min > 1 I cs Da quanto esposto si deduce che in base viene fornita una corrente in eccesso, pari a Ibx = Ib1 -Ibs, rispetto a quella strettamente necessaria a mantenere il transistore al limite di saturazione. D'altra parte nella regione di saturazione la tensione collettore emettitore e soprattutto la corrente di collettore Ic sono approssimativamente costanti. Di conseguenza man mano che ci si addentra nella regione di saturazione diminuisce il guadagno di corrente, in quanto all'aumento di Ib non si ha un corrispondente aumento di Ic. Si definisce guadagno imposto di corrente βi il rapporto tra corrente di collettore e corrente di base nella zona di saturazione. I I β β i = cs = cs = I b1 s. I bs s E' tuttavia da tener presente che l'addentrarsi troppo nella zona di saturazione, gioca negativamente, come si vedra' piu' avanti in dettaglio, sui tempi di commutazione. Sarebbe piu' conveniente mantenersi ai limiti della saturazione, ma questo e' un obiettivo non facile da raggiungere a causa della larga dispersione dei valori del guadagno di corrente riscontrabile nei diversi esemplari di transistori dello stesso tipo. E' necessario inoltre considerare che β dipende dalla temperatura e dalla corrente di collettore. Di solito all'aumentare della temperatura aumenta anche il guadagno di corrente. Solo in qualche raro caso β presenta un coefficiente di temperatura negativo. Di questa dipendenza dalla temperatura e' necessario tener conto in sede di progetto. In caso contrario al variare delle condizioni ambientali il punto di lavoro potrebbe entrare in una regione operativa ad elevata dissipazione con un conseguente danneggiamento o distruzione totale del transistore. Infine nella determinazione del guadagno di corrente imposto e' necessario prevedere anche una diminuzione di β in funzione del tempo per invecchiamento del componente. La tensione residua nello stato ON dipende dal valore delle correnti di base e di collettore. Quanto maggiore e' la corrente di base per una determinata corrente di collettore tanto minore e' la tensione residua di saturazione Vces.Inoltre, per la maggior parte dei transistori, tale tensione varia con la temperatura e nei transistori al silicio con bassa Icbo o in quelli che presentano una resistenza relativamente alta nella zona neutra di collettore il coefficiente di temperatura e' positivo. Infine e' necessario tener conto, come nei circuiti lineari, che la tensione Vbe presenta un coefficiente di temperatura negativo di circa 2 mV/°C. 1.3.4) Dissipazione negli stati di riposo. Un transistore a giunzione che operi tra interdizione e saturazione presenta il grande vantaggio di dissipare in ambedue gli stati una potenza molto modesta. Infatti nello stato di saturazione la potenza dissipata e' Pc1 = Vces.Ics dove tuttavia Vces e' di pochi decimi di volt. Nello stato di interdizione al contrario la tensione Vce e' alta (in pratica coincide con la tensione di alimentazione Ec), ma e' molto piccola la corrente di collettore e la potenza dissipata e' pari a Pc2 = Ec.Icer 19 Capitolo I I dispositivi elettronici. Condizioni operative statiche. La potenza dissipata nel circuito di ingresso puo' essere completamente trascurata, tenendo presente che per pilotare un transistore e' sufficiente una tensione di pochi decimi di volt e che la corrente Ib e' comunque notevolmente inferiore alla Ic. Durante la transizione da uno stato all'altro la potenza dissipata, nell'ipotesi di carico resistivo, aumenta fino a raggiungere un massimo al centro della retta di carico pari a: E 2c Pc = 4. R L La massima potenza fornita al carico RL si ha in condizioni di saturazione ed e' Pr 2 E c − Vces ) ( = RL E c2 ≅ RL ed e' quattro volte maggiore della massima dissipazione nel transistore. La retta di carico puo' intersecare senza pericolo l'iperbole di massima dissipazione purche' il tempo di transizione dall'uno all'altro stato sia minore della costante di tempo termica del transistore. E' infatti sufficiente che la temperatura raggiunta dalla giunzione a causa di una commutazione non superi la massima temperatura ammessa per quel transistore Tj max. Questo caso assieme a quello della commutazione periodica, notevolmente piu' complesso, verranno presi in esame in dettaglio piu' avanti. 1.4) Condizioni operative statiche dei transistori a effetto di campo. 1.4.1) Il JFET. A causa di un certo numero di caratteristiche negative, tra le quali come prima si puo' citare la difficolta' di integrazione a media e larga scala, i JFET sono scarsamente utilizzati nelle applicazioni digitali. Maggiore diffusione si puo' riscontrare invece in quelle applicazioni in cui si presenta le necessita' di commutare segnali analogici di tensione, poiche' i JFET, in particolare se si usano dispositivi all'arseniuro di gallio (MESFET) in cui la mobilita' degli elettroni e' da 5 a 10 volte superiore che non nel silicio, permettono di ottenere velocita' di commutazione molto elevate. Utilizzando tali dispositivi, a partire dalla meta' degli anni ottanta, sono stati realizzati dispositivi ad alta velocita'. Come si e' gia' visto quando e' stato studiato il JFET le caratteristiche di drain hanno l'aspetto illustrato in figura 1.19. Si distinguono quattro regioni operative; la regione ohmica, quella di saturazione, la regione di breakdown e infine la regione di interdizione, raggiunta quando la polarizzazione inversa del gate raggiunge valori sufficientemente elevati. Facendo lavorare il JFET tra regione ohmica e regione di interdizione si possono ottenere eccellenti caratteristiche come interruttore. Si ricordi che se con 2b viene indicata la larghezza del canale e con W la sua dimensione traversa in direzione ortogonale a b, in modo tale che la sezione del canale sia A = 2b.W, e supponendo che il JFET sia a canale n si puo' affermare che: I D = A. q . N D . µ n . ε x con q carica dell'elettrone, ND concentrazione dei donatori, µn mobilita' degli elettroni e εx componente del campo elettrico lungo il canale. 20 Capitolo I I dispositivi elettronici. Condizioni operative statiche. Regione Ohmica Regione di breakdown Regione a corrente costante o di saturazione I DS VGS = 0,2 V 0 - 0,5 -1 - 1,5 -2 - 2,5 -3 VDS figura 1.19 Con semplici manipolazioni si ottiene: V W I D = 2 b. W. q. N D . µ n . DS = 2 b. q . N D . µ n . . VDS L L dove VDS e' la tensione drain-source e L e' la lunghezza del canale. La resistenza del canale pertanto in zona resistiva e’ pari a: V 1 L rDS (ON ) = DS = . ID 2b.q.N D .µ n W Questo parametro assume notevole importanza nelle applicazioni di commutazione in quanto misura di quanto il FET si discosta dal comportamento di un interruttore ideale. Valori tipici sono compresi tra qualche ohm e qualche centinaio di ohm. C'e' da notare che poiche' la mobilita' degli elettroni e' superiore a quella delle lacune la rDS (ON) dei JFET a canale n e' minore a quella dei JFET a canale p a parita' delle altre caratteristiche. La larghezza 2b del canale e' tuttavia funzione della polarizzazione VGS; quando VGS aumenta la larghezza del canale diminuisce e di conseguenza aumenta la rDS. E' interessante poi notare come la rDS dipenda da fattore di forma L/W cioe' dal rapporto tra lunghezza e dimensione trasversa del canale. L'interdizione si raggiunge, come noto, quando la polarizzazione inversa gate-source e' tale che: VGS ≥ Vp con Vp tensione di pinch-off. In condizioni di interdizione e alla temperatura ambiente di 25° C anche il JFET presenta una corrente di perdita IDS (OFF) che circola nel circuito di drain. Tale corrente tuttavia e' sempre molto piccola e mediamente si puo' ritenere dell'ordine di 100 pA, anche se non e' infrequente che nei 21 Capitolo I I dispositivi elettronici. Condizioni operative statiche. dispositivi integrati scenda a valori dell'ordine del picoampere, per salire invece alla decina di nanoampere nei JFET di notevoli dimensioni. Al gate, polarizzato inversamente rispetto al source, si ha ancora una corrente di perdita IGSS, dovuta alla corrente inversa di saturazione della giunzione gate-source. questa corrente e' generalmente dello stesso ordine di grandezza della IDS (OFF). Ambedue le correnti citate dipendono dalla temperatura e nel silicio raddoppiano circa ogni 10 ÷ 11° C di innalzamento di quest'ultima. Comunque sia il rapporto rDS (ON ) rDS (OFF) in un JFET e' molto buono e raggiunge facilmente valori pari a 109 o superiori. Se tuttavia si aumenta troppo la tensione drain-source si entra nella zona di breakdown nella quale si puo' notare che la scarica avviene a tensioni VDS tanto minori quanto maggiore e' la VGS . Per operare in condizioni di sicurezza e' necessario pertanto che non venga superata la minima tensione che da' origine alla scarica a valanga e che si ha per la massima VGS . Rimangono ovviamente valide tutte le considerazioni fatte per il BJT quando il carico anziche' essere puramente resistivo abbia anche una considerevole parte reattiva, in particolare quando quest'ultima e' di tipo induttivo. 1.4.2) Il MOSFET. Oltre al JFET esiste il FET a gate isolato o MOSFET. Piu' esattamente esistono i MOSFET ad arricchimento, nei quali in assenza di polarizzazione la corrente di drain e' praticamente nulla, e quelli a svuotamento in cui per annullare la corrente di drain e' necessario applicare al gate un'opportuna polarizzazione di segno opposto a quella di drain. Esistono ovviamente sia realizzazioni a canale n che a canale p. Il gate puo' essere realizzato in metallo, isolato dal canale da uno strato di biossido di silicio, ma le attuali tecnologie di fabbricazione preferiscono utilizzare gate realizzati in polisilicio. Con un tale termine si intende un silicio drogato formato da microcristalli orientati casualmente che presenta caratteristiche simili a quelle di un conduttore. Sebbene il principio di funzionamento di un MOS sia essenzialmente diverso da quello di un JFET, le caratteristiche tensione-corrente di drain sono molto simili per i due dispositivi. Unica sostanziale differenza, limitatamente ai MOS ad arricchimento, si puo' riscontrare nell'esistenza di una tensione di soglia Vt . Per tutte le polarizzazioni di gate VGS < Vt il dispositivo risulta interdetto. Questa caratteristica tuttavia non appare negativa nel campo della commutazione, anzi contribuisce ad ottenere uno stato di interdizione sicuro anche in presenza di ampie variazioni dei parametri ambientali e di lavoro. E' bene tuttavia precisare che il valore della tensione di soglia dipende essenzialmente dalla tecnologia impiegata, anche se la tensione di soglia stessa non e' in alcun modo eliminabile. Dai primi MOS prodotti, in cui tale valore si aggirava sui 5 V, si e' passati al giorno d'oggi a MOS la cui tensione di soglia si situa in genere nell'intorno del volt. Anche in un MOS di conseguenza sono individuabili le regioni di funzionamento di interdizione, resistiva e di saturazione. Nella regione ohmica l'analisi approfondita dei fenomeni porta a concludere che per un MOS ad arricchimento 22 Capitolo I I dispositivi elettronici. Condizioni operative statiche. I D = k. [ W 2 . 2.(VGS − Vt ).VDS − VDS L ] con W e L rispettivamente larghezza e lunghezza del canale e k parametro di processo pari a µ n.Co/2, con µn mobilita' degli elettroni nel canale e Co capacita' di gate per unita' di superficie. Da questa capacita', che altro non e' se non il rapporto ε/dox tra costante dielettrica del materiale e spessore dell'ossido di isolamento del gate, viene a dipendere anche la tensione di soglia, influenzata peraltro anche dai livelli di drogaggio delle varie zone. In regione di saturazione, per VGS - Vt < VDS, la corrente e' indipendente da VDS e vale I D = k. W 2 .(VGS − Vt ) L Per VGS - Vt = VDS si ha il confine tra la zona di saturazione e la zona resistiva. Pertanto la relazione I D = k. W 2 .V L DS rappresentata a tratteggio in figura 1.20 rappresenta il confine tra queste due zone. figura 1.20 Dalle espressioni appena scritte si puo' notare che il fattore di forma W/L e' un importante parametro di progetto, che rende possibile ottenere sullo stesso chip transistori che abbiano la stessa tensione di soglia, ma con correnti di drain diverse a parita' di polarizzazione. Inoltre poiche' negli odierni processi NMOS il parametro k ha un valore compreso tra 10 e 50 µA/V2 per ottenere elevati valori della corrente di drain e' necessario scegliere alti valori del fattore di forma. In altre parole e' necessario occupare considerevoli aree sul substrato di silicio. A causa della modulazione della lunghezza del canale al variare della VDS si ha poi un effetto simile a quello dovuto alla modulazione dello spessore di base nei BJT, che fa si' che le caratteristiche di drain nella zona di saturazione non siano perfettamente orizzontali. Tutte le caratteristiche convergono in un punto dell'asse delle ascisse (figura 1.21) di coordinata - 1/λ. La 23 Capitolo I I dispositivi elettronici. Condizioni operative statiche. tensione 1/λ, per similitudine con quanto avviene nel transistore bipolare, e' detta tensione di Early. figura 1.21 Infine e' opportuno ricordare che la caratteristica di trasferimento ID = f(VGS) e' una caratteristica parabolica con vertice in Vt. Esistono delle differenze tra i transistori PMOS e NMOS.I PMOS sono stati i primi ad essere utilizzati, in quanto la tecnologia esistente all'epoca permetteva di ottenere i PMOS piu' facilmente e un minor numero di scarti. Tuttavia nel silicio la mobilita' delle lacune non raggiunge nemmeno la meta' della mobilita' degli elettroni nelle medesime condizioni; cio' significa che a parita' di corrente di drain un PMOS occupa un'area che e' quasi tre volte quella occupata da un NMOS. Le minori dimensioni di un NMOS lo rendono pertanto piu' veloce in quanto si riducono le capacita' parassite alle giunzioni di source e di drain. Oggi pertanto in tutte le applicazioni pratiche, con l'eccezione delle realizzazioni a MOS complementari, vengono utilizzati quasi esclusivamente dispositivi NMOS. Per quanto riguarda i MOS a svuotamento le considerazioni sono analoghe, con l'unica differenza che la tensione di soglia, che in questo caso assume il significato di tensione di interdizione, e' di segno opposto alla tensione drain - source e che il dispositivo puo' funzionare anche ad arricchimento quando la VGS diviene dello stesso segno della VDS. Analogamente a quanto accade per il transistore a giunzione le zone interessate all'uso in commutazione sono la zona resistiva e quella di interdizione. Nella prima la VDS e' piccola e il canale e' aperto con la massima conducibilita', nella seconda il canale e' completamente chiuso e la corrente di drain e' nulla. Fissando l'attenzione sulla zona di interdizione si puo' affermare che nel piano delle caratteristiche di drain essa coincide con l'asse delle ascisse e che la tensione gate-source VGS e' al di sotto della tensione di soglia Vt. In questa situazione il canale o non si e' formato o e' completamente strozzato, a seconda che il MOS sia ad arricchimento o a svuotamento. La tensione VDS dipende dal circuito esterno, come illustrato in figura 1.22. (a). 24 Capitolo I I dispositivi elettronici. Condizioni operative statiche. Va I D= 0 RD ID G VDS = Va S VGS D D D (a) S S (b) (c) figura 1.22 In queste condizioni il circuito equivalente e' rappresentato in prima approssimazione da un interruttore aperto (fig. 1.22 b). Per un'approssimazione migliore, che tenga conto della debole corrente di perdita del MOS il circuito equivalente e' un generatore di corrente (fig. 1.22 c). La situazione pertanto e' molto simile a quella di un transistore a giunzione. Nel funzionamento in zona resistiva ci si trova invece molto prossimi all'asse delle ordinate. Queste condizioni di lavoro vengono raggiunte quando la tensione gate-source e' sufficientemente al di la' della tensione di soglia e in questo caso le resistenza equivalente tra drain e source e molto piccola ed e' la corrente di drain che viene imposta dal circuito esterno. La tensione drain-source VDS e' molto piccola e in prima approssimazione puo' essere ritenuta nulla. Il canale e' completamente formato. Il circuito equivalente e', in prima approssimazione, rappresentato da un interruttore chiuso (fig. 1.23 b), mentre se si vuole una migliore approssimazione e' necessario tener conto della resistenza di conduzione rON. Va ID RD G VDS = 0 S VGS D D D (a) r ON S S (b) (c) figura 1.23 La corrente di drain e': ID = Va V ≅ a R D + rON R D 25 Capitolo I I dispositivi elettronici. Condizioni operative statiche. Puo' avere interesse conoscere da chi dipenda rON e di che ordine di grandezza sia. Tale resistenza e' ovviamente funzione della tecnologia di produzione del transistore e diminuisce al crescere della sezione del canale. Il suo valore rimane compreso tra qualche kiloohm per i MOS utilizzati nei circuiti integrati e il centinaio di ohm per i MOS di interfaccia e discreti, per scendere a qualche ohm o a qualche frazione di ohm nei MOS di potenza. La tensione di soglia e' valutabile sulla transcaratteristica, di cui un esempio e' riportato in figura 1.24. In tale figura e' riportata a tratto pieno anche la transcaratteristica di un JFET. Per quest'ultima si vede che per tensioni VGS < Vp la corrente ID = 0, mentre con VGS = 0 ID = IDSS. Sono queste le due condizioni operative dei JFET quando vengono usati in commutazione. ID I DSS JFET MOS ad arricchimento Vp Vt V GS Vp = tensione di pinch - off I DSS = massima corrente di drain del dispositivo (la giunzione di gate non deve essere polarizzata direttamente) figura 1.24 Per i MOS ad arricchimento se la tensione VGS e' inferiore a quella di soglia Vt il canale non si forma e il transistore risulta interdetto, mentre con tensioni superiori alla soglia la corrente di drain cresce con legge quadratica in funzione della tensione gate-source. Il MOS a svuotamento ha invece un comportamento simile al JFET, ma la sua transcaratteristica si estende anche nel semipiano VGS > 0, poiche' il gate e' isolato e quindi non vi e' alcuna giunzione che possa passare in conduzione. Si puo' pertanto concludere che per JFET e MOS a svuotamento la tensione di soglia coincide in pratica con Vt, mentre per il MOS ad arricchimento la tensione di soglia e' sempre maggiore di zero (per un dispositivo a canale n) e il suo valore dipende essenzialmente dalle tecnologia utilizzata, risultando comunque in media sempre superiore al volt. Si riportano di seguito in figura 1.25 i dati caratteristici del MOS a canale p 3N163, per il quale la resistenza rON si aggira sui 250 ohm in corrispondenza a una VGS = -20 V. 26 Capitolo I I dispositivi elettronici. Condizioni operative statiche. figura 1.25 Esistono ovviamente dispositivi che, come si e' gia' detto, presentano rON inferiori, come ad esempio il MOS BS170 a canale n, che per una VGS = 10 V presenta una resistenza di conduzione di valore massimo pari a circa 5 ohm. In figura 1.26 e' riportata la struttura di un invertitore logico realizzato con un MOS ad arricchimento a canale n. 27 Capitolo I I dispositivi elettronici. Condizioni operative statiche. VA R Vu Vi figura 1.26 Utilizzando le convenzioni della logica positiva, che associa il livello di tensione alto alla costante logica 1 e quello basso alla costante logica 0, il funzionamento e' intuitivo. Se infatti la tensione Vi applicata in ingresso e' alta e maggiore di Vt, la tensione di uscita e' bassa, se viceversa Vi ≅ 0 la tensione di uscita Vu coincide in pratica con quella di alimentazione. Un'interessante caratteristica dei MOS e' poi che essi possono venir utilizzati sia come dispositivi attivi a tre terminali, come condensatori, sfruttando la capacita' gate-canale, o infine come resistori sia pure non lineari. Con riferimento ad un MOS ad arricchimento a canale n una possibile configurazione circuitale atta ad ottenere questo scopo e' riportata in figura 1.27. ID VDD 300 D ID 250 5,5 200 5 G 150 VGS 100 4 50 3,5 3V S 4,5 1 2 3 4 5 6 VDS , VGS figura 1.27 Il bipolo cosi' ottenuto puo' venir utilizzato come carico, ad esempio nel circuito di figura 1.28, dove sono riportate anche le caratteristiche di drain e la relativa curva di carico. 28 Capitolo I I dispositivi elettronici. Condizioni operative statiche. ID VDD 300 5,5 250 carico 200 5 150 4,5 100 4 50 3,5 3V pilota Vo Vi 1 2 3 4 5 VDS 6 figura 1.28 Si tenga presente che in virtu' dell'elevatissima impedenza di ingresso di un MOS la sua corrente di gate e' in pratica nulla e quindi le correnti di drain dei due transistori hanno uguale valore. E' ovvio che la curva di carico che cosi' si ottiene, stante la sua elevata non linearita', ben difficilmente puo' venir in circuiti per segnali di tipo analogico, in quanto introdurrebbe distorsioni inaccettabili. Nei dispositivi attivi utilizzati in campo digitale invece, quando interessa che essi lavorino unicamente ai due estremi della curva di carico, cioe' in zona di interdizione e ohmica, questa non linearita' non costituisce un problema e permette di realizzare circuiti di commutazione in cui vengono utilizzati unicamente dispositivi MOS. La caratteristica di trasferimento che si ricava dal circuito di figura 1.28 avra' l'andamento presentato in figura 1.29. Si nota che le tensione di uscita, sia allo stato alto che allo stato basso e' abbastanza discosta da quella di alimentazione (supposta pari a 6 V, con una tensione di soglia del dispositivo di 2 V) e dello zero. Vo 4 3 2 1 0 1 2 3 4 5 6 Vi figura 1.29 Anche i dispositivi a svuotamento possono venir utilizzati come resistori di carico, quando il loro gate venga connesso con il source. In questo caso la caratteristica del bipolo risultante coincide con la caratteristica di drain del MOS in corrispondenza a una tensione gate - source VGS = 0. Anche in questo caso la caratteristica di trasferimento puo' essere ottenuta in modo del tutto analogo a quanto visto per il MOS ad arricchimento. Si consideri a tale scopo il circuito di figura 1.30. Si supponga che la tensione di soglia del pilota sia 2 V e che la caratteristica VGS = 0 del carico si mantenga costante per tensioni VDS comprese tra 1 e 6 V e pari a 20 µA. 29 Capitolo I I dispositivi elettronici. Condizioni operative statiche. ID VDD 300 250 carico curva di carico 5,5 200 5 150 pilota Vo Vi 4,5 100 4 50 3,5 3V 1 2 3 4 5 VDS 6 figura 1.30 Si noti che anche nel caso che si sta esaminando le correnti di drain dei due MOS si possono ritenere identiche. Pertanto la IDS del transistore pilota si mantiene costante e pari a circa 20 µA per tensioni di drain VDS comprese tra 0 e circa 5V. Nell'intervallo di tensione di drain del transistore pilota compreso tra 5 e 6 V, che corrisponde a tensioni di drain del transistore di carico comprese tra 0 e 1 V, la corrente IDS invece decresce con una certa rapidita' da 20 µA a zero. Vo 6 5 4 3 2 1 1 2 3 4 5 6 Vi figura 1.31 Con riferimento alla figura 1.30 e fissando l'attenzione sulla tensione gate - source, si puo' pertanto affermare che la corrente di drain passa da al suo valore massimo sull'intervallo di tensione VGS compreso tra circa 2 e circa 3 V, dando origine alla caratteristica di trasferimento riportata in modo qualitativo in figura 1.31. Si puo' facilmente notare che nella zona di transizione essa presenta una pendenza molto piu' pronunciata che non quella che si ottiene quando il carico e' realizzato con un MOS ad arricchimento. Inoltre le tensioni relative ai due stati logici sono molto piu' prossime alle tensioni d’alimentazione e di massa che non nel caso precedente. 30 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. 2.1) Introduzione. Quando un transistore viene analizzato limitatamente ad una situazione di piccoli segnali le sue caratteristiche possono normalmente essere linearizzate nell'intorno del punto di lavoro. Nei circuiti di commutazione tuttavia i dispositivi vengono pilotati al di fuori della zona attiva e i segnali in gioco non possono piu' essere considerati, ne' in ingresso, ne' in uscita, piccoli segnali. I modelli incrementali allora non sono piu' un'approssimazione ragionevole e al limite non possono venir utilizzati nemmeno se il funzionamento del transistore rimane tutto all'interno della regione attiva. E' necessario rivolgersi ad altri modelli che approssimino il comportamento non lineare del dispositivo in condizione di segnali ampi. Limitatamente a condizioni di lavoro a bassa frequenza esistono diversi modelli atti allo scopo; tuttavia, in particolare per il transistore bipolare a giunzione, questi modelli trascurano completamente quelle componenti delle correnti che vanno a modificare la concentrazione dei portatori di carica in eccesso accumulati nel transistore stesso rispetto a quella in equilibrio termico. Inoltre, nella quasi totalita' dei casi, questi modelli partono dall'ipotesi che lo spessore della base o la lunghezza del canale sia costante, indipendentemente dalle condizioni operative e molto spesso trascurano le cadute di tensione dovute ai contatti e alle regioni neutre. 2.2) Il transistore a giunzione. Si consideri il semplice modello monodimensionale di un transistore a giunzione riportato in figura 2.1, nell'ipotesi che le diverse regioni costituenti il transistore siano regioni omogenee. V BE IE VBC + - + emettitore base collettore n p n IC IE IC VBE VBC IB W X' X" IB zone di svuotamento giunzioni figura 2.1 Il principale effetto delle tensioni applicate alle due giunzioni del transistore consiste, come e' noto, in una variazione dei portatori di minoranza ai bordi delle regioni di carica spaziale. In una giunzione pn con basso livello di iniezione, quali quelle che si stanno considerando, la concentrazione dei portatori di minoranza ai due lati della giunzione e': p n = p no .e n p = n po .e 31 qV kT qV kT Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. con k costante di Boltzmann, q carica dell'elettrone, V tensione applicata alla giunzione, T temperatura assoluta e npo e pno concentrazione dei portatori minoritari in condizioni di equilibrio. Pertanto nello spazio di base la concentrazione dei portatori minoritari in eccesso rispetto alle condizioni di equilibrio in corrispondenza alla giunzione di emettitore (x = 0) e': q.Vbe n 'b (0) = n bo . e k .T − 1 mentre quella alla giunzione di collettore (x = w) e': qk.V.Tbc n (w ) = n bo . e − 1 ' b Ovviamente analoghe relazioni si hanno nelle regioni di emettitore e di collettore a ridosso delle giunzioni. qk.V.Tbe qk.V.Tbc ' p (0) = p eo . e − 1 p c (0) = p co . e − 1 Le tensioni d polarizzazione Vbe e Vbc determinano percio', in corrispondenza alle giunzioni, delle concentrazioni di portatori minoritari diverse da quelle di equilibrio e determinano altresi' una distribuzione non uniforme di tali portatori nella base del transistore, dando luogo a una corrente di diffusione. L'andamento della concentrazione puo' essere determinato risolvendo l'equazione di diffusione d 2n b n b Db. 2 = dx τb ' e con le condizioni al contorno n 'b (0) e n 'b (w ) , dove Db e τb sono rispettivamente la costante di diffusione dei portatori di minoranza e il loro tempo medio di vita nella base. Una semplice soluzione di tale equazione si puo' ottenere osservando che in tutti i transistori solamente una piccola frazione dei portatori minoritari iniettati in base si ricombina, in quanto la base e' estremamente sottile e debolmente drogata. In prima approssimazione pertanto la ricombinazione nello spazio di base si puo' trascurare e l'equazione diviene: Db . d2nb dx 2 =0 Si vede immediatamente che in queste ipotesi la concentrazione dei portatori minoritari nello spazio di base varia linearmente con la posizione nella base stessa e l'andamento della concentrazione dei portatori in eccesso rispetto alla condizione di equilibrio e': qk.V.Tbe x qk.V.Tbc w−x n (x ) = .n bo . e − 1 + .n bo .. e − 1 w w ' b Tale andamento e' illustrato in figura 2.2; in tale figura e' riportato anche l'andamento qualitativo della distribuzione esatta, che, tranne che agli estremi (per x = 0 e x = w), per effetto del 32 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. piccolo ammontare della ricombinazione, sta sempre al di sotto di quella calcolata nelle ipotesi semplificative in cui ci si e' messi. n , n b(0) approssimazione lineare distribuzione esatta , n b(w) 0 w figura 2.2 x La distribuzione trovata e' valida ovviamente anche quando la polarizzazione delle giunzioni e' inversa. In tal caso, purche' q .V e k .T << 1 cioe' quando la polarizzazione inversa e' di almeno di qualche centinaio di millivolt, la concentrazione a ridosso della giunzione diviene: n 'b = − n bo Nelle regioni di emettitore e di collettore, che normalmente sono ampie rispetto alla lunghezza di diffusione si ottiene: x' q.Vbe − p x = p eo . e kT − 1.e Le x" q .Vbc kT − Lc ' " − 1.e p c x = p co . e ' e ( ) ' ( ) con Le e Lc lunghezze di diffusione rispettivamente nell'emettitore e nel collettore. La corrente totale che fluisce in ciascuna giunzione e' determinata dalla somma della corrente di elettroni e lacune a tale giunzione. Se si puo' formulare l'ipotesi, d'altra parte realistica, che nelle zone di carica spaziale la ricombinazione sia trascurabile, la densita' di corrente totale in ciascuna giunzione e' la somme delle correnti dei portatori di minoranza ai margini della regione di carica spaziale, poiche' si e' supposto che le regioni del transistore siano omogenee, tali correnti sono le correnti di diffusione. Considerato pertanto un transistore la cui area di giunzione sia A, si ottiene: dn 'b I e = q.A. − D b . dx 33 dp 'e − De dx ' x =0 x '= 0 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. dn 'b I c = q.A. − D b . dx x=w dp 'c − De dx" x "=0 Poiche' le concentrazioni che appaiono nelle precedenti relazioni sono linearmente dipendenti dai fattori di tensione qk.V.Tbe e 1 − qk.V.Tbc e 1 − e anche i loro gradienti e di conseguenza le correnti terminali Ie e Ic sono dipendenti dagli stessi fattori. Si puo' in definitiva scrivere che: Vbc Vbe q.kT q.kT I e = I es . e − 1 − α R .I cs . e − 1 (2.2.1) I e = −α F .I es . e q .Vbe kT − 1 + I cs . e q .Vbc kT − 1 dove Ies, Ics, αR e αF sono delle costanti il cui valore dipende dalle costanti di diffusione, dalla lunghezza di diffusione, dalle concentrazioni di equilibrio dei portatori di minoranza, dall'area e dallo spessore della base. Le relazioni appena ricavate sono le gia' note relazioni di Ebers-Moll, valide per qualsiasi transistore in cui le cadute di tensione siano trascurabili eccetto che in corrispondenza alle giunzioni, in cui la distribuzione dei portatori sulla giunzione sia uniforme e tali che tutte le componenti della corrente di emettitore e di collettore che non attraversino la giunzione siano trascurabili. L'osservazione delle relazioni trovate per le correnti terminali permette di trarre alcune importanti conclusioni. Le quattro costanti Ies, Ics, αR e αF sono moltiplicate ciascuna per i fattori di tensione che dipendono da Vbe e Vbc e dipendono d'altra parte dalle concentrazioni di equilibrio dei portatori minoritari a ridosso delle giunzioni. Poiche' tali concentrazioni sono proporzionali al quadrato della concentrazione ni dei portatori nel semiconduttore intrinseco, ciascuna delle costanti Ies e Ics conterra' come fattore n 2i . Senza considerare i valori precisi dei quattro coefficienti che compaiono nelle (2.2.1) si possono dedurre due conseguenze per quanto riguarda il comportamento del transistore ad ampi segnali. • Le correnti di emettitore e di collettore dipendono da ambedue le tensioni emettitore-base e collettore base. • Per tensioni fisse le correnti terminali sono proporzionali a n 2i e quindi sono fortemente dipendenti dalla temperatura. Benche' tutta la trattazione precedente sia stata condotta a partire da un modello monodimensionale del transistore, le equazioni di Ebers-Moll sono valide per qualsiasi transistore a 34 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. basso livello di iniezione, che abbia cadute trascurabili eccetto che alle giunzioni e senza riguardo alla sua struttura. E' sufficiente che le superfici di giunzione di emettitore e di collettore siano tali che la distribuzione dei portatori sia uniforme e che le componenti di corrente di emettitore e collettore attraversino tali superfici. Le equazioni di Ebers-Moll soddisfano le condizioni di reciprocita' in quanto i coefficienti di accoppiamento incrociato α R . I cs e α F . I es sono uguali. Ci si rende conto della plausibilita' di questa affermazione considerando la forma della (2.2.1) quando le tensioni di polarizzazione Vbe e Vbc sono piccole in rapporto al termine kT/q. In tal caso, espandendo in serie e troncando al primo termine si ha: q q I e = I es . .Vbe − α R .I cs . .Vbc kT kT (2.2.2) q q I e = −α F .I es . .Vbe + I cs . .Vbc kT kT Si vede pertanto che il transistore, quando le tensioni alle giunzioni sono piccole si comporta come un dispositivo lineare. D'altra parte per tensioni applicate sufficientemente basse ci si puo' aspettare che il transistore si comporti come un materiale passivo cui afferiscano tre terminali, e quindi soddisfi i principi di linearita' e reciprocita'. La linearita', come detto, e' evidenziata dalle (2.2.2), mentre la reciprocita' richiede che: α R . I cs = α F . I es Poiche' le quantita' che compaiono in questa relazione non dipendono dalle tensioni alle giunzioni, essa si puo' ritenere applicabile per qualsiasi tensione di polarizzazione, di arbitraria ampiezza e segno. E' ovvio che la condizione di reciprocita' puo' essere confermata valutando direttamente i coefficienti delle equazioni di Ebers-Moll. Infine poiche' I b = −(I e + I c ) e' evidente che anche la corrente di base dipende linearmente dai fattori di tensione. Delle due equazioni che descrivono le caratteristiche voltamperometriche di un transistore ideale puo' essere data una semplice e vantaggiosa interpretazione circuitale, che si avvale di due generatori comandati e di due diodi ideali a caratteristica esponenziale. Tale modello e' riportato in figura 2.3. 35 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. α RI R E α FI F IF IR I ES C I CS B figura 2.3 IES e ICS sono rispettivamente le correnti di saturazione dei due diodi di emettitore e di collettore. Questo modello ha una semplice interpretazione in termini di funzionamento interno del transistore. Le correnti di emettitore e di collettore possono essere ambedue risolte in due componenti. Quella che fluisce nel diodo e' la conseguenza dell'iniezione di portatori minoritari nella corrispondente giunzione, mentre quella fornita dal generatore di corrente e' la conseguenza dell'iniezione all'altra giunzione di portatori di minoranza, che per diffusione giungono all'altra giunzione attraversando l'intera base. In tal modo la componente della corrente di emettitore Vbe q.kT I F = I ES . e − 1 deriva dall'azione del diodo alla giunzione di emettitore, mentre la seconda componente pari a q.Vcb − α R .I CS . e kT e' conseguenza dell'azione del diodo alla giunzione di collettore ed esiste in quanto una frazione αR della corrente del diodo e' trasportata attraverso la base all'emettitore dove contribuisce alla corrente totale. Analoghe considerazioni possono venir fatte per la corrente totale di collettore. Se la regione di base viene resa molto larga in rapporto alla lunghezza di diffusione1 la frazione della corrente del diodo che attraversa la base senza ricombinarsi diviene molto piccola (cioe' divengono molto piccoli i coefficienti αR e αF) e il modello del transistore degenera in due diodi contrapposti con catodo o con anodo comune. I quattro coefficienti che compaiono nel modello di Ebers-Moll hanno una semplice interpretazione fisica suggerita dal modello circuitale a due diodi. Se i terminali di base e di collettore vengono cortocircuitati, la caratteristica voltamperometrica dei terminali di emettitore e di base e' quella ideale di un diodo a giunzione che abbia una corrente di saturazione pari a IES. Inoltre il rapporto tra la corrente di collettore e quella di emettitore e' in queste condizioni - αF. Percio' IES Si ricordi che la lunghezza di diffusione e' la lunghezza L sulla quale la concentrazione dei portatori minoritari si riduce secondo il fattore 1/e = 0,37. Essa e' legata alla costante di diffusione D e al tempo medio di vita τ dei portatori minoritari dalla relazione L = D.τ 1 36 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. e' la corrente di saturazione in cortocircuito della giunzione di emettitore, mentre il coefficiente αF e' detto guadagno diretto di corrente in cortocircuito. Analoghe considerazioni si applicano alla corrente di collettore, con emettitore e base cortocircuitati. ICS e' la corrente di saturazione in cortocircuito della giunzione di collettore, αR e' detto guadagno inverso di corrente in cortocircuito. αF e αR sono ambedue minori dell'unita' sia perche' non tutta la corrente iniettata alla giunzione si compone di portatori minoritari, sia perche' non tutti i portatori minoritari iniettati in base raggiungono l'altra giunzione in quanto esiste sempre una sia pur piccola ricombinazione. 2.2.1) Le regioni di operazione. Il modello di Ebers-Moll descrive il comportamento esterno del transistore in corrispondenza a qualsiasi condizione di polarizzazione. In molte applicazioni tuttavia la struttura del circuito limita il campo di operazione rendendo possibile semplificare il modello non lineare. Di solito le caratteristiche voltamperometriche del transistore vengono divise in quattro regioni di operazione definite in base allo stato delle tensioni di polarizzazione delle due giunzioni. Per ciascuna di tali regioni e' opportuno prendere in esame la forma semplificata del modello di Ebers-Moll. a) Regione di interdizione. La regione operativa individuata quando ambedue le giunzioni sono polarizzate inversamente prende il nome di regione di interdizione. Nello spazio di base la concentrazione dei portatori minoritari in eccesso rispetto alla condizione di equilibrio e' praticamente pari a -nbo, come illustrato in figura 2.4 (a), e le correnti terminali sono costanti e in sostanza indipendenti dalle tensioni applicate, quando esse siano di ampiezza pari a qualche volta kT/q. Il modello approssimato e' in tal caso, tenendo conto delle Vbe << − k. T q Vbc << − e k. T q e della condizione di reciprocita', quello illustrato in fig. 2.4 (b). , pe x , , pc nb , 0 w 0 0 -p eo x" x (a) -pco -n bo (1 - α F).I ES (1 - α R).I CS E C figura 2.4 B 37 (b) Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. b) La regione normale (o attiva). Un transistore opera nella regione normale quando la giunzione di emettitore e' polarizzata direttamente, mentre quella di collettore e' polarizzata inversa. Molto spesso tale regione e' chiamata anche attiva. Il profilo di concentrazione dei portatori minoritari in base e' illustrato in figura 2.5 . , e p pc, , n b (0 ) pe (0 ) x , b n , 0 w 0 0 x" x -n bo -pco figura 2.5 Se la tensione inversa applicata alla giunzione di collettore e' sufficientemente grande da rendere trascurabile il termine esponenziale rispetto all'unita', le equazioni voltamperometriche per ampi segnali diventano: Vbe q.kT I e = I ES . e − 1 + α R .I CS q.Vbe I c = −α F .I ES . e kT − 1 − I CS = −α F .I e − (1 − α F α R ).I CS Tali equazioni possono venir rappresentate indifferentemente da uno dei due modelli circuitali illustrati in figura 2.6. In essi e' stato introdotto il parametro Ico, corrente di saturazione di collettore a emettitore aperto, pari a: I co = (1 − α F α R ).I cs 38 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. αF 1 IbI co 1 - αF 1 - αF α RI CS α FI e + Ico E Ie B C Ib Ic C Ic I ES α RI CS B I ES E a) generatori comandati dalla corrente di emettitore a) generatori comandati dalla corrente di base figura 2.6 Frequentemente i generatori di corrente in parallelo con i diodi ideali possono essere trascurati poiche' danno un contributo alla corrente totale trascurabile rispetto alle correnti tipiche di emettitore delle regione attiva. c) La regione inversa. Quando la giunzione di collettore viene polarizzata direttamente mentre quella di emettitore e' polarizzata inversamente ci si trova ad operare nella regione inversa. Il comportamento del dispositivo e' essenzialmente quello della regione attiva eccetto che il collettore e l'emettitore si scambiano i ruoli e corrispondentemente variano la distribuzione interna dei portatori minoritari in base e il modello ad ampi segnali. C'e' tuttavia da rilevare che normalmente αR e' notevolmente minore che non αF sia perche' l'efficienza dell'iniezione dei portatori e' di solito diversa per le due giunzioni in quanto collettore e emettitore sono di solito drogati differentemente, sia perche' in parecchi transistori l'area della giunzione di collettore e' maggiore che non quella della giunzione di emettitore, in modo che il guadagno diretto di corrente αF sia il piu' grande possibile. Di conseguenza una frazione piuttosto grande dei portatori iniettati in base dalla giunzione di collettore, che in questo caso e' polarizzata direttamente, si ricombina nella base e non viene raccolta dalla giunzione di emettitore rendendo il guadagno inverso di corrente αR piuttosto basso. d) La regione di saturazione. L'operazione in regione di saturazione si ottiene quando ambedue le giunzioni vengono polarizzate direttamente. La concentrazione dei portatori minoritari nello spazio di base e' in questo caso sempre maggiore di quella all'equilibrio, poiche' ambedue le giunzioni iniettano tali portatori nella base stessa. L'andamento e' illustrato in figura 2.7. L'andamento della concentrazione puo' tuttavia essere scomposto in due profili (figura 2.7), corrispondenti rispettivamente all'operazione normale e a quella inversa. Anche le correnti terminali possono essere divise in componente normale e inversa, tenendo presente che le relazioni tra correnti e carica in eccesso sono relazioni lineari. Di conseguenza l'operazione nella regione di saturazione puo' essere considerata come la sovrapposizione di operazioni nella regione normale e in quella inversa. 39 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. , , , pe n b x pc componente normale , 0 x" w x 0 0 componente inversa figura 2.7 Si noti tuttavia che le tensioni terminali non possono essere considerate derivate dalla sovrapposizione di componenti normali e inverse poiche' la relazione tra densita' di carica in eccesso e tensione di polarizzazione e' fortemente non lineare. Per questo motivo il modello nella regione di saturazione non puo' venir semplificato e deve essere utilizzato il modello completo. In alcuni casi e' conveniente dividere la regione di saturazione in due regioni a sua volta. Queste sono la regione di saturazione diretta, in cui la giunzione di emettitore e' polarizzata direttamente piu' che non quella di collettore, e la regione di saturazione inversa in cui e' la giunzione di collettore ad essere polarizzata direttamente piu' che non quella di emettitore. 2.2.2) Circuito equivalente ad ampi segnali di un transistore a giunzione. Un circuito equivalente ad ampi segnali di un transistore a giunzione, che include tutti i parametri che influenzano il suo funzionamento e che puo' venir derivato dal modello di Ebers-Moll e' illustrato in figura 2.8. α r i c1 E ie α f i e1 C TE reb' i e1 i c1 i e2 C DE C TC r cb' i c2 B' r bb' i B figura 2.8 40 C CD ic C Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. Di tutti i parametri verranno presi in considerazione di volta in volta solo quelli che influenzano il funzionamento in una determinata regione di operazione. I diodi rappresentativi delle giunzioni di emettitore e di collettore sono stati sostituiti dalle resistenze non lineari reb' e rcb'. Quando le giunzioni sono polarizzate direttamente esse possono venir sostituite con il loro modello linearizzato costituito da una resistenza r in serie con un generatore di tensione Vo. Come e' noto a 25° C il valore di r e' dato da r= k. T q. I k. T = 26 mV q con dove I e' la corrente diretta della giunzione espressa in milliampere. Le due capacita' CD di diffusione sono dei parametri direttamente proporzionali alle correnti dirette delle giunzioni e normalmente di valore nettamente superiore alle capacita' di transizione CT delle stesse giunzioni. In polarizzazione diretta pertanto le capacita' di transizione possono venir trascurate. La capacita' di diffusione della giunzione di emettitore, direttamente proporzionale alla corrente di emettitore, e la costante di tempo τ αF = rE . C DE definiscono la frequenza angolare di taglio del transistore nella regione attiva ω αF = 1 τ αF mentre τ αR = rC . C CD definisce la frequenza angolare di taglio nella regione inversa ω αR = 1 τ αR αF e αR possono quindi essere considerate funzione della frequenza conglobando in esse l'effetto delle capacita' di diffusione. In polarizzazione inversa e' invece necessario tener conto delle capacita CTE e CTC, che dipendono dalla tensione inversa applicata alla giunzione. Tuttavia tali capacita' dipendono dalla tensione inversa applicata alla giunzione. All'aumentare di tale tensione aumenta lo spessore della zona di carica spaziale e diminuisce la capacita' di transizione. In generale per la capacita' di transizione il legame tra tensione applicata e valore della capacita' stessa si puo' ritenere del tipo: Ct CT = n Vj + δ dove Vj e' la polarizzazione inversa della giunzione, δ e' il potenziale di contatto della giunzione in assenza di tensioni applicate dall'esterno (0,2 - 0,4 V) e n dipende dal tipo di giunzione. Per giunzioni realizzate secondo vecchie tecnologie, come ad esempio per le giunzioni a lega, n=1/2, per quelle ad accrescimento o diffuse n=1/3, mentre per quelle realizzate in tecnologia planare epitassiale n=1/10. Per giunzioni di quest'ultimo tipo pertanto la capacita' di transizione si puo' ritenere praticamente indipendente dalla tensione applicata. Indicando con CT(E) il valore della 41 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. capacita' di transizione misurato in condizioni di piccoli segnali ad una specifica tensione inversa E si ha quindi che: E+δ C T (Vj ) = C T (E ). Vj + δ n che per δ << E, Vj puo' venir semplificata in E C T (Vj ) ≅ C T (E ). Vj n Se ad esempio per un transistore a lega si avesse con E = 8 V una CT(E) = 40 pF, allora per Vj = 2 V la capacita' di transizione sarebbe pari a CT =40. 8 = 80 pF 2 Si tenga ora presente che quando si commuta da esempio dall'interdizione alla conduzione la tensione inversa applicata alla giunzione di collettore varia da un valore relativamente alto Vj1 ad una polarizzazione inversa o addirittura ad una lieve polarizzazione diretta Vj2. La capacita' di transizione su questo intervallo di tensione puo' variare notevolmente. In tal caso e' conveniente tener conto di questa variazione tramite il valor medio integrale della capacita' di transizione, definito come j1 (δ + Vj1 ) − (δ + Vj1 ) .(δ + Vj2 ) 1 Ct C Ti = .∫ .dVj = C T (Vj1 ). n ∆V Vj 2 V + δ ∆V.(1 − n ) V n 1− n j Qualora il potenziale di contatto possa venir trascurato si ottiene: 1− n Vj2 1− Vj1 C Ti = C T (Vj1 ). Vj 2 (1 − n ).1 − Vj1 Se ad esempio si avesse Vj2 = 0,1.Vj1 si otterrebbe per: n=1/2 n=1/3 n=1/10 CTi = 1,52 CT (Vj1) CTi = 1,3 CT (Vj1) CTi = 1,08 CT (Vj1) Nel caso particolare di commutazione da interdizione a saturazione (Vj2 ≅ 0 ) la precedente relazione si riduce a: 42 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. C Ti ≅ C T (Vj1 ) 1− n e la capacita' media integrale assume il valore n=1/2 n=1/3 n=1/10 CTi = 2 CT (Vj1) CTi = 1,5 CT (Vj1) CTi = 1,11 CT (Vj1) 2.2.3) I tempi di commutazione. Come si e' precedentemente accennato, in un interruttore ideale i tempi di commutazione sono nulli. Per gli interruttori ideali, al contrario, il tempo di commutazione, per quanto piccolo 3e' sempre finito. In figura 2.9 sono evidenziati i tempi di commutazione di un transistore a giunzione sia per quanto riguarda il passaggio dall'interdizione alla saturazione che viceversa. Quando il transistore e' portato in conduzione a partire da uno stato di interdizione si ha un ritardo iniziale pari a td prima che la corrente di collettore inizi a fluire; tale tempo dipende dalle capacita' di transizione di emettitore e di collettore e dalla tensione inversa della giunzione di emettitore immediatamente prima dell'applicazione del segnale di comando. Quanto maggiore e' la tensione inversa e tanto maggiore e' il tempo di ritardo. Il tempo di salita tr dipende invece dai parametri ad alta frequenza del transistore e dal pilotaggio di base. Quando il segnale di comando Vin ritorna allo stato iniziale, se il transistore era stato precedentemente portato in saturazione, la corrente di collettore continua a scorrere per un periodo ts, detto tempo di restituzione, che aumenta all'aumentare di β e del pilotaggio di base. Vin +V Rc t Vce 90% Vce Vin 10% t td tr ts tf figura 2.9 Infine il tempo di discesa tf dipende, come il tempo di salita, dai parametri ad alta frequenza del transistore e dal pilotaggio di base. Al solito tempo di salita e tempo di discesa vengono definiti come il tempo necessario affinche' la corrente di collettore vari tra il 10% e il 90% del suo valor massimo e viceversa. 43 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. a) Commutazione in regione attiva. In figura 2.10 e' riportato lo schema di un transistore utilizzato come interruttore nella configurazione ad emettitore comune (a) assieme al relativo circuito equivalente (b).Per semplicita' si e' considerata una resistenza di carico molto piccola, in modo da rendere trascurabili gli effetti reattivi del carico. Nel caso che si sta esaminando la capacita' di transizione CTE si trova in parallelo con quella di diffusione CDE e pertanto puo' essere trascurata poiche' CTE << CDE. Allo stesso modo, per le ipotesi in cui ci si e' posti, si puo' trascurare l'effetto della capacita' CTC e della resistenza di carico RL, mentre la corrente di perdita si supporra' talmente piccola da poter essere ignorata. Il transistore sia pilotato da un generatore di tensione Es attraverso una resistenza esterna RB. Al transistore venga applicato all'istante to un gradino di tensione tra zero e il valore Es1M, tale da portarlo al limite della saturazione, rimanendo pero' il punto di lavoro nella regione attiva. All'istante di applicazione del gradino la capacita di diffusione rappresenta un cortocircuito e la corrente diretta di base assume il suo valore massimo pari a: I B1M = E s1M = ∆I B R B + rBB' C TC RB RL r BB' B iC B' iB RB Ec es es VBE C CTE C DE i EC VB'E rE i ER αFi ER RL Ec iE (b) (a) figura 2.10 Dall'esame del circuito equivalente si deduce immediatamente che la variazione della corrente di emettitore ∆iE e' uguale a ∆iB in quanto, essendo iER = 0 anche iC = 0. Le condizioni iniziali sono evidenziate nelle forme d'onda riportate in figura 2.11. A partire dall'istante to la tensione VB'E inizia a salire con costante di tempo pari a: τ E = rE . C DE = 1 ω αF Le correnti iC e iE aumentano allo stesso modo, mentre iB diminuisce. Se la tensione Es1M viene applicata per un tempo sufficientemente lungo le correnti di base, emettitore e collettore raggiungono i loro valori di regime IB1, IEM e ICM, che dipendono solo dalle condizioni di lavoro in continua dei circuiti di ingresso e di uscita. 44 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. Assumendo ora che all'istante t1 la tensione di ingresso ricommuti da Es1M a zero, risulta evidente che la corrente di base diminuisce di una quantita' pari a ∆iB, mentre la corrente di emettitore varia della stessa quantita'. Come risultato si ha un flusso inverso di corrente pari a: I B2 M = VB'E R B + rBB' dove VB'E e' la tensione presente immediatamente prima della commutazione verso l'interdizione. A partire dall'istante t1 la tensione VB'E diminuisce esponenzialmente con costante di tempo τE e anche tutte le altre correnti si portano verso lo zero allo stesso modo. e E s t t1 o s1M t iB -E s2M I B1M ∆ iB I I iE I' B2M B1 t B2M I EM - ∆ iB - ∆ i'B ∆ iE = ∆ i B t ic I CM 90% 10% t t t'f r t f figura 2.11 E' interessante notare che quando il transistore e' pilotato attraverso una resistenza RB >> rBB' la corrente di base e' praticamente un'onda quadra. Nelle condizioni illustrate i due tempi tr e tf di salita e di discesa sono uguali. Il tempo di discesa tf puo' tuttavia essere materialmente ridotto applicando una tensione inversa al circuito di ingresso (tali condizioni sono evidenziate in figura 2.11 dagli andamenti a tratteggio). Se ad esempio la tensione di ingresso variasse tra Es1M e -Es2M, allora all’istante t1 fluirebbe una corrente inversa di base I 'B2 M maggiore che non nel caso precedente. La tensione VB'E decrescerebbe ancora esponenzialmente, con costante di tempo τE, ma la maggior variazione iniziale ∆'iE della corrente di emettitore e la maggior corrente inversa di base darebbero luogo ad un 45 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. tempo di discesa t'f < tf. Tanto maggiore e' la corrente inversa nell'istante di commutazione all'interdizione e tanto minore e' il tempo di discesa. Allo stesso modo puo' essere ridotto il tempo di salita tr aumentando la tensione Es1M durante la commutazione in conduzione, ma in tal caso il punto di lavoro entra nella regione di saturazione. Se poi la resistenza di carico RL non e' trascurabile, come si e' supposto inizialmente, e' necessario tener conto dell'effetto della capacita' di transizione CTC. Le considerazioni fatte tuttavia rimangono identiche, ma la corrente di collettore varia piu' lentamente per effetto della costante di tempo (R L + rE ).C TC . b) Commutazione nella regione di saturazione. Al paragrafo precedente e' stato fatto notare che il tempo di salita' puo' essere ridotto portando il punto di lavoro nella regione di saturazione. Il tempo di salita tr infatti viene diminuito poiche' la corrente di collettore che tende al valore I'CM = βo.IB1M viene limitata dalla resistenza di carico RL al valore ICM = βo.IBs, come illustrato in figura 2.12. es t2 E s1M to t1 t E s2M E iB I B1M I BS t iC τ I B2M , I CM I CM 90% A 10% t ts tr tf β o I B2M τ τs figura 2.12 46 B Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. In figura 2.13 e' riportato il circuito equivalente relativo alla regione di saturazione, in cui, come si vede, compaiono sia i parametri della regione attiva che di quella inversa. αFi ER RB r BB' B C TC iC B' iB C i ER i EC es i CC rE CDE iE αR i CR rc RL i CR Ec figura 2.13 Quando ci si trova al limite della saturazione VCE = VBE, cioe' VCB = 0; con un ulteriore aumento della corrente di base il punto di lavoro entra nella regione di saturazione dove ambedue le giunzioni di emettitore e di collettore sono polarizzate direttamente e la corrente di collettore rimane praticamente costante. Non appena la giunzione di collettore e' polarizzata direttamente in base vengono iniettati portatori di minoranza addizionali anche dal lato collettore e quindi in condizioni di saturazione nella base e' presente un numero di portatori minoritari maggiore di quello necessario a raggiungere il valore ICM. Questi portatori in eccesso hanno un largo effetto sul comportamento del transistore durante la commutazione all'interdizione. Dopo tale commutazione infatti i portatori in eccesso devono venir rimossi dallo regione di base. Con riferimento al circuito equivalente cio' significa che la capacita' di diffusione CDE deve venir scaricata e cio' avviene con una costante di tempo ts che dipende sia dai parametri diretti che da quelli inversi ωαF, ωαR, αF, αR.Tale scarica e' rappresentata in figura 2.12 dall'andamento esponenziale (A). La corrente di collettore si mantiene pertanto approssimativamente costante finche' all'istante t2 i portatori in eccesso vengono eliminati dalla base. Per tempi superiori a t2 e' valido il normale circuito equivalente della regione attiva e la corrente di collettore decresce esponenzialmente (B) con costante di tempo τ = rECDE. Appare chiaro dalle forme d'onda di figura 2.12 che il tempo di restituzione ts puo' venir ridotto aumentando la corrente inversa IB2M. 47 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. 2.2.4) Il calcolo dei tempi di commutazione. a) Commutazione in regione attiva. a1) Pilotaggio a bassa impedenza. Con riferimento al circuito equivalente di figura 2.14, si consideri il caso della commutazione da interdizione a conduzione. In serie con emettitore, base e collettore siano inserite le tre resistenze RE, RB e RL. Per semplicita' le correnti di perdita e l'effetto della resistenza di carico RL e della capacita' CTC verranno trascurati. C TC RB r BB' B iC B' iB C αF iE CDE rE C E es RL r Ec iE figura 2.14 Ricordando che iB = iE - iC = (1 - αF).iE e definendo Z E (s ) = rE 1 + s.τ αF con τ αF = rE .C DE si ha: es (s ) = [Z E (s ) + R E ].i E (s ) + (rBB ' + R B ).i B (s ) i B (s ) = [1 − α F (s )].i E (s ) Il fattore di amplificazione di corrente αF(s) e' dato da: α F (s ) = α F0 1 + s.τ αF dove αF0 e' il valore a bassa frequenza di αF. Risolvendo le precedenti equazioni quando in ingresso viene applicato un gradino di ampiezza Es1M, si ottiene, dopo l'antitrasformazione: 48 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. i E (t ) = α .(R + r ) − rE − τt E s1M .1 − F 0 B BB' .e R E + rE + (R B + rBB' )( . 1 − α F0 ) rBB' + R B + R E t − α F0 .E s1M τ i C (t ) = .1 − e R E + rE + (R B + rBB ' )( . 1 − α F0 ) (2.2.3) t − α F0 .R E + rE E s1M τ i B (t ) = .1 − α F0 + .e R E + rE + (R B + rBB ' )( . 1 − α F0 ) rBB ' + R B + R E con: τ = τ αF . rBB' + R B + R E R E + rE + (R B + rBB ' )( . 1 − α F0 ) All'istante t = 0 si ha: i C (0) = 0 i E (0) = i B (0 ) = E s1M rBB' + R B + R E mentre per t → ∞ le correnti raggiungono il loro valore di regime, che dipende solamente dalle tensioni applicate. I EM = E s1M R E + rE + (R B + rBB' )( . 1 − α F0 ) I CM = α F0 . I EM I BM = (1 − α F0 ).I EM Dalle relazioni generali appena ottenute si puo' passare a quelle relative ad una particolare connessione circuitale ponendo a zero la relativa resistenza. Per la connessione ad emettitore comune, cioe' per RE = 0, in corrispondenza ad un gradino di tensione applicato all'ingresso l'andamento della corrente di collettore e': i c (t ) = t t − − α F0 .E s1M β o .E s1M .1 − e τ = .1 − e τ rE + (R B + rBB' )( . 1 − α F0 ) R B + rBB' + rE .(1 + β o ) con: 49 (2.2.4) Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. τ = τ αF . R B + rBB' R B + rBB' = τ αF .(β o + 1). rE .(βo + 1) + R B + rBB' rE + (R B + rbb ' )( . 1 − α F0 ) (2.2.5) Per la connessione a base comune, quando RB = 0, si ottiene: i c (t ) = t − α F0 .E s1M .1 − e τ rE + R E + rBB ' .(1 − α F0 ) con: τ = τ αF . R E + rBB ' rE + R E + rbb ' .(1 − α F0 ) Infine per la connessione a collettore comune la corrente di emettitore e' data dalla relazione generale (2.2.3) Per ottenere un'approssimazione migliore del diodo di emettitore si dovrebbe tener conto anche di un generatore di tensione VE0 e sostituire in tutte le relazioni a Es1M la quantita' (Es1M VE0). Nel caso della commutazione verso l'interdizione, quando la tensione di ingresso varia tra Es1M e zero, si ottengono le medesime relazioni espresse dalle (2.2.3), ma le condizioni iniziali corrispondono alle tensioni e alle correnti della zona attiva appena prima della commutazione. La corrente di collettore di regime in queste condizioni vale: I CM = β o .E s1M R B + rBB' + rE .(1 + β o ) e quindi l'andamento della corrente di collettore dopo la commutazione e': i c (t ) = I CM .e − t τ dove τ e' ancora data dalla (2.2.5). Per una migliore approssimazione della caratteristica di ingresso si ottiene, considerando anche il generatore VE0: t − τ β o . E s1M .e − VE 0 (2.2.6) i C (t ) = R B + rBB ' + rE .(1 + β o ) Infine se la tensione di ingresso, anziche' passare a zero inverte la sua polarita' e passa al valore -Es2M, la corrente di collettore varia piu' rapidamente e si ottiene: − (E s 2 M + VE 0 ) + (E s1M + E s 2 M ).e i c (t ) = β o . R B + rBB ' + rE .(1 + β o ) − t τ Per ricavare le corrispondenti relazioni per le altre connessioni, quella a base comune e quella a collettore comune, il procedimento e' perfettamente analogo. 50 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. Limitandosi d'ora in avanti a considerare unicamente la connessione a emettitore comune e definendo il tempo di salita come il tempo necessario affinche' la corrente di collettore passi dal 10% al 90% del suo valore finale, si ha: t r = τ αF .(β o + 1). R B + rBB ' . ln 9 = 2,2.τ R B + rBB ' + rE .(β o + 1) Il tempo di discesa viene determinato a partire dalla (2.2.6), quando la tensione di ingresso varia tra Es1M e zero. In tal caso, prendendo in considerazione il tempo necessario affinche' la tensione di ingresso passi dal suo valore di regime immediatamente prima della commutazione a zero, si ottiene: E t f = τ.ln s1M VE 0 Quando invece la tensione di ingresso varia tra Es1M e -Es2M, ponendo nella relativa espressione iC(tf) = 0, si ottiene: E + E s2 M E + E s2 M t f = τ.ln s1M ≅ τ.ln s1M E s2 M + VE 0 E s2 M Se, per una miglior approssimazione si considera come tempo di discesa quello necessario affinche' la corrente di collettore scenda al 10% del suo valore di regime, si ha: t f = τ.ln E s1M + E s2 M 0, 1. E s1M + E s2 M E' chiaro che quando aumenta Es2M aumenta il termine logaritmico e quindi il tempo di discesa diminuisce. Definendo come fattore di sovrapilotaggio la quantita' sf = E s2 M E s1M si ha in definitiva: t f = τ.ln sf + 1 sf + 0, 1 a2) Pilotaggio ad alta impedenza. Quando un transistore viene pilotato in corrente le relazioni fondamentali diventano relativamente semplici. Nella connessione ad emettitore comune il transistore si puo' ritenere pilotato in corrente quando R B + rBB ' >> rE .(β o + 1) In tal caso l'equazione (2.2.4) diviene 51 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. t − E s1M τβ i C (t ) = βo . . 1− e RB dove τβ = τ αF .(β o + 1) . In queste condizioni la variazione a gradino della tensione di ingresso determina una corrispondente variazione a gradino della corrente di base di valore pari a: I B1M = E s1M RB e la corrente di collettore varia secondo la t − τ i C (t ) = β o .I B1M .1 − e β (2.2.7 ) Per la connessione a base comune si ottiene corrispondentemente t − ταF i C (t ) = α F .I E1M . 1 − e mentre per quella a collettore comune t − τβ i E (t ) = (βo + 1).I B1M . 1 − e Per quanto riguarda la commutazione inversa, se la corrente di ingresso varia tra IB1M e zero, ci si puo' rifare alla seguente espressione: i C (t ) = βo .I B1M .e − t τβ mentre se la corrente passa da IB1M a IB2M si ottiene i C (t ) = I CM .e − t τβ t − τβ + βo .I B 2 M . 1 − e Per la connessione a base comune, con un gradino di corrente di emettitore compreso tra IE1M e IE2M, e per la connessione a collettore comune, si ottengono le due seguenti espressioni: t − τ α i C (t ) = I CM .e + α F .I E 2 M .1 − e F t t − − τ i E (t ) = I EM .e β + (β 0 + 1).I B 2 M .1 − e τβ − t ταF 52 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. Limitandosi al caso della connessione ad emettitore comune, il tempo di salita tr e' dato da: t r = 2 , 2.τβ mentre il tempo di discesa, calcolato in corrispondenza ad una corrente di collettore pari al 10% del suo valor massimo, e': t f = τβ .ln I CM − β o . I B2 M I −I = τ β .ln BS B2 M 0, 1. I CM − β o . I B2 M 0,1. I BS − I B2 M Introducendo il fattore di sovrapilotaggio I β .I s f = − o B2 M = − B2 M I CM I BS l'espressione del tempo di discesa puo' essere messa nella forma t f = τβ .ln sf + 1 sf + 0, 1 Anche in questo caso quindi il tempo di discesa diminuisce all'aumentare di |IB2M|, cioe' all'aumentare del sovrapilotaggio. b) Commutazione in regione di saturazione. b1) Pilotaggio ad alta impedenza. Prendendo in considerazione un transistore nella connessione ad emettitore comune, quando esso viene commutato in conduzione da un gradino di corrente IB1M eccedente il valore IBS necessario a portarlo al limite di saturazione, si entra nella zona di saturazione. Tuttavia l'andamento della corrente di collettore e' ancora dato dalla (2.2.7). Se la resistenza di carico di collettore fosse nulla (RL = 0) la corrente di collettore raggiungerebbe il valore I 'CM = β o . I B1M Quando invece la resistenza di carico e' finita la tensione collettore emettitore VCE diminuisce man mano che la corrente di collettore aumenta e il punto di lavoro si muove verso il limite di saturazione dove VCE = VBE e VCB = 0. Con un ulteriore aumento della corrente di base il punto di lavoro entra nella regione di saturazione mentre cessa l'aumento della corrente di collettore , che in pratica viene limitata al valore E − VCES E C I CS = C ≅ RL RL con EC tensione di alimentazione e VCES tensione collettore emettitore in saturazione. Definendo il tempo di salita come il tempo necessario affinche' la corrente di collettore passi da 0,1 ICS a 0,9 ICS si ottiene: 53 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. β .I − 0, 1. I CS t r = τβ .ln o B1M β o . I B1M − 0, 9. I CS e introducendo il fattore di sovrapilotaggio β .I I sr = 0 B1M = B1M I CS I BS t r = τβ . ln dove I I BS = CS βo s r − 0,1 s r − 0,9 (2.2.8) A titolo di esempio si consideri un transistore con ωαF = 30.106 e βo = 50. La corrente al limite di saturazione sia 5 mA, cioe' I CS = 5mA I BS = 0,1mA Con un fattore di sovrapilotaggio sr =1 si ottiene t r ≅ 2 , 2. τβ = 2 , 2. βo = 3, 7 µ sec ω αF E' evidente che il tempo di salita diminuisce all'aumentare di ωαF e al diminuire di βo .Inoltre dalla (2.2.8) si deduce che il tempo di salita diminuisce al crescere del fattore di sovrapilotaggio. Se nell'esempio precedente il fattore di sovrapilotaggio fosse 2, nell'ipotesi che βo rimanesse costante, il tempo di salita passerebbe a 0,9 µsec. Se il fattore di sovrapilotaggio e' superiore a 3, sviluppando in serie il termine logaritmico della (2.2.8) si puo' affermare che: t r = τβ . ln 1 τ s r − 0,1 0,8 β I 1 I CS . = τβ . . 0,9 + + .... ≅ β = o . CS = s r − 0,9 2.s r s r ωαF β o .I B1M ωαF I B1M sr Pertanto a correnti di pilotaggio elevate, quando I B1M ≅ I CS si ha: tr ≅ 1 ω αF In saturazione, come piu' volte detto, ambedue le giunzioni sono polarizzate direttamente e nello spazio di base e' accumulata una carica di portatori minoritari superiore a quella necessaria a mantenere il transistore al limite di saturazione. Quando si ha la commutazione inversa il numero di portatori di minoranza presenti in base inizia a diminuire, ma la corrente di collettore rimane praticamente costante finche' la carica in eccesso non si annulla. Riferendosi al circuito equivalente di figura 2.13 e risolvendo le relative equazioni e' possibile definire il tempo necessario a rimuovere tale carica, considerando le forme d'onda di figura 2.15. 54 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. iB I BS I B1M t I B2M iC β o I B1M .(1-e -t/ τβ ) β o I B1M - ( β o I B1M - I CS ) .(1-e -t/ τs ) I' CM t = (2-3).ττ s β o I B2M - ( β o I B1M - I B2M ).(1-e -t/ τs ) I CM β o I B2M - ( β o I B2M - I CS ) .(1-e -t/ τβ ) ts t tr tf β o I B2M figura 2.15 Con un dato grado di saturazione il tempo di restituzione dipende dalla corrente IB2M e dalla costante di tempo τs, che vale, secondo Moll τs = ωαF + ωαR ωαF .ωαR .(1 − α F .α R ) Si vede immediatamente che τs dipende sia dai parametri della regione attiva che da quelli della regione inversa. Il tempo di restituzione ts e' calcolabile dalla relazione i C (t ) = β o .I B 2 M − (β o .I B 2 M − β o .I B1M ).e − t τs considerando che all'istante t = ts iC(t) = ICS. Si ottiene: I +I s +s t s = τ s .ln B1M B2 M = τ s .ln r f I CS 1 + sf + I B2 M βo dove sr e sf sono i fattori di sovrapilotaggio gia' definiti in precedenza. La relazione appena trovata si applica tuttavia solamente a impulsi di ingresso relativamente lunghi di durata ti > 2÷4 τs. Se tale condizione non e' rispettata il tempo di restituzione e' influenzato dalla lunghezza ti dell'impulso. Come si vede il tempo di restituzione diminuisce quando aumenta sf e quando diminuisce sr. Al limite, quando sr =1, condizione che corrisponde al limite di saturazione, il tempo di restituzione si annulla. 55 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. Non appena la carica in eccesso e' rimossa dalla base il transistore inizia ad operare nella regione attiva e la corrente di collettore inizia a decrescere in maniera esponenziale con costante di tempo pari a τβ. In accordo con le forme d'onda di figura 2.14 si ha: i C (t ) = β o .I B 2 M − (β o .I B 2 M − I CS ).e − t τβ Per iC(t) = 0,1 ICS al tempo t = tf, si ottiene: t f = τβ . ln β o .I B 2 M + I CS s +1 = τβ . ln f β o .I B 2 M + 0,1.I CS s f + 0,1 (2.2.9) Per le configurazioni a collettore comune e a base comune il procedimento per determinare i tempi di commutazione e' del tutto analogo. Con riferimento all'esempio fatto in precedenza per il quale ω αF = 30.106 α F = 0, 98 I CS = 5mA I B1M = 0, 2 mA supponendo che: ω αR = 10.106 α R = 0, 8 dalla relazione di Moll si ottiene τs = 0,6 µsec e con IB1M = IB2M = 0,2 mA si ha che sr = sf = 2 e quindi ts = τs.ln 1,33 =0,29 τs = 0,17 µsec Se invece si avesse IB2M = 0 si ricaverebbe ts = τs.ln 2 =0,69 τs = 0,4 µsec Il tempo di discesa ricavato dalla (2.2.9) per sf = 2 sarebbe pari a: tf = τβ.ln 1,43 = 0,36 τβ =0,36 . βo/ωαF = 0,6 µsec b1) Pilotaggio a bassa impedenza. Le relazioni fondamentali si ricavano in modo del tutto analogo a quanto gia' visto. Per la connessione ad emettitore comune si ottiene: 56 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. t r = τ. ln t f = τ. ln β o .E s1M β o .E s1M − I CS .[R B + rBB' + rE .(β o + 1)] β o .E s 2 M + I CS .[R B + rBB' + rE .(β o + 1)] β o .E s 2 M con τ data dalla (2.2.5). Il tempo di restituzione si calcola dalla seguente espressione: t s = τs . ln E s1M + E s 2 M R +r I CS . B BB ' + rE + E s 2 M β0 c) Effetto di RL e CTC sui tempi di commutazione. Le relazioni fondamentali ricavate nei precedenti paragrafi si applicano solamente a circuiti la cui resistenza di carico RL sia molto bassa. Con valori di RL piu' elevati l'effetto della capacita' di transizione di collettore non puo' piu' essere trascurato. Un'analisi del circuito equivalente mostra che e' necessario considerare una costante di tempo τt anziche τ, pari a: rE r τ t = τ.1 + ωαF .R L .C TC .1 + + E R B + rBB' R L Se rE << R B + rBB' ω αF . rE . CTC << 1 e allora τ t = τ.(1 + ωαF .R L .C TC ) (2.2.9) Se ad esempio la resistenza di carico fosse di 3,3 kΩ, la capacita di transizione di collettore di 10 pF e ωαF ≅ 6,5.106, alloraτ t ≅ 1. 2 τ , che da' luogo ad un incremento dei tempi di commutazione di circa il 20%. L'influenza della resistenza di carico e della capacita' di transizione e' in questo caso relativamente modesta. Con transistori veloci tuttavia, quando cioe' RL.CTC >> 1/ωαF, i tempi di commutazione sono determinati principalmente dalle caratteristiche del carico di collettore. Poiche' β + 1 βo τ= o ≅ ω αF ω αF 57 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. si puo' scrivere che: 1 s − 0,1 t r = β o . + R L .C TC . ln r ωα F s r − 0,9 1 s +1 + R L .C TC . ln f t f = β o . ωα F s f + 0,1 In saturazione ovviamente le caratteristiche del carico non hanno alcuna importanza in quanto nelle operazioni in regione di saturazione corrente di collettore e tensione collettore emettitore rimangono praticamente costanti. d) Il tempo di ritardo iniziale. Come si e' gia' detto in precedenza, il tempo di ritardo iniziale td e' definito come l'intervallo di tempo che intercorre tra una variazione a gradino della tensione di ingresso e l'istante in cui la corrente di collettore inizia a crescere. Pur essendo di solito relativamente piccolo, esso deve venir preso in considerazione in particolare quando in transistore opera con un pilotaggio di corrente (ad alta impedenza). Si consideri la connessione a emettitore comune di figura 2.16; con una tensione inversa -E2 applicata all'ingresso il transistore e' interdetto e ambedue le giunzioni risultano polarizzate inversamente. Quando si trascuri la resistenza inversa della giunzione e' applicabile il circuito equivalente presente nella stessa figura. Ec RB E1 RL RB C TC rBB' VBE - E2 C TE vc RL Ec E1 - E2 figura 2.16 Immediatamente prima della commutazione la capacita' di transizione della giunzione di emettitore si trova alla tensione - E2, mentre quella della giunzione di collettore alla tensione e' Ec + E2. Supponendo ora che la tensione di ingresso vari a gradino all'istante to da - E2 a E1 e trascurando in un primo tempo l'effetto di CTC, si puo' affermare che a partire dall'istante to la tensione ai capi di CTE inizia a variare verso lo zero. Quando la tensione ai capi di CTE inverte il suo segno la corrente di collettore inizia a salire. Si ha pertanto che: v c (t ) = E1 − (E1 + E 2 ).e 58 − t τ Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. dove τ = (R B + rBB ' ).C TE ≅ R B .C TE L'approssimazione introdotta e' tanto piu' valida quanto piu' il pilotaggio si avvicina ad un pilotaggio di corrente. Si ricava immediatamente che: E t d = R B .C TE . ln1 + 2 E1 In effetti nello stesso periodo la tensione ai capi della capacita di transizione della giunzione di collettore CTC diminuisce e all'istante td e' scesa di E2. Il suo effetto e' tale che il tempo di ritardo reale e': E t d = [R B .(C TE + C TC ) + R L .C TC ]. ln1 + 2 E1 Per una buona approssimazione la relazione appena trovata si applica solo se il tempo di ritardo td e' maggiore del tempo medio di transito dei portatori minoritari attraverso la base, tempo che e' inversamente proporzionale alla frequenza angolare di taglio ωαF. Con elevati sovrapilotaggi il tempo di ritardo td rappresenta la parte piu' considerevole del tempo di commutazione in conduzione td + tr. 2.2.5) Il modello a controllo di carica. Sparkes e Beaufois hanno introdotto un modello che permette di affrontare in maniera semplice la determinazione del comportamento di un transistore a giunzione ad ampi segnali. In esso anziche' far dipendere la corrente di collettore dal pilotaggio della corrente di base o di emettitore, come nel modello di Ebers - Moll, il transistore viene considerato come un dispositivo controllato da una carica. E' bene tuttavia precisare che tale modello e' semplice da utilizzare solo quando il transistore viene pilotato in corrente, mentre quando il pilotaggio e' un pilotaggio di tensione, esso non presenta in pratica alcun vantaggio rispetto al modello di Ebers-Moll. La grandezza di controllo che il modello prende in considerazione e' la carica presente in base dovuta ai portatori minoritari, anziche' la corrente di base o quella di emettitore e il grosso vantaggio e' che i suoi parametri sono semplici da definire e da misurare. Con riferimento alla figura 2.17, supponendo che il transistore sia di tipo npn, si possono fare le seguenti considerazioni. Quando si e' nello stato di interdizione (caso a) nella regione di base di tipo p i portatori maggioritari (lacune) sono in equilibrio con gli accettori fissati al reticolo cristallino. Ad ambedue le giunzioni si ha un piccolo flusso di portatori minoritari che da' luogo alle correnti inverse, ma la cui influenza puo' essere completamente trascurata. La relativa distribuzione di carica e' rappresentata nella figura dalla zona tratteggiata. La larghezza delle zone di carica spaziale, che determina il valore delle capacita' di transizione, dipende dalle tensioni inverse applicate. 59 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. n p n (a) w QB Q TE Q TC (b) w' > w Q BS Q BX (c) figura 2.17 Nella regione attiva (caso b) in cui la giunzione di emettitore viene polarizzata in senso diretto, iniziano a fluire elettroni da emettitore a base e se la base e' omogenea essi si muovono per diffusione verso il collettore con un gradiente di densita', che, come si e' gia' visto in precedenza, e' approssimativamente rettilineo. La concentrazione di elettroni e' massima in corrispondenza alla giunzione di emettitore, decresce linearmente muovendosi verso il collettore e si annulla alla distanza w che rappresenta l'effettivo spessore della base. Il flusso di elettroni da emettitore a collettore e' proporzionale al gradiente della carica totale QB distribuita nella base. L'equilibrio descritto tuttavia e' di tipo dinamico e si puo' quindi affermare che: IC = QB τC dove τC rappresenta il tempo di transito delle cariche minoritarie attraverso la base e dipende pertanto dalla larghezza della base stessa. Si ricordi tuttavia che in base si ha in ogni modo una certa aliquota di ricombinazione e quindi per mantenere la carica di base QB e' necessaria una corrente IB = QB τB dove τB e' il tempo medio di vita dei portatori minoritari nello spazio di base. Dalle due relazioni precedenti si ricava che: I τ β= C = B I B τC 60 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. Commutando dalla regione di interdizione alla regione attiva cambiano inoltre le condizioni di polarizzazione della giunzione di emettitore e contemporaneamente diminuisce la polarizzazione inversa della giunzione di collettore a causa della caduta sulla eventuale resistenza di carico di collettore. Di conseguenza ambedue le regioni di carica spaziale si riducono di spessore facendo aumentare la dimensione effettiva della base. Per neutralizzare le cariche fisse del reticolo che risultano scoperte dalla diminuzione delle zone di carica spaziale sono necessarie due cariche supplementari QTE e QTC. Al limite della saturazione la carica di base raggiunge il valore QBS.Incrementando ulteriormente il numero di elettroni iniettati in base il transistore si addentra nella regione di saturazione (caso c), mentre la corrente di collettore, limitata dalla resistenza esterna di carico, aumenta solo lievemente. In prima approssimazione si puo' ritenere che la corrente di collettore rimanga costante. Poiche' in saturazione ambedue le giunzioni sono polarizzate direttamente anche alla giunzione di collettore la concentrazione dei portatori di minoranza diventa superiore a quella di equilibrio, ma il gradiente della distribuzione di densita' deve rimanere costante poiche' costante e' la corrente di collettore. La distribuzione assumera' pertanto l'andamento di figura 2.17 (c) in cui si puo' evidenziare la carica QBX in eccesso rispetto quella al limite di saturazione. Per mantenere tale carica in presenza del fenomeno della ricombinazione e' necessaria una corrente di base Q I BX = BX τS con τS tempo medio di vita dei portatori di minoranza in condizioni di saturazione. La carica totale presente in base in queste condizioni e' quindi: Q Btot = Q BS + Q BX + QT dove QBS e', come detto, la carica presente in base al limite della saturazione, QBX quella in eccesso rispetto a QBS e QT la carica dovuta alla modulazione di larghezza delle zone di carica spaziale. Al limite della saturazione I CS = Q BS = β o . I BS τ CO con βo e τCO valori definiti in queste condizioni operative. Le semplici relazioni fin qui esposte sono valide in condizioni di regime e nell'ipotesi che nello spazio di base il gradiente di concentrazione sia lineare. In condizioni dinamiche esse si possono ritenere sufficientemente approssimate solo se il tempo di commutazione e' notevolmente superiore al tempo di transito τC. In condizioni dinamiche tuttavia e' necessario tener anche conto di come la carica QB vari in funzione del tempo. In termini generali allora si dovra' far riferimento alla seguente relazione dv q dq q dq dv i B = B + B + BX + BX + C TE . BE + C TC . BC τB τS dt dt dt dt La corrente di base e' quindi determinata dalle seguenti sei componenti: 61 (2.2.10) Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. • qB / τ B Corrente dovuta alla ricombinazione della carica attiva di base con costante di tempo τB. • dqB / dt Corrente determinata dalla velocita' di variazione della carica attiva di base. • qBX / τ S Corrente dovuta alla ricombinazione della carica in eccesso, con costante di tempo τS. • dqBX / dt Corrente determinata dalla velocita' di variazione della carica in eccesso • CTE . • CTC . dv BE Corrente necessaria alla carica della capacita' di transizione di dt emettitore. dv BC Corrente necessaria alla carica della capacita' di transizione di dt collettore. E' ovvio che di queste sei componenti andranno prese di volta in volta in considerazione solo quelle che interessano la zona operativa prescelta. In generale la forma dell'equazione differenziale ricavata sara': q dq + τ dt iB = Integrando tale equazione su un dato intervallo di tempo si ottiene: t t Q 2 q i . dt = . dt + ∫0 B ∫0 τ Q∫ dq 1 In sostanza la carica totale fornita al circuito di ingresso nell'intervallo 0-t e' la somma della carica resa necessaria dalla ricombinazione e della carica necessaria a raggiungere il desiderato livello di corrente. La corrente di collettore e' determinata in ogni caso dalla q iC = B τC 62 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. 2.2.6) Il calcolo dei tempi di commutazione con il modello a controllo di carica a) Il tempo di ritardo iniziale. Quando sia la giunzione di emettitore che quella di collettore sono polarizzate inversamente si ha un ritardo td tra l'attimo di applicazione del comando e l'istante in cui la corrente di collettore inizia a salire. Se si integra l'equazione (2.2.10), prendendo in considerazione i soli termini che comprendono CTE e CTC, poiche' tutti gli altri termini in regione di interdizione risultano nulli, si ottiene in corrispondenza ad un pilotaggio a gradino di ampiezza IB1 td VBE1 VBE1 − VCE 2 0 VBE 2 TC VBE 2 − VCE 2 ∫ I B1.dt = ∫ CTE .dv BE + ∫C .dv BC dove VBE2 e' la tensione tra base e emettitore immediatamente prima della commutazione e VBE1 e' la tensione diretta alla quale la corrente di collettore inizia a salire. Per i transistori al silicio si sa che questa tensione e' dell'ordine del mezzo volt e quindi puo' esercitare una notevole influenza sul tempo di ritardo. VCE2 infine e' la tensione inversa applicata alla giunzione di collettore nelle condizioni di interdizione. Si ottiene: I B1. t d = QTE + Q TC = Q D e quindi il tempo di ritardo e' td = QD I B1 con Q TE = C TE .∆VBE = CTE .(VBE1 − VBE 2 ) Q TC = CTC .∆VBC = C TC .∆VBE CTC e CTE sono le capacita' di transizione medie integrali determinabili tramite le relazioni date al paragrafo 2.2.2. Per quanto riguarda tuttavia la capacita' di transizione di collettore, quando la variazione della tensione di base e' piccola rispetto alla tensione di alimentazione, si puo' ritenere che essa coincida con quella misurata in condizioni di interdizione a piccoli segnali. Fanno eccezione quei circuiti in cui le tensioni di base sono relativamente elevate e quelle di collettore relativamente basse, come ad esempio negli oscillatori bloccati e nei circuiti monostabili e astabili. La relazione trovata fornisce risultati soddisfacenti purche' il tempo di salita del segnale di comando sia notevolmente minore di td e il pilotaggio possa effettivamente essere considerato un pilotaggio di corrente. 63 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. b) Il tempo di salita. Se nell'equazione generale si prendono in considerazione solamente quei termini che inflenzano il tempo di salita tr, trascurando l'influenza di CTE poiche la variazione della tensione base emettitore in regione attiva e' molto piccola, si ottiene in corrispondenza ad un gradino di corrente di ingresso pari a IB1M I B1M = q BS dq BS dv + + C TC . BC τB dt dt (2.2.11) L'effetto della capacita' di transizione di collettore puo' essere determinato in maniera semplice. Si tenga infatti presente che il terzo termine del secondo membro dell'equazione (2.2.11) rappresenta la corrente che deve essere iniettata in base per caricare tale capacita'. Ora, quando il transistore viene commutato dall'interdizione al limite di saturazione, la tensione base collettore varia tra VBC2 e 0 e poiche' VBC2 ≅ VCE 2 ≅ R L . I CS , dove RL e' la resistenza di carico di collettore e ICS e' la corrente di collettore di saturazione, si ottiene che la carica totale fornita e' Q TC = CTC . I CS . R L CTC ovviamente e' la capacita media integrale su tale intervallo di tensione. Tenendo poi presente che: Q BS = I CS .τ C0 si ottiene infine dq TC dv R .C dq = CTC . BC = L TC . BS dt dt τ C0 dt Sostituendo nella (2.2.11) si ottiene R .C dq τ B .I B1M = q BS + τ B .1 + L TC . BS τ C 0 dt R L .C TC si ha: Usando la trasformazione di Laplace e ponendo τ BV = τ B .1 + τ C 0 τB . I B1M = q BS (s ) + τ BV .[s.q BS (s ) − q BS (t = 0)] s Assumendo pertanto che per t = 0 qBS (0) = 0,1 QBS ne deriva che: 64 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. q BS (s ) = τ B .I B1M 0,1.Q BS .τ BV + s.(1 + s.τ BV ) 1 + s.τ BV che antitrasformata permette di valutare l'evoluzione temporale della qBS. t − τ BV q BS (t ) = τ B .I B1M .1 − e che: t − τ BV + 0,1.Q .e BS Definendo allora quale tempo di salita tr l'istante in cui qBS (t) = 0,9 QBS si ricava finalmente τ .I − 0, 1. Q BS t r = τ BV .ln B B1M τ B . I B1M − 0, 9. Q BS Ricordando che I .τ Q BS = I CS . τ C0 = CS B βo R .C τ τ BV = τ B .1 + L TC = B .(τC 0 + R L .C TC ) = β o .(τC 0 + R L .C TC ) τC 0 τC 0 e sostituendo nella precedente relazione si ottiene: t r = β o .(τ C 0 + R L .C TC ). ln I CS βo s + 0,1 = β o .(τ C 0 + R L .C TC ). ln r I CS s r + 0,9 − 0,9. βo I B1M − 0,1. I B1M Tra τB, τC0 e la frequenza di transizione fT del transistore sono valide le seguenti relazioni approssimate; 1 1 τC0 ≅ = ω T 2 π. f T τB = βo 1 1 = = ω β 2 π. fβ 2 π. fT Per ottenere valori piu' precisi le due costanti di tempo dovrebbero essere messe in relazione con i fenomeni fisici che si hanno nel transistore. Si ricordi comunque che τC0 rappresenta il tempo di transito in base dei portatori di minoranza e quindi puo' essere diminuita solamente riducendo lo spessore della base, mentre τB rappresenta il tempo di vita medio degli stessi portatori nella regione di base e dipende dal materiale scelto e dal trattamento cui e' sottoposto. 65 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. c) Il tempo di restituzione. Se per un transistore saturato si considerano nell'equazione generale (2.2.10) solamente quei termini che hanno influenza sul tempo di restituzione ts, si ha in corrispondenza di un gradino di corrente inversa IB2M = cost. − I B2 M = Q BS q BX dq BX + + τB τS dt che in termini di trasformata di Laplace diventa − I B 2 M Q BS q BX (s ) = + + s.q BX (s ) − q BX (t = 0 ) s s.τ B τS dove QBS/τB = IBS e' la corrente di base al limite della saturazione e qBX(t=0) = QBX = IBS). Si ottiene pertanto q BX (s ) = −(I B 2 M + I BS ). τS.(IB1M - 1 1 + τS .(I B1M − I BS ). 1 1 +s s. + s τS τS Antitrasformando q BX (t ) = −τS .(I B 2 M t t − − τ τ S + I BS ).1 − e + τS .(I B1M − I BS ).e S Poiche' il transistore rimane nella zona di saturazione finche' la carica qBX non si e' annullata, il tempo di restituzione e': I +I s +s t s = τS .ln B1M B2 M = τS .ln r f I B1M + I BS 1 + sf d) Il tempo di discesa. In corrispondenza ad un gradino di corrente -IB2M l'equazione da utilizzare e': q dq dv − I B2 M = BS + BS + CTC . BC τB dt dt che con le stesse manipolazioni adottate nel calcolo del tempo di salita diventa: − τ B . I B2 M = q BS + τ BV . dq BS dt Trasformando secondo Laplace e ricordando che qBS(0) = QBS = τB.IBS si ottiene: 66 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. q BS (s ) = − τ B .I B 2 M τ .Q + BV BS s.(1 + s.τ BV ) 1 + s.τ BV Antitrasformando si ricava t t − − τBV τBV q BS (t ) = − I B 2 M .τ B . 1 − e + Q BS .e Definendo il tempo di discesa come l'istante in cui qBS(t) = 0,1 QBS si ottiene infine: t f = τ BV .ln Q BS + I B2 M . τ B 1 + sf = τ BV .ln 0, 1. Q BS + I B2 M . τ B 0, 1 + sf 2.2.7) Guadagno transitorio di corrente in saturazione. Nell'ambito del metodo a controllo di carica e' opportuno introdurre il concetto di guadagno transitorio di corrente βs, atto a determinare le prestazioni dinamiche di un transistore usato in commutazione al variare del carico di collettore. Si supponga infatti che il transistore sia mantenuto in conduzione da una corrente di base IB, ma con circuito di collettore aperto. In un determinato istante venga poi connesso un carico al circuito di collettore e al medesimo istante inizi a fluire una corrente IC, come illustrato in figura 2.18. S chiuso t VCE +Ec βs > S I CS IB VCES RL t IB +E B RB VCE βs < VCE I CS IB V CES t IC βs < I CS IB I CS t figura 2.18 Quando l'interruttore S e' aperto la corrente di collettore IC e' pari a zero e il transistore opera in condizioni analoghe a quelle al limite di saturazione. Si ha cioe': 67 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. τ s . I B = Q BS Al momento in cui l'interruttore S si chiude la corrente di collettore e' quindi data dalla: IC = Q BS τ = S .I B = β s .I B τC 0 τ C0 (2.2.12) Affinche' sia immediatamente disponibile la corrente di saturazione ICS, in modo che la tensione collettore emettitore non ecceda VCES, dev'essere soddisfatta la: I β s ≥ CS IB Poiche' normalmente β s < β o , IB deve essere maggiore di IBS. determinato transistore, di guadagno βo = 50, per il quale τ C0 = 0, 03 µ sec τS = 1 µ sec I CS = 5 mA Ad esempio, per un EC = 5 V dalla (2.2.12) si ottiene I 5 I B ≥ CS = ≅ 0, 15 mA βs 33 A correnti di base minori, ad esempio per IB = 0,1 mA, all'istante di chiusura dell'interruttore fluisce una corrente IC = βs.IB = 3,3 mA che solo successivamente e con una certa lentezza raggiunge il valore di regime di 5 mA. Con una resistenza di carico pari a 1 kΩ la tensione VCE sale pertanto a 1,7 V e solo successivamente passa al valore VCES. Il tempo che intercorre tra la commutazione e l'istante in cui tensione e corrente di collettore raggiungono i loro valori di regime e' determinato dal tempo necessario a fornire una carica uguale alla differenza tra la carica attiva di base, necessaria a sostenere la corrente ICS e la carica effettivamente presente in base all'atto della commutazione. Per IB costante si ottiene: t ∫I B .dt = I B .t = τ C 0 .I CS − τs .I B 0 I t = τ C 0 . CS − τ s IB Con riferimento all'esempio precedente si ottiene t = 0,6 µsec. Le forme d'onda di tensione e corrente nei vari casi sono riportate sempre in figura 2.18. 68 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. 2.2.8) Effetto delle capacita' esterne sui tempi di commutazione. I tempi di commutazione sono largamente influenzati dalle capacita' interelettrodiche esterne. In figura 2.19 e' riportato lo schema di un invertitore nella connessione a emettitore comune in cui sono messe in evidenza tutte le capacita' che agiscono sulla velocita' di commutazione. Con la base polarizzata inversamente sono le capacita' CBE e CCB che fanno sentire il loro effetto sul tempo di ritardo. La carica totale che e' necessario fornire al circuito di ingresso per portare la base al limite di conduzione e': Q Td = Q D + ∆VBE .(C BE + C CB ) dove QD e' la carica precedentemente definita come somma di QTE e QTC e ∆VBE e' la variazione della tensione di base. +Ec CCB RL RL RL RB C CE iC (t) VCE CCE Ec VCE CCE Ec C BE (a) (b) figura 2.29 Il tempo di salita e' invece influenzato da tutte le capacita' esterne. La carica totale richiesta per commutare il transistore e': C Q Tt = Q BS + ∆VBC + E C . CE + C CB + ∆VB'E .C BE βo dove ∆VB'E e' la variazione della tensione di base necessaria per portare il transistore dal limite di interdizione a quello di saturazione. Il valore effettivo CCE viene ridotto del fattore βo a causa del guadagno di corrente del transistore. Per quanto riguarda il tempo di restituzione l'effetto delle capacita' CCE e CCB e' relativamente piccolo e puo' essere trascurato. In saturazione infatti tensioni e correnti rimangono approssimativamente costanti. Per quanto riguarda infine il tempo di discesa e' la capacita' CCE che fa sentire maggiormente il suo effetto. Se questa capacita' e' relativamente grande essa non viene caricata compitamente durante il tempo di commutazione del transistore. In questa situazione il tempo necessario a caricare la CCE viene a dipendere in pratica solo dai parametri esterni del circuito di collettore. Si e' visto in precedenza che durante la commutazione verso l'interdizione la corrente di collettore decresce con un andamento esponenziale; se tuttavia la corrente inversa di base e' 69 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. relativamente grande si puo' ritenere che la corrente di collettore decresca, almeno in prima approssimazione, con legge lineare. Per 0< t <tf si avra' quindi: t i C (t ) = I CS .1 − tf e nel medesimo periodo di tempo ci si puo' rifare al circuito equivalente di figura 2.20 (a). Si ha percio': E C − v CE dv t − C CE . CE = I CS .1 − RL dt tf Trasformando secondo Laplace e considerando che vCE (0) ≅ 0 si ottiene: v CE (s ) = 1 . t f .R L .C CE 1 1 s 2 . s + R L .C CE Antitrasformando t t R .C − R L .CCE L CE v CE (t ) = E C . − . 1− e tf t f e all'istante t = tf tf R .C − R L .CCE L CE v CE (t ) = E C .1 − . 1− e tf Per tempi t > tf la corrente iC = 0 e ci si deve riferire al circuito equivalente di figura 2.20 (b). Si ottiene in tal caso: tf − − R t −.Ct f v CE (t ) R L .CCE R L .CCE .1 − e = 1− .e L CE EC tf Da tale relazione si puo' ricavare che, indicando con tf il tempo di discesa in assenza di capacita' esterne e con tF quello quando tali capacita' sono presenti tF ≅ tf t F ≅ 3. t f R L . CCE << t f per t F = 2 , 2. R L . CCE R L . CCE ≅ t f R L . CCE >> t f 70 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. 2.2.9) Pilotaggio di corrente e pilotaggio di tensione. Le relazioni per i tempi di commutazione che sono state fin qui ricavate utilizzando il modello a controllo di carica si applicano, come gia' detto, a pilotaggi in corrente. Sotto certe condizioni questa ipotesi e' approssimativamente soddisfatta anche quando non si puo' realizzare un gradino di corrente ideale. Se in un transistore accoppiato resistivamente la tensione applicata raggiunge il suo valore di regime in un tempo non superiore al tempo di ritardo td, cioe' se raggiunge la condizione di regime prima dell'inizio della salita della corrente di collettore, allora essa potra' essere considerata con buona approssimazione un gradino di tensione. Quando poi il valore di regime della tensione di ingresso e' di almeno dieci volte la variazione di tensione ∆VBE necessaria per portare il transistore dal limite di interdizione a quello di saturazione, allora la corrente di base durante il tempo di salita puo' venir considerata costante. Cio' equivale a dire che, per poter affermare che il transistore e' pilotato in corrente, la tensione di ingresso deve essere dell'ordine dei 4 ÷ 5 volt o superiore; tale condizione e' di solito rispettata da tutti i circuiti che usano un accoppiamento a resistenza. Durante il tempo di restituzione la corrente di base e' senz'altro costante essendo costante la tensione base emettitore. Infine durante il tempo di discesa valgono le stesse considerazioni fatte per il tempo di salita. Analogamente non e' possibile pensare di applicare un vero pilotaggio di tensione, non fosse altro che per l'esistenza della resistenza rBB'. A causa di tale resistenza in condizioni transitorie, durante le quali la corrente di base varia, varia anche la VB'E. Con pilotaggi di tensione il calcolo dei tempi di commutazione con il modello a controllo di carica e' piu' complicato che non con un pilotaggio di corrente a causa del legame non lineare tra corrente di base e tensione base emettitore. Usando tuttavia un'approssimazione lineare della caratteristica di ingresso i risultati sono piu' o meno identici a quelli ottenuti con il circuito equivalente ad ampi segnali. 2.2.10) Casi speciali di commutazione all’interdizione. L'utilizzo dello stato di saturazione permette di progettare con facilita' circuiti di commutazione che siano poco critici rispetto alla dispersione dei parametri dei transistori e alla loro variazione con la temperatura. I circuiti cosi' realizzati nella maggior parte dei casi risultano in tal modo intercambiabili, tuttavia sono poco sensibili ai segnali di ingresso e soprattutto operano con velocita' di commutazione inferiori alle massime ottenibili a causa della presenza del tempo di restituzione. Inoltre durante la commutazione dallo stato di saturazione a quello di interdizione in certi casi si possono avere alcuni speciali fenomeni. Si e' gia' detto piu' volte che nella regione di saturazione vengono iniettati in base portatori minoritari sia dalla giunzione di emettitore che da quella di collettore. Poiche' nei transistori asimmetrici l'area della giunzione di collettore e' superiore a quella di emettitore i portatori di minoranza iniettati dal collettore possono raggiungere non solo la regione attiva di base, posta tra emettitore e collettore, ma anche la regione passiva della base immediatamente adiacente. E' evidente che in un transistore planare, stante la sua geometria questo fenomeno e' poco sentito. Negli altri transistori, in particolare quando si abbia una regione di base di dimensioni notevoli, la carica in eccesso presente nella regione passiva puo' essere diverse volte piu' grande che non quella nella regione attiva. Dopo la commutazione all'interdizione la carica in eccesso diminuisce sia per ricombinazione dei portatori minoritari, che per le correnti esterne. La ricombinazione si ha dapprima nelle regioni attive della base e solo successivamente diminuisce la carica in eccesso della regione passiva. Tale fatto puo' far si' che in certe condizioni la carica in eccesso della regione passiva possa fortemente influenzare il funzionamento del transistore. Ad esempio una carica puo' permanere nella regione 71 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. passiva anche dopo che le giunzioni di emettitore e di collettore sono state polarizzate inversamente. A causa della diffusione di questa carica nella regione attiva il transistore puo' nuovamente passare in conduzione per breve tempo, causando una falsa uscita. Anche quando si commuta verso l'interdizione con correnti elevate si possono avere comportamenti anomali. Infatti le relazioni che permettono di calcolare il tempo di restituzione e quello di discesa sono state ricavate nell'ipotesi che la distribuzione della carica in base sia rettilinea, come illustrato in figura 2.21 (a). to E B C IC t1 ICS t2 ∆I CS (a) to E B C t o t2 t 3 t1 (c) t2 t3 t (b) figura 2.21 A partire dall'istante to (fig. 2.21 a), in cui il transistore e' saturato, la carica di base inizia a decrescere e all'istante t1 essa risulta completamente rimossa e la giunzione di collettore si polarizza inversamente. Negli istanti successivi anche la carica attiva diminuisce e il gradiente della distribuzione di carica assume una pendenza minore finche' all'istante t2 anche la giunzione di emettitore si interdice, completando la commutazione. Nella realta' tuttavia la distribuzione di carica in base si puo' ritenere rettilinea solamente a correnti inverse IB2M < ICS relativamente piccole. Quando invece IB2M ≥ ICS si ha una corrente inversa sia in base che in emettitore. La carica in eccesso diminuisce piu' rapidamente e la giunzione di emettitore puo' polarizzarsi inversamente prima di quella di collettore (figura 2.21 b). La giunzione di collettore rimane quindi polarizzata direttamente dopo che quella di emettitore si e' interdetta e il transistore inizia ad operare nella regione inversa. A causa della polarizzazione diretta di collettore e di quella inversa di base la corrente di collettore aumenta come indicato in figura 2.21 (c). All'istante t3 anche la giunzione di emettitore si polarizza inversamente; da tale momento la diminuzione della carica di base e' influenzata in misura molto scarsa dal circuito esterno. Puo' allora essere necessario un tempo notevolmente lungo affinche' la corrente di collettore vada a zero. Evidentemente in questo caso le relazioni trovate in precedenza per il tempo di restituzione e per quello di discesa non sono piu' valide. Il fenomeno descritto e' maggiormente evidente nei transistori drift in cui la concentrazione dei portatori di minoranza e' minore nella regione di emettitore che in quella di collettore. L'ampiezza della corrente inversa IB2M influisce anche sul tempo di discesa tf e in precedenza si e' visto che su tale tempo ha una notevole influenza anche la capacita' totale collettore emettitore CCE. In pratica si possono presentare diversi casi: 72 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. a) Con IB2M < ICS il tempo di discesa tf inizia e termina nella regione attiva. Nell'istante in cui la carica in eccesso e' stata rimossa dalla base la giunzione di collettore si polarizza inversamente e il transistore entra nella regione attiva. Poiche' la regione di emettitore e' invece polarizzata direttamente l'iniezione di cariche minoritarie continua e si ha di conseguenza un tempo di discesa relativamente lungo. b) Con IB2M < ICS il tempo di discesa inizia nella regione attiva e termina nella regione di interdizione. Non appena la giunzione di emettitore si polarizza inversamente, il tempo di discesa tf viene a dipendere esclusivamente dai parametri del circuito esterno. In queste condizioni il valore della capacita' CCE assume importanza fondamentale. c) Il tempo di discesa tf inizia e termina nella regione di interdizione. Per un certo valore di IB2M ambedue le giunzioni di emettitore e di collettore si polarizzano inversamente allo stesso istante. In questa situazione il transistore viene portato immediatamente dalla regione di saturazione a quella di interdizione (turn-off istantaneo). d) Con IB2M < ICS il tempo di discesa tf inizia nella regione inversa e termina in quella di interdizione. La giunzione di emettitore si polarizza inversamente per prima. e) Il tempo di discesa tf inizia e termina nella regione inversa. 2.2.11) I parametri del transistore nel modello a controllo di carica. Si e' visto nei paragrafi precedenti che le prestazioni di un transistore a giunzione possono venir valutate con il modello a controllo di carica che viene caratterizzato utilizzando i parametri τc (τco), tempo di transito delle cariche minoritarie in base, τB, tempo medio di vita delle stesse cariche in zona attiva, τs , tempo medio di vita delle cariche minoritarie in zona di saturazione, cariche QTE e QTC accumulate nelle capacita' di transizione e il guadagno transitorio di corrente βs. Al paragrafo 2.2.6 (b) sono gia' state date delle relazioni approssimate che legano τco e τB alla frequenza di transizione fT e al guadagno di corrente in continua βo. Le cariche accumulate nelle capacita' di transizione possono venir valutate utilizzando le capacita' medie integrali mentre il guadagno transitorio di corrente βs e' stato definito al paragrafo 2.2.7. τs e' essenziale per determinare le prestazioni del transistore nella regione di saturazione e nel calcolo del tempo di restituzione. Questa costante di tempo puo' essere determinata o per misura diretta o indirettamente per via di calcolo a partire dai parametri a piccoli segnali misurati al limite di saturazione. Al paragrafo 2.2.4 (b) e' gia' stata data una relazione di questo tipo e da essa si poteva rilevare che la costante τs veniva a dipendere sia dai parametri della regione attiva che da quelli della regione inversa. Tale relazione puo' venir utilizzata con successo qualsiasi sia il tipo di transistore con il quale si ha a che fare. Per transistori omogenei tuttavia puo' venir usata la relazione maggiormente approssimata τs = 1,22. ωαF + ωαR .α F ωαF .ωαR .(1 − α F .α R ) che per i transistori simmetrici in cui ω αF = ω αR e α F = α R ≅ 1 diviene: τs = 1,22 ≅ τ co .β o = τ B ωαF .(1 − α F ) 73 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. coincidente con il tempo medio di vita dei portatori minoritari in regione attiva. Per i transistori asimmetrici in cui ω αF >> ω αR e α R < α F ≅ 1 si ottiene dalla relazione assegnata al paragrafo 2.2.4 (b): τs = 1 ≅ τ BR ωαR .(1 − α R ) e in questo caso τs coincide con il tempo medio di vita dei portatori minoritari nella regione inversa. Una migliore approssimazione si ha usando la: τs = αR αR = ω TR 2 π. fTR I valori calcolati per mezzo delle precedenti relazioni coincidono entro limiti molto ristretti con quelli misurati. Fanno eccezione i transistori MESA per i quali si commette un errore dell'ordine del 20 ÷ 30 %. 2.3) Comportamento dinamico dei dispositivi MOS. Il comportamento dinamico in commutazione dei dispositivi MOS dipende essenzialmente dalla velocita' con cui le varie capacita' presenti nel circuito possono venir caricate e scaricate durante la transizione tra uno stato e l'altro. C'e' da osservare che in un MOS esistono sempre delle capacita' tra gate, drain e source, drain e substrato, source e substrato e inoltre lo stesso ossido di campo e le metallizzazioni inducono delle capacita' laterali tra gli elementi del dispositivo. A cio' si aggiunge che gran parte di queste capacita' sono fortemente influenzate dalla tensione applicata e quindi un'analisi accurata dei fenomeni e' tutt'altro che semplice e per ottenere risultati accurati la via piu' percorribile e' quella della simulazione. In prima approssimazione e' tuttavia possibile riunire tutti gli effetti capacitivi in un unico condensatore Ctot, come illustrato in figura 2.22 (a) in cui e' riportato lo schema di un invertitore NMOS. (a) (b) V DD Q (carico) 2 V V DD RL ID Q (pilota) IC IL V IC i IL Vo Ron Ctot ingresso 1 figura 2.22 74 I D C tot Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. E' necessario ovviamente tener presente che il MOS non e' un interruttore ideale e includere nel modello anche la resistenza di conduzione RON (figura 2.22 b), mentre a dispositivo interdetto non si commettono apprezzabili errori se si suppone che la resistenza del MOS sia infinita. Partendo dalla condizione di interdizione, in modo tale che all'istante iniziale t = 0 la tensione di uscita sia: v o ≅ VDD = V(1) quando il MOS viene commutato in conduzione il condensatore si scarica tendendo alla tensione V(0 ) = R ON .VDD R L + R ON con una costante di tempo pari a τ HL = C tot . R ON .R L R ON + R L Il ritardo di propagazione e' definito come il tempo che intercorre tra l'istante in cui si applica il comando e quello in cui l'uscita raggiunge il 50% della distanza tra V(1) e V(0), cioe' V' = V(1) + V(0) 2 Nella commutazione inversa la tensione di uscita passera' da V(0) a V(1) con una costante di tempo pari a τ LH = R L . C tot Poiche' RL >> RON anche τ LH >> τ HL . Disgraziatamente RL e RON non sono costanti, ma variano con la tensione. Per calcolare in via approssimata il ritardo di propagazione si puo' allora impiegare un metodo che valuta la quantita' di carica trasferita verso o da Ctot. Nella transizione da V(1) a V(0) si ha che: iC = i D − i L e tale corrente e' variabile nel tempo. Indicando con Im il suo valor medio, nell'intervallo di tempo ∆ t la variazione di carica su Ctot e' |Im|.∆t. D'altra parte la variazione di carica nello stesso intervallo di tempo e' pari a C tot .∆v o . Pertanto: I m . ∆t = C tot . ∆v o Ponendo ∆t = τHL e ∆v o = V(1) − V(0) si ottiene: 2 τ HL = C tot .[V(1) − V(0)] 2. I m 75 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. Im puo' venir calcolata come media tra i valori di Ic alle due tensioni VOH e V', avendo indicato con VOH l'effettiva tensione di uscita allo stato alto. In figura 2.23 sono riportate le caratteristiche relative al circuito invertitore. Si ricordi che il carico e' realizzato con un transistore NMOS a svuotamento. In tal caso VOH = VDS1 = 5,8 V. Quando la tensione di ingresso passa a V(1) ≅ 6 V la corrente di drain e' iD =320 µA. ID (µ A) Vo (volt) 6 300 VOH = 5,8 V curva di carico 250 6 5 5,5 4 200 5 3 150 4,5 2 100 4 50 1 3,5 VOL = 0,5 V 3V 1 2 3 4 5 6 V 2,5 V DS (volt) 0 1 V IL 2 3 = 2,6 V 4 V IH 5 6 Vi (volt) = 3,4 V figura 2.23 Per il MOS di carico, quando la tensione VDS1 = 5,8 V si ha una tensione drain source pari a VDS2 = VDD - VDS1 = 0,2 V. Dalle sue caratteristiche di drain (figura 2.24) si ricava che iL = 5 µA. I D2 ( µA) 300 50 +1 40 + 0,5 30 caratteristica di carico 0 20 -0,5 10 -1 - 1,5 1 2 3 4 5 V DS (volt) figura 2.24 Quando la tensione di uscita raggiunge il valore V' si ha: 76 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. VDS1 ≅ 5, 8 + 0, 5 = 3, 15V 2 mentre VGS1 e' ancora pari a 6 V. In corrispondenza si ottiene, sempre dalle caratteristiche di figura 2.23 i D = i D1 = 310 µA e nel contempo per il MOS di carico rimangono determinati i seguenti valori: VDS2 = 2,85 V VGS2 = 0 Di conseguenza iL = iD2 = 20 µA e quindi la corrente media Im vale Im = (320 − 5) + (310 − 20) = 303 2 µA In prima approssimazione quindi, quando si consideri una capacita' Ctot pari a 2 pF, il tempo di ritardo τHL rimane calcolato in: τ HL = 2.10 −12.(5,8) − 0,5 = 17,5 n sec 2.303.10 −6 Considerazioni analoghe portano a calcolare il tempo di ritardo τLH in circa 265 nsec, che, come ci si aspettava e' notevolmente maggiore di τHL. 2.4) I diodi a giunzione. Nei circuiti di commutazione si fa largo uso di diodi semiconduttori e a differenza dei transistori, che sono realizzati quasi esclusivamente in tecnologia planare, essi si trovano in una gran varieta' di tipi, sia al germanio che al silicio. Sopravvivono infatti ai nostri giorni addirittura i diodi a punte di contatto, quelli "gold bonded", i diodi con giunzione a lega o diffusi e sono inoltre largamente presenti diodi zener o altri tipi speciali. In figura 2.25 sono riportate in maniera qualitativa le caratteristiche tipiche dei vari diodi a semiconduttore. Per quanto riguarda le caratteristiche dirette sono chiaramente visibili le principali differenze tra diodi al germanio e diodi al silicio. I diodi al germanio iniziano a condurre per tensioni dirette di circa 0,2 V, mentre per la tensione di soglia dei diodi al silicio si superano i 0,5 volt. Queste differenti caratteristiche possono venir vantaggiosamente sfruttate nel progetto di circuiti di commutazione. I diodi al silicio offrono rispetto quelli al germanio il vantaggio di una corrente inversa di saturazione notevolmente inferiore e possono operare a maggior temperatura, che puo' raggiungere e superare il doppio della massima temperatura operativa di un diodo al germanio. I diodi al germanio a punte di contatto possono essere utilmente impiegati in quelle applicazioni in cui la loro resistenza diretta, relativamente elevata, non da' fastidio. La loro corrente diretta, ad un volt di caduta, puo' variare tra 1 e 25 mA, mentre quella inversa, per tensioni comprese tra 15 e 50 volt, si mantiene tra i 15 e i 500 µA secondo il tipo di diodo. E' bene porre in evidenza che i diodi a punte di contatto soffrono quando vengono sottoposti ad alti picchi di corrente diretta. La loro capacita' non supera di solito il pF. 77 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. IF 3 1) Diodo "gold-bonded" 2) Diodo a giunzione Si 3) Diodo a giunzione Si 4) Diodo a punta di contatto 2 1 2 4 VF 3 4 1 figura 2.25 I diodi "gold bonded" hanno caratteristiche migliori; la corrente diretta a 1 volt e' compresa tra i 25 e i 600 mA, quella inversa e' senz'altro inferiore a quella dei diodi a punte di contatto e la capacita' totale non supera qualche picofarad. Sono normalmente progettati per lavorare a temperature comprese tra - 50° e + 100° C. I diodi al germanio di tipo miniature sono adatti a lavorare in circuiti con correnti dirette fino all'ampere. Quelli subminiatura sono invece usati in circuiti di commutazione veloci, con tempi di commutazione dell'ordine di qualche nanosecondo. I diodi al silicio sono invece usati in quei circuiti in cui sono necessarie delle correnti inverse estremamente basse e in cui la temperatura operativa debba superare i 70° ÷ 80° C. I diodi al silicio con giunzione a lega sono ancora usati in quelle applicazioni in cui sono richieste anche alle alte temperature buone caratteristiche con alta tensione e bassa corrente inverse. Si ha un'ampia scelta su un ampio campo di correnti dirette e le tensioni inverse possono raggiungere e superare qualche centinaio di volt. I diodi MESA e planari hanno invece una caratteristica diretta peggiore di quelli a lega, poiche' l'area di giunzione e' normalmente molto piccola. Essi tuttavia presentano delle caratteristiche dinamiche nettamente migliori. Infine anche i diodi Zener possono essere vantaggiosamente impiegati nei circuiti di commutazione. Per scopi di regolazione sono disponibili diodi Zener la cui tensione puo' andare da qualche volt a qualche centinaio di volt, con varie potenze dissipabili 2.4.1) I tempi di ripristino. . Quando un diodo a giunzione viene commutato da uno stato all'altro si hanno dei transitori che impongono delle limitazioni alla loro velocita' operativa. Ad esempio, in risposta ad un gradino di tensione in polarizzazione diretta, la tensione del diodo, inizialmente inversa e normalmente di valore relativamente elevato, raggiunge il suo stato di regime, corrispondente alla condizione di conduzione, dopo un intervallo di tempo tfr, chiamato tempo di ripristino diretto. Quando viceversa si commuta verso l'interdizione si ha inizialmente una notevole corrente inversa, che va man mano diminuendo e raggiunge il suo valore di regime dopo un tempo trr, detto tempo di ripristino inverso. I tempi di risposta e le ampiezze dei segnali in regime transitorio dipendono dal tipo di diodo e dal circuito in cui esso e' inserito. 78 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. a) Tempo di ripristino diretto. In figura 2.26 sono riportati in maniera qualitativa alcuni andamenti tipici del transitorio ai capi di un diodo quando questo viene repentinamente commutato in conduzione. Gli andamenti a tratto continuo rappresentano la risposta ad un gradino ideale di corrente (rappresentato in a), mentre quelli a tratteggio sono relativi a casi reali, quando il diodo viene pilotato da un generatore con tempo di salita finito. I F a t VF b t t fr c t tfr figura 2.26 La caratteristica di figura 2.26 (b) e' relativa a diodi in cui, durante il tempo di commutazione, la resistenza viene modulata da un valore iniziale alto ad uno piu' basso corrispondente alla conduzione diretta. Questo fenomeno e' scarsamente rilevante nei diodi a punte di contatto, ma in quelli "gold bonded" e in quelli a giunzione di piccola area puo' assumere una notevole importanza. L'ampiezza del transitorio e il tempo di risposta dipendono dalla corrente diretta, dal tempo di salita dell'impulso di comando e dall'impedenza del circuito esterno. Quando la commutazione viene eseguita con una piccola corrente diretta, condizione nella quale la modulazione della resistenza e' trascurabile, l'andamento della tensione in transitorio assume l'aspetto di figura 2.26 (c). La tensione ai capi del diodo sale di solito con andamento esponenziale, ma su un certo campo di valori di corrente in certi casi puo' assumere carattere oscillatorio. Da un punto di vista pratico tuttavia assume molto maggiore importanza il tempo di ripristino inverso. b) Tempo di ripristino inverso. In figura 2.27 sono riportati gli andamenti tipici della commutazione all'interdizione. All'istante di commutazione l'impedenza presentata dal diodo e' relativamente bassa e molto prossima a quella presentata in conduzione. Di conseguenza si ha una corrente inversa il cui valore 79 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. dipende principalmente dalla tensione inversa ER applicata dall'esterno e dalla resistenza totale R del circuito in cui il diodo e' inserito. VF t VR IF IF t 0,1 I R t sr IR t dr IF t I RO figura 2.27 Durante un tempo tsr la corrente inversa IR si mantiene quasi costante; in alcuni tipi di diodo tuttavia il tempo tsr e' talmente breve da poter essere trascurato. Tale periodo ha fine non appena la carica determinata dai portatori minoritari in prossimita' della giunzione e' stata rimossa. Successivamente la tensione ai capi del diodo si porta in maniera pressocche' esponenziale al valore ER mentre la corrente inversa diminuisce fino a raggiungere il valore della corrente inversa di saturazione. Il tempo di ripristino inverso trr = tsr + trr diminuisce ovviamente all'aumentare di IR e per un determinato valore di corrente IRO il tempo tsr si annulla. In queste condizioni la caratteristica transitoria e' quella illustrata in figura 2.27 (c) In analogia a quanto visto per i transistori a giunzione si puo' affermare che in condizioni di regime la carica totale accumulata nel diodo e dovuta ai portatori minoritari Q T = τ. I F e' direttamente proporzionale al tempo medio di vita τ dei portatori di minoranza e alla corrente diretta IF. La carica QEX che viene rimossa dal circuito esterno in presenza della corrente inversa IR e' sempre minore di QT e la parte rimanente si annulla per ricombinazione. La carica restituita dipende dal rapporto IF/IR e dal rapporto W/L tra lo spessore del materiale di base e la lunghezza di diffusione. Per diodi normali di solito Q EX < 0, 5. Q T . Esistono diodi speciali progettati in modo che la carica restituita sia in pratica coincidente con la carica accumulata in prossimita' della giunzione. In questo caso la carica residua e' comparativamente piccola con il risultato che la corrente scende dal suo valore iniziale IR al valore 80 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. di regime in alcuni nanosecondi in quanto il tempo tdr risulta trascurabile. Questo viceversa non avviene nei diodi normali in cui il tempo di decadimento tdr non puo' essere affatto ignorato. 2.4.2) Calcolo dei tempi di ripristino. Quando un diodo deve venir usato in circuiti di commutazione ad alta velocita' e' essenziale conoscere il tempo di ripristino inverso trr. Nei dati forniti dai vari costruttori le caratteristiche transitorie dei diodi vengono presentate in molte maniere diverse e il piu' delle volte in maniera incompleta. Questi dati, ad esempio, forniscono il tempo durante il qual la carica QEX viene estratta dal diodo o il tempo necessario affinche' la corrente inversa cali ad un valore prefissato o altri dati ancora. E' evidente che tali specifiche si applicano solamente a condizioni operative simili a quelle in cui la misura e' stata effettuata. A questi dati si puo' tuttavia fare riferimento per calcolare, sia pure in maniera approssimata, il tempo di ripristino inverso in qualsiasi condizione operativa. Una soluzione semplice si basa sul modello a controllo di carica, assumendo che la relazione tra la carica totale accumulata nel diodo immediatamente prima della commutazione sia τF = τ = Q IF con τF tempo medio di vita dei portatori minoritari in zona di conduzione, mentre la relazione tra carica accumulata nel diodo alla fine del tempo tsr sia τR = Q(t sr ) IR con τR tempo medio di vita dei portatori minoritari in zona di polarizzazione inversa. Tenendo conto anche della capacita' Cj della giunzione l'equazione di carica e' allora i= dv j dq q + + C j. dt τ F dt (2.4.1) dove vj e' la tensione inversa applicata alla giunzione. Si e' visto in precedenza che per un tempo compreso tra l'istante di commutazione e tsr la corrente i = -IR = costante mentre l'effetto di Cj nello stesso periodo si puo' ritenere trascurabile. Ponendo allora la condizione iniziale q(0) = Q = τ F .I F dalla (2.4.1) si ricava q(t ) = (I F + I R ).τ F .e − t τF − τ F .I R Secondo le ipotesi fatte, all'istante t = tsr e q(tsr) = τR.IR e quindi 81 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. IF IR t sr = τ F . ln τ 1+ R τF 1+ (2.4.2) Anche il tempo tdr puo' essere calcolato in modo abbastanza semplice. Infatti la tensione alla giunzione e' Vj = -ER + R.iR e si ricava quindi che: dv j di = R. R dt dt Poiche' alla fine del periodo tsr si ha q(tsr) = τR.IR e per t > tsr si ha q(t) = τR.iR si ricava che dq/dt =τR . diR/dt e sostituendo nella (2.4.1) si ottiene finalmente che: − i R = (τ R + R.C j ). di R τ R + .i R dt τF Definendo allora il tempo tdr come l'istante in cui la corrente inversa diviene pari al 10% di IR, si ottiene in definitiva τ R + R.C j τ R + R.C j (2.4.3) t dr = . ln 10 = 2,3. τR τR 1+ 1+ τF τF Dalle due relazioni (2.4.2) e (2.4.3) si possono trarre le seguenti conclusioni. All'aumentare della corrente inversa IR, a parita' di corrente diretta IF, il tempo tsr diminuisce e si annulla quando τ I R = I RO = F . I F τR Per commutazioni sovrapilotate, con IR > IRO, si ottiene un tempo I 1+ R IF t o = R. C j .ln τ 1+ F τR mentre il tempo tdr si calcola ancora dalla (2.4.3). Riportando il tempo tsr su un grafico in funzione del termine ln (1+ IF/IR) si ottiene una retta la cui pendenza e' τF (vedi figura 2.28). L'intersezione di tale retta con l'asse delle ascisse alla coordinata ln (1 + τR/τF). 82 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. 200 150 100 t sr [ nsec ] 50 0 1 2 ln ( 1 + 3 4 IF ) IR figura 2.28 Misurando pertanto tsr per vari valori del rapporto IF/IR si possono facilmente determinare le due costanti di tempo τF e τR. A titolo di esempio si supponga di aver effettuato per un diodo le seguenti misure (riportate in figura 2.28): per per IF = 10 IR IF = 40 IR t sr = 100 n sec t sr = 200 n sec In corrispondenza a questi valori si ha: I ln1 + F IR = ln 11 = 2,4 I ln1 + F IR = ln 41 = 3,71 La linea retta che passa per i due punti P1 (2,4 ; 100) e P2 (3,71 ; 200) interseca l'asse delle ascisse alla coordinata 1,09. Pertanto τ ln1 + R = 1,09 τF Si ottiene quindi 83 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. τF = ∆t sr 100 = = 76 n sec I F 1,31 ∆ ln1 + IR ( ) τ R = e1, 09 − 1 .τ F = 150 n sec Determinati i valori delle due costanti di tempo il calcolo dei tempi di ripristino puo' essere fatto per qualsiasi condizione di lavoro. Esistono tuttavia anche altre relazioni approssimate che permettono il calcolo del tempo di ripristino inverso dei diodi a giunzione e che si basano su un piu' attento esame dei fenomeni fisici. Di esse si riportano nel seguito due di un certo interesse, di cui la prima si applica a diodi spessi, cioe' a quelli in cui lo spessore W e' notevolmente maggiore del cammino libero di diffusione L, la seconda ai diodi sottili. a) Tempo di ripristino inverso di un diodo spesso (W>>L). Quando sia conosciuto il tempo di ripristino inverso necessario affinche' la corrente inversa scenda ad uno specifico valore allora il tempo di ripristino tsr per differenti condizioni operative puo' essere calcolato dalla: erf t sr = τ 1 I 1+ R IF (2.4.4) Questa espressione2 e' ottenuta dalla soluzione generale dell'equazione di diffusione per un diodo spesso rispetto alla lunghezza di diffusione L. IF e' la corrente diretta immediatamente prima della commutazione, IR quella inversa immediatamente dopo e τ e' l'effettivo tempo di vita dei portatori minoritari. Il tempo necessario poi affinche' la corrente inversa scenda dal valore IR ad uno specifico valore iR puo' essere determinato dalla: − t iR e τ t = + erf −1 IF τ t π. τ ricavata nell'ipotesi di I R → ∞ e tsr = 0. Le relazioni (2.4.4) e (2.4.5) sono riportate nel grafico di figura 2.29 2 Si ricordi che la funzione erf (x) e' definita come: erf (x ) = 2 π 84 x .∫ e −z .dz 0 2 (2.4.5) Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. IR IF iR IF 10 8 6 5 4 3 tsr 1 = I τ + 1 R IF erf a) 2 t iR e− τ + erf tτ − 1 = IF t π. τ b) 1 0,8 0,6 0,5 0,4 0,3 0,2 a) b) 0,1 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 1,1 1,2 1,3 t sr t τ τ 1,4 figura 2.29 A titolo di esempio si assuma che per far diminuire la corrente inversa di un diodo al valore iR = 3 mA, essendo le condizioni inizali IF = 10 mA, ER = 6 volt e R = 200 Ω, si abbia un tempo di ripristino trr pari a 18 nsec. Sulla base di questi dati si puo' determinare τ. All'istante della commutazione si ha IR = 6 V / 200 Ω = 30 mA, cioe' IR/IF =3. Dalla curva (a) di figura 2.29 si ricava che tsr = 0,055 τ. Inoltre dalla curva (b) si ricava per iR/IF = 3 mA/10 mA = 0,3 un valore pari a 0,3 τ, mentre per IR/IF = 3 si ha un valore di 0,02 τ. Si ottiene percio' che il tempo tdr = 0,3 τ - 0,02 τ = 0,28 τ. Il tempo di ripristino totale e' pertanto: t rr = 0, 055. τ + 0, 28. τ = 0, 335. τ = 18 n sec Si ricava immediatamente che τ = 54 nsec e con questo valore si puo' determinare il tempo di ripristino trr in diverse condizioni operative. Se si volesse ad esempio conoscere il tempo di ripristino per una corrente inversa iR = 1 mA, quando R = 300 Ω, IF = 5 mA e ER = 3 V, e' sufficiente osservare che in tal caso IR = 10 mA e quindi IR/IF = 2. In corrispondenza a tale valore dalla curva (a) si ricava che tsr = 0,095.τ = 5,1 nsec. Per il rapporto iR/IF = 0,2 e IR/IF = 2 dalla curva (b) si ricavano poi i valori 0,425 τ e 0,035 τ. Si ottiene allora che tdr = 0,39.τ = 21 nsec. Il tempo di ripristino totale e' allora trr = (5,1 + 21) nsec = 26,1 nsec. 85 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. a) Tempo di ripristino inverso di un diodo sottile (W<<L). In un diodo sottile il tempo di ripristino inverso puo' venir considerato completamente indipendente dal tempo medio di vita dei portatori minoritari in quanto la ricombinazione e' trascurabile. Esso viene a dipendere unicamente dal tempo medio di transito τt e le relazioni usabili sono in tal caso: t rr = t sr + t dr = τ t . 8 4 I . ln 2 .1 + F + 0,233.τ t 2 π π I R per IR ≤ IF, mentre per IR > IF valgono le 4 1 t sr = τ t . . π I 1 + F IR τt 1 t dr = . π 1 + 0,1. I R IF t rr ≅ 0,467.τ t IR 1 + IF 2 + 2 2 1 − 2 IR 1 + I F 0,318.τ t I 1 + 0,1 R IF 2 Le relazioni fornite per il calcolo diretto di trr si applicano per variazioni della corrente inversa tra il 100 % e il 10 % del suo valore iniziale. 2.5) I diodi Schottky. Nei circuiti di commutazione assume notevole importanza un particolare tipo di diodo realizzato tramite una giunzione tra metallo e semiconduttore estrinseco. Una tale giunzione in funzione del drogaggio del semiconduttore puo' presentare caratteristiche rettificanti, come avere un comportamento puramente ohmico. A causa della diversa concentrazione dei portatori nei due materiali si forma infatti una barriera di potenziale alla giunzione; per realizzare contatti ohmici si fa in modo da eliminare l'effetto di tale barriera, come nel caso di giunzioni tra alluminio e silicio fortemente drogato, mentre se si usa silicio debolmente drogato o arseniuro di gallio si ottiene una giunzione rettificante chiamata diodo a barriera Schottky o piu' semplicemente diodo Schottky. I diodi Schottky hanno una caratteristica voltamperometrica simile a quella di un diodo a giunzione, ma la tensione di soglia e' piu' bassa aggirandosi su 0,3 volt, e la corrente inversa e' piu' alta. Ambedue queste caratteristiche derivano dall'elevata concentrazione di elettroni nel metallo che fa si' che con un numero di portatori piu' elevato a disposizione sia possibile ottenere gli stessi valori di corrente con una minor tensione applicata. 86 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. Il diodo Schottky trova applicazione nei circuiti di commutazione ad elevata velocita' in quanto il suo funzionamento si basa sui portatori maggioritari (in un metallo infatti non vi sono portatori minoritari).Pertanto il tempo di ripristino tsr e' in pratica nullo e il tempo totale di ripristino coincide con tdr, normalmente di valore molto ridotto. Si ottengono in tal modo diodi estremamente veloci il cui tempo di ripristino puo' essere notevolmente inferiore al nanosecondo. 2.6) La dissipazione di potenza in regime di commutazione periodica. Si consideri un invertitore realizzato con la connessione a emettitore comune e il cui carico sia puramente resistivo. In figura 2.30 sono riportati in maniera approssimata gli andamenti della corrente di collettore iC, della tensione collettore emettitore vCE e della potenza dissipata PC in presenza di una commutazione periodica. iC t ON t OFF I CO t tr tf vCE VCEM VCES t P P CM OFF ON dissipazione media t figura 2.30 Quando ci si trova nello stato di interdizione nel circuito circola a regime una piccola corrente Ico che, come si sa, dipende dalle condizioni operative del circuito di ingresso, dalla temperatura e dalle tensione VCE. Se in base e' applicata una polarizzazione inversa sufficientemente elevata la corrente Ico coincide con la ICBO. Pertanto se la resistenza di carico di collettore RL non e' eccessivamente grande anche la tensione collettore emettitore VCEM coincide in pratica con la tensione di alimentazione EC. La potenza dissipata e' comunque abbastanza piccola in quanto piccola e' la corrente di collettore. Nello stato di conduzione a regime, se il transistore lavora in regione di saturazione, la tensione collettore emettitore scende al valore VCES che nella peggiore delle ipotesi e' di qualche 87 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. decimo di volt. La corrente di collettore viceversa sale al valore ICM che, se EC e abbastanza piu' grande di VCES vale in via approssimata I CM ≅ EC RL Anche in questo caso pertanto la dissipazione di potenza e' modesta poiche' e' piccola la tensione collettore emettitore. Durante i transitori di commutazione invece il punto di lavoro attraversa regioni in cui sono relativamente elevate sia la corrente che la tensione di collettore. La potenza di picco puo' allora assumere valori relativamente elevati e con alte frequenze di commutazione la potenza dissipata in transitorio puo' divenire la parte preponderante della potenza dissipata totale. Riferendosi al transitorio relativo al tempo di salita tr e supponendo per semplicita' che corrente iC e tensione vCE varino in tale intervallo linearmente, si ottiene , trascurando la ICBO, che: i c (t ) = I CM . t tr v CE (t ) = VCEM − (VCEM − VCES ). t tr La potenza media nel periodo T del segnale di comando e dovuta al transitorio di salita sara' quindi: t Ptr = = 1 r t t .∫ VCEM − (VCEM − VCES ). .I CM . .dt = T 0 tr tr VCEM .I CM .t r VCES .I CM .t r t + = r .I CM .(VCEM + 2.VCES ) 6.T 3.T 6.T Ragionando analogamente per il transitorio di discesa si ottiene: t Ptf = 1 f t t t .∫ VCES − (VCES − VCEM ). .I CM . .dt = f .I CM .(VCEM + 2.VCES ) T 0 tf tf 6.T Vi sono poi i due contributi dovuti alla potenza dissipata negli stati di regime. Rispettivamente si ha: t PON 1 ON V .I .t = . ∫ VCES .I CM .dt = CES CM ON T 0 T POFF 1 OFF V .I .t = . ∫ VCEM .ICO .dt = CEM CO OFF T 0 T t Infine e' necessario prendere in considerazione la potenza che si dissipa in base nello stato ON. Quella dello stato OFF e' comunque assolutamente trascurabile. PB = VBEM . I BM . t ON T 88 Capitolo II I dispositivi elettronici. Condizioni operative dinamiche. C'e' tuttavia da osservare che in questo caso sia VBEM che IBM sono di piccolo valore e il piu' delle volte la potenza dissipata in base puo' essere ignorata. Pertanto la potenza media che si dissipa in regime di commutazione periodica e' in prima approssimazione P= I CM .(VCEM + 2.VCES )( . t r + t f ) VCES .I CM .t ON + VCEM .I CO .t OFF + T T Il primo termine dell'espressione rappresenta la potenza dissipata durante il transitorio ed aumenta all'aumentare di tr, tf e della frequenza di ripetizione f = 1/T. Se tr = tf e ton = toff = T/2 si ottiene: P= I CM .[2.t r .(VCEM − VCES ) + 3.VCES .T ] + 3.I CO .[T − 2.t r ] 6T Nell'ipotesi che la dissipazione dovuta a ICO possa essere trascurata e che VCES << (VCEM ≅ EC) la precedente espressione si riduce a: I .E .t V .I P = CM C r + CES CM 3. T 2 Infine, poiche' I CM ≅ EC si ricava che: RL t V E C2 t r VCES = PRL . r + CES + P≅ . R L 3T 2.E C 3T 2.E C PRL rappresenta la potenza commutata nel carico RL; poiche' il termine compreso nella parentesi e' piccolo quando tr << T e VCES << EC appare evidente che la potenza commutata PRL puo' essere diverse volte maggiore di quella dissipata P. E' comunque sempre opportuno che P sia minore della massima potenza dissipabile nel transistore alla temperatura di lavoro. Con un carico capacitivo o induttivo le condizioni operative sono meno favorevoli e la potenza dissipata in transitorio puo' essere notevolmente maggiore di quella che si ha con un carico puramente resistivo. Con un carico parzialmente reattivo il punto di lavoro si muove in regioni, in cui si hanno contemporaneamente alte tensioni e correnti. Inoltre nel caso di carico reattivo, i tempi del transitorio non dipendono unicamente dalle caratteristiche del transistore, ma anche da quelle del carico e possono essere relativamente grandi. 89 Capitolo III I circuiti logici. 3.1) Introduzione. Si definisce circuito logico qualsiasi circuito in grado di elaborare un'informazione digitale, cioe' un'informazione codificata con un segnale capace di assumere solamente due stati, ad uno dei quali viene associata la costante logica 1, mentre all'altro viene associata la costante logica 0. I piu' semplici circuiti logici sono quelli realizzati con diodi semiconduttori. In termini ideali un diodo a giunzione ha una resistenza nulla quando viene polarizzato in senso diretto, mentre ha resistenza infinita se polarizzato inversamente. La sua caratteristica, in queste ipotesi, e' quella riportata in figura 3.1 (a). Nella realta’ le due ipotesi appena enunciate non sono affatto verificate e l'effettiva caratteristica di un diodo reale e' quella riportata in figura 3.1 (b). I I V (a) V (b) figura 3.1 Senza entrare in eccessivo dettaglio si puo' ricordare che per un diodo reale la resistenza diretta non e' nulla, mentre quella inversa non e' infinita. Inoltre a tensioni inverse sufficientemente elevate si ha il fenomeno della scarica, per breakdown o per effetto Zener, in corrispondenza alla quale la corrente sale rapidamente. I circuiti base per la realizzazione di gate a diodi sono riportati in figura 3.2. Il loro funzionamento e' intuitivo e la funzione logica realizzata con ciascuno d'essi dipende dalla logica, positiva o negativa, con cui sono chiamati ad operare. E' facile verificare che in logica positiva il primo circuito realizza la funzione logica AND, mentre il secondo realizza quella OR. Si ricordi che per logica positiva si intende la convenzione che associa il valore logico 1 alla tensione alta, mentre lo 0 e' associato al valore basso. Adottando la convenzione opposta si ha la logica negativa. Capitolo III I circuiti logici. Vh Vl e1 e1 e2 e2 (a) (b) figura 3.2 E' interessante notare che, se i diodi fossero ideali, non ci sarebbe alcun limite al numero di ingressi di ciascun gate, ne' alcun limite al numero di altri circuiti analoghi che potrebbero essere connessi all'uscita di un singolo gate. Con diodi reali al contrario le cadute ai capi dei diodi conduttori e le correnti inverse dei diodi interdetti portano ad una continua degradazione dei livelli dei segnali via via che la complessita' e il numero di stadi in cascata aumentano. Questo inconveniente della logica a diodi puo' essere superato introducendo degli opportuni amplificatori, realizzati di solito a transistori. Tali amplificatori, quando realizzati con BJT, lavorano quasi sempre tra interdizione e saturazione, in modo da assicurare sia una notevole stabilita' dei livelli di tensione associati a ciascun stato logico che una notevole escursione di tensione in corrispondenza alla commutazione. Alle velocita' di commutazione piu' elevate tuttavia puo' essere necessario ricorrere ad amplificatori non saturati in modo da rendere nullo il tempo di restituzione. Il circuito base di un invertitore, nel caso di transistore a giunzione NPN, e' riportato in figura 3.3. Molto spesso l'emettitore e' connesso a massa e quando le temperature cui il circuito e' destinato ad operare non sono eccessive, la resistenza Rbb viene omessa. V+ Rc ei e0 Rb R bb VL V- figura 3.3 91 Capitolo III I circuiti logici. L'invertitore puo' venir utilizzato per correggere le deficienze di carico dei gate a diodi, come illustrato in figura 3.4, dove l'uscita di un gate a diodi pilota l'ingresso di un invertitore. VH V+ Rc Rg e1 e2 e0 Rb Rbb VL V- figura 3.4 Il funzionamento anche in questo caso e' intuitivo e in logica positiva realizza l'operatore NAND, in logica negativa quello NOR E' tuttavia interessante far osservare che l'aggiunta di un invertitore diminuisce sostanzialmente i problemi di carico di un gate a diodi, ma non li elimina completamente.Si consideri infatti la situazione illustrata in figura 3.5, in un gate NAND pilota un secondo gate dello stesso tipo. IL figura 3.5 Quando l'uscita del primo gate e' a livello basso, cioe' quando il relativo transistore e' saturato, in esso fluisce anche la corrente IL proveniente all'ingresso pilotato. Se altri gate vengono connessi in parallelo sull'uscita , la corrente totale IL aumenta e se essa supera il limite determinato dalla corrente di base e da guadagno di corrente del transistore pilotante, quest'ultimo esce dalla saturazione e la tensione di uscita sale, superando facilmente la tensione rappresentativa del livello logico basso. 92 Capitolo III I circuiti logici. Anche il numero di ingressi che ciascun gate puo' pilotare risulta aumentato con l'introduzione dell'invertitore; non e' infatti piu' necessario assicurare che in uscita il livello di tensione non scenda al di sotto della tensione rappresentativa del livello logico alto, ma e' sufficiente che alla base dei transistori pilotati venga fornita una corrente sufficiente a mantenerli in saturazione. Pertanto la resistenza non infinita dei diodi polarizzati inversamente pesa molto meno che non nel caso in cui l'invertitore non e' presente, tuttavia pone ancore dei limiti al massimo numero di ingressi pilotabili. C'e' infine da osservare che l'introduzione dell'amplificatore a transistori permette di eliminare in modo pressocche' totale la degradazione del segnale che si ha nei circuiti a diodi man mano che aumenta il numero degli stadi in cascata. 3.2) Caratteristica di trasferimento e valori garantiti per le tensioni. La caratteristica di trasferimento di un elemento logico descrive il legame che intercorre tra la grandezza di ingresso e quella di uscita e permette di definire alcune della sue caratteristiche elettriche. Si consideri allora la caratteristica di trasferimento di un invertitore logico, il cui andamento sara' in linea di massima simile a quello riportato in figura 3.6. Vu VH V L V VL VH i figura 3.6 Quando all'ingresso vengono applicate tensioni basse in uscita si hanno tensioni alte e viceversa. Pertanto la tabella che descrive in termini di tensioni il funzionamento e': V i Vu VL VH VH VL 93 Capitolo III I circuiti logici. Sia in logica positiva che in quella negativa l'operatore logico associabile al circuito e' un NOT. E' tuttavia necessario definire con maggior precisione cosa si intenda con tensione bassa VL e tensione alta VH.Quando si fissi l'attenzione sulla tensione di uscita si dira' che essa si trova al livello alto quando e' compresa in un intervallo indicato in figura 3.7 con VH, mentre si trova a livello basso quando cade nell’intervallo VL. V u VH VL figura 3.7 Fissando invece l'attenzione sulla tensione di ingresso si puo' ragionare nel modo seguente. Fissata una tensione di soglia VT, confine tra gli stati alto e basso e compresa nell'intervallo tra VH e VL, il circuito dovra' interpretare ogni tensione di ingresso Vi>VT come livello alto e ogni tensione Vi<VT come livello basso. Con riferimento alla caratteristica di trasferimento la situazione e' allora quella illustrata in figura 3.8. V Tensioni di uscita alte (1) Tensioni di uscita basse (0) VH VL VT Tensioni di ingresso basse (0) Tensioni di ingresso alte (1) figura 3.8 94 Vi Capitolo III I circuiti logici. Da questa rappresentazione e' ovvio che, affinche' due circuiti logici possano scambiarsi correttamente informazioni, i due intervalli VH e VL relativi alle tensioni di uscita devono essere contenuti negli intervalli delle tensioni di ingresso alta e bassa rispettivamente e che, come e' stato detto, la tensione VT cada nell'intervallo compreso tra VL e VH. Per un circuito reale e' tuttavia necessario tener conto di alcuni altri fenomeni. Ad esempio si sa che in un circuito reale la tensione di uscita varia in funzione del carico e pertanto non e' possibile garantire un valore preciso nei due stati alto e basso. I costruttori pertanto assegnano per le tensioni di uscita due valori garantiti VOH e VOL, intendendo che: • • VOH e' la minima tensione di uscita di un dispositivo logico allo stato alto, quando le condizioni operative sono le peggiori possibile entro il campo di impiego. VOL e' la massima tensione di uscita allo stato basso per il medesimo dispositivo sempre nelle peggiori condizioni di lavoro. Il caso peggiore e' quello in cui tutto, ad esempio la tolleranza sui valori dei componenti, la temperatura, le variazioni delle tensioni di alimentazione, il carico ecc. concorre a far salire la tensione di uscita dello stato basso e a diminuire quella dello stato alto. Anche per l'ingresso valgono considerazioni analoghe. C'e' inoltre da tener presente che la caratteristica di trasferimento di un elemento reale presenta nella zona di transizione tra i due stati un andamento che non e' mai verticale. Pertanto non e' possibile parlare come nel caso ideale di una tensione VT ed e' necessario anche in questo caso far ricorso ai valori garantiti VIH e VIL, intendendo che: • • VIL e' la massima tensione di ingresso che, nelle peggiori condizioni di funzionamento sara' sicuramente riconosciuta dal circuito come una tensione dello stato basso ( in logica positiva uno 0 logico). VIH e' la minima tensione di ingresso che nelle peggiori condizioni di funzionamento sara' sicuramente riconosciuta dal circuito come una tensione dello stato alto (in logica positiva un 1 logico) Poiche' normalmente VIL < VIH esiste un intervallo di tensioni VIL - VIH che determina una zona di incertezza sul livello logico dell'ingresso. I quattro valori VIL, VOL, VIH, VOH possono venir trovati nei fogli caratteristici forniti dai costruttori. La situazione teste' descritta e' rappresentata nel grafico di figura 3.9 Per un corretto scambio di informazioni tra due circuiti, per evitare cioe' di andare ad interessare la zona di incertezza, e' necessario che: VOH > VIH VOL < VIL 95 Capitolo III I circuiti logici. Vi Vu V OH V IH zona di incertezza V IL V OL figura 3.9 In un circuito reale vi sono poi ulteriori vincoli da rispettare. La tensione di uscita dovra' ovviamente essere compresa tra quella del riferimento (massa) VGND e quella di alimentazione VAL VGND < Vu <VAL La tensione di ingresso a sua volta non dovra' superare i limiti imposti dalla possibilita’ che il circuito venga danneggiato. In altre parole Vmin < Vi < Vmax Pertanto, tenendo conto di quanto detto, le reali condizioni di funzionamento di ingresso e di uscita sono quelle riportate in figura 3.10. USCITA VAL INGRESSO Vmax livello alto VOH VIH Campo delle tensioni di ingresso tali da non danneggiare il dispositivo VOL VIL livello basso VGND Vmin figura 3.10 96 Capitolo III I circuiti logici. I risultati raggiunti permettono ora di affrontare un nuovo argomento, cioe' quello dell'immunita’ al rumore. 3.3) Il margine di rumore. Nella trasmissione dell'informazione dall'uscita di un elemento all'ingresso dell'elemento successivo il segnale puo' venir alterato per la presenza di rumore. Tale rumore puo' venir generato per le cause piu' diverse quali ad esempio per accoppiamento elettromagnetico o a causa della caduta di tensione lungo le linee di collegamento, per la presenza di disturbi sulle alimentazioni o per altre cause ancora. La domanda che ci si deve porre e' pertanto qual'e' l'ampiezza massima del disturbo che non altera l'informazione. In altre parole e' necessario valutare qual'e' il valore del disturbo che non permette di discriminare qual'e' il valore logico associato al segnale. Con riferimento alla figura 3.10 la risposta appare semplice; il rumore infatti non dev'essere tale da par uscire il segnale prelevato all'uscita del primo elemento dagli intervalli ammessi per le tensioni di ingresso del secondo elemento. Si possono allora definire due quantita', VNH e VNL, dette rispettivamente margine di rumore allo stato alto e allo stato basso, come differenza tra i rispettivi valori garantiti di uscita e di ingresso. VNH = VOH - VIH VNL = VIL - VOL Se l'ampiezza del rumore non supera queste due quantita' il segnale che si presenta all'ingresso del secondo elemento non andra' mai ad interessare la zona di incertezza e l'informazione logica non verra' alterata. I margini di rumore cosi' definiti prendono il nome di margini di rumore apparenti in quanto sono calcolati con riferimento ai valori garantiti. Rispetto alla realta' tuttavia tali valori sono pessimistici e i margini di rumore reali sono superiori. Si consideri un semplice sistema reazionato (figura 3.11 a) costituito da due invertitori identici. Sul grafico di fig. 3.11 (b) sono riportate sia la caratteristica del dispositivo 1 che quella del dispositivo 2, con l'avvertenza tuttavia che il segnale di ingresso X2 e' riportato sull'asse verticale, e il corrispondente segnale di uscita su quello orizzontale, al contrario pertanto di quanto fatto per il dispositivo 1. Tale modo di operare appare tuttavia naturale quando si consideri che il segnale di uscita di un gate coincide con il segnale di ingresso dell'altro gate. Le due caratteristiche si intersecano in tre punti, A, B e C che rappresentano le sole tre condizioni in cui il circuito puo' trovarsi; infatti solo in questi punti X2 = Y1 e X1 = Y2 Se il dispositivo 1 si trova nel punto A allora le condizioni operative dell'ingresso e dell'uscita del dispositivo 2 sono ancora specificati dal punto A. Il sistema, a rigore, potrebbe trovarsi in uno qualsiasi dei tre punti A, B o C; tuttavia la condizione di funzionamento nel punto B e' instabile e qualsiasi perturbazione, per quanto piccola, portera' il sistema in A o in C. 97 Capitolo III I circuiti logici. x1 y x2 1 1 2 y 2 (a) x 2 ,y 1 A 1 B 2 C x 1 ,y 2 (b) figura 3.11 Nella realta' i due dispositivi non saranno mai identici. La caratteristica di trasferimento non potra' dunque essere rappresentata da un singola curva, ma sara' un inviluppo contenente tutte le possibili caratteristiche. Le dimensioni dell'inviluppo sono determinate dai limiti fissati per l'uscita, quando viene compiuto l'esame di accettazione in fase di produzione. In fig. 3.12 sono riportati due di questi inviluppi per il semplice sistema reazionato che e' stato preso in considerazione. Le tensioni rappresentative del punto di lavoro di ciascun dispositivo possono in questo caso cadere in una delle tre aree tratteggiate A,B e C, intersezioni tra i due inviluppi. E' evidente che anche in questo caso tutti i punti dell'area B rappresentano condizioni di equilibrio instabile. A 1 * V IL VOUT 0 B V *IH V* OH V NL VIN figura 3.12 98 V NH C * V OL Capitolo III I circuiti logici. L'ordinata del punto al vertice sinistro alto dell'area C rappresenta la massima tensione allo stato basso che un dispositivo puo' avere quando viene pilotato da un altro dispositivo della stessa famiglia. Tale tensione viene indicata con VOL*. Un dispositivo pilotato con VOL* avra' come tensione di uscita VOH* cioe’ quella rappresentata dall'ordinata del vertice destro basso dell'area A. I due livelli cosi definiti sono le uscite dei due dispositivi interconnessi, nell'ipotesi che durante la loro selezione si siano incontrati due dispositivi al limite estremo del campo di tollerabilità, in modo tale che il sistema reazionato lavori nelle peggiori condizioni possibili. Per un qualsiasi motivo tuttavia, ad esempio per la presenza di un disturbo, il segnale di ingresso puo' spostarsi dalla regione A verso la regione B. Malgrado cio', purche' non si entri nella regione B stessa, il segnale sara' ancora interpretato come segnale logico basso. In corrispondenza la tensione d'uscita tendera' al vertice opposto della regione B, ma non dara' luogo ad un cambio di stato del sistema. Al cessare della causa perturbante il sistema ritornera' nelle condizioni originarie. I vertici opposti della regione B rappresentano pertanto i valori estremi della tensione di ingresso che non danno luogo ad una commutazione del sistema; tali valori vengono indicati con VIL* e VIH* e rappresentano rispettivamente il massimo valore di ingresso sicuramente riconosciuto come uno zero logico e il minimo valore riconosciuto come un uno logico. Il margine di rumore del sistema e' la distanza che intercorre tra le uscite dello stesso sistema supposto privo di rumore e le due tensioni limite di ingresso VIL* e VIH*. Queste differenze, indicate in fig. 3.12. con VNH e VNL sono dette rispettivamente margine di rumore allo stato alto e margine di rumore allo stato basso e possono ovviamente essere differenti nei due stati logici. Si noti che gli inviluppi si ampliano assegnando specifiche di tolleranza meno pesanti; inoltre se la pendenza della zona di transizione diminuisce, la regione B si estende verso A e C, diminuendo i margini di rumore. Sui dati caratteristici forniti dai costruttori sono assegnate le quantita' VOH, VOL , VIH e VIL che non coincidono perfettamente con le quantita' asteriscate fin qui introdotte. Le grandezze fornite dai costruttori sono cautelative rispetto a quelle asteriscate; piu' precisamente si puo' dire che: VIL = VIL* VIH = VIH* mentre VOH si trova sulla curva di trasferimento appena a destra e al di sotto della zona A e VOL appena a sinistra e al di sopra della zona C. I margini di rumore apparenti, calcolati come: VNL = VIL - VOL VNH = VOH - VIH sono pertanto inferiori a quelli reali, sia per i valori piu' pessimistici di VOL e VOH, sia perche' normalmente i dispositivi usati ben difficilmente lavoreranno nelle peggiori condizioni, identificate dai vertici della regione B e da quello inferiore e superiore rispettivamente della regione A e C. E’ interessante notare che esiste un vincolo sulla caratteristica di trasferimento di un elemento logico. Si prenda infatti in considerazione la caratteristica di figura 3.13. 99 Capitolo III I circuiti logici. Vu VH ∆Vu V L V VL ∆Vi VH i figura 3.13 E’ necessario che nel tratto di transizione tra VH e VL il guadagno del dispositivo, definito come rapporto tra ∆Vu e la corrispondente ∆Vi, sia maggiore dell’unita’ Si supponga infatti che il guadagno sia inferiore all’unita’ e si considerai una cascata di dispositivi, come illustrato in figura 3.14. figura 3.14 In questo caso ad ogni stadio il segnale viene attenuato e ad un certo momento esso potrebbe andare ad interessare la zona di incertezza anche se i margini di rumore fossero rispettati, contrariamente all’obiettivo che ci si era proposto. La presenza di un tratto di caratteristica con guadagno superiore all’unita’ garantisce invece la ricostruzione dei livelli logici anche quando essi siano alterati da rumore e disturbi. Nelle considerazioni fatte si e' tuttavia implicitamente assunto che la caratteristica di trasferimento di un gate dipenda unicamente dall'ampiezza del segnale di ingresso e non dalla frequenza o dalla durata dell'impulso di ingresso. Si ricordi tuttavia che un circuito digitale reale, come qualsiasi altro dispositivo fisico, non puo' rispondere immediatamente ad una variazione del segnale di ingresso. E’ necessario pertanto prendere in considerazione anche quello che viene chiamato margine di rumore dinamico, detto anche margine di rumore in corrente alternata, di solito ben diverso da quello in corrente continua. In un circuito digitale correttamente progettato, che operi con impulsi di durata notevolmente superiore ai tempi di commutazione dei vari gate e con una bassa frequenza di ripetizione, i margini di rumore in corrente continua e in corrente alternata non differiscono in maniera apprezzabile. Non appena pero' la larghezza dell'impulso diminuisce e diventa paragonabile con i tempi di commutazione, 100 Capitolo III I circuiti logici. il margine di rumore cambia in funzione di come sono realizzati circuitalmente i vari gate. Se l'accoppiamento tra i vari stadi e' di tipo capacitivo, il margine di rumore puo' anche diminuire al diminuire della durata dell'impulso; tuttavia nella maggior parte dei casi il margine di rumore va via via aumentando, poiche' il circuito non e' in grado di rispondere istantaneamente. A frequenze molto alte e con larghezze dell'impulso di ingresso molto piccole si puo' poi avere un effetto di polarizzazione del dispositivo, che puo' diminuire nuovamente il margine di rumore. In fig. 3.15 e' riportato a titolo di esempio l'andamento del margine di rumore in funzione della larghezza dell'impulso per dispositivi della famiglia TTL standard. 8 7 margine 6 di 5 rumore 4 (volt) 3 2 1 0 low hig 0 5 15 10 20 25 larghezza dell'impulso (nsec.) figura 3.15 3.4) I valori garantiti per le correnti. Tutte le considerazioni condotte fino a questo momento sono state fatte con riferimento ai soli livelli di tensione dei segnali e senza preoccuparsi in alcun modo del carico connesso a ciascuna uscita e quindi senza considerare la corrente che da tale uscita viene prelevata. La connessione di due dispositivi elettronici, di qualsiasi tipo essi sino, puo’ sempre venir rappresentata con il modello semplificato di figura 3.16 B A I Ro Ri figura 3.16 101 Capitolo III I circuiti logici. dove Ro e’ la resistenza di uscita dell’elemento pilota (A) e Ri rappresenta la resistenza di ingresso del dispositivo ricevente (B). Sulla linea di connessione di conseguenza circola una corrente I. Da un esame, anche semplicemente qualitativo, di tale modello si deduce che l’elemento A e’ in grado di fornire le corrette tensioni solo se il carico non e’ eccessivo, cioe’ solo se la corrente e’ inferiore a dei limiti prefissati. In altre parole i valori garantiti di tensione VOH e VOL sono riferiti a determinati valori di corrente e cioe’ per Vo ≥ VOH dev’essere Io < IOH Vo ≤ VOL dev’essere Io < IOL per dove i valori di corrente sonno espressi in modulo. Se si eccedono tali limiti le tensioni di uscita non sono piu’ garantite. Anche per l’ingresso valgono analoghe considerazioni; indicando con Ii la corrente assorbita dall’ingresso, il costruttore garantisce che se le tensioni applicate rientrano nel campo dei valori previsti le relative correnti non supereranno determinati valori. Valgono le seguenti relazioni (ancora valide in modulo): per Vi ≥ VIH Ii < IIH Vi ≤ VIL Ii < IIL per Per quanto riguarda i segni delle correnti si considerano di solito positive le correnti entranti nel dispositivo e negative quelle uscenti. 3.5) Le famiglie logiche e i dispositivi logici integrati. 3.5.1) Considerazioni generali. Si definisce famiglia logica qualsiasi insieme di circuiti logici con parametri elettrici omogenei. Tutti i dispositivi di una famiglia logica sono tra loro compatibili, nel senso che i livelli logici sono gli stessi, possono essere alimentati con la stessa tensione e l'uscita di un elemento e' in grado di pilotare direttamente almeno un ingresso di qualsiasi altro elemento della stessa famiglia. Al contrario, poiche' ogni famiglia logica usa un diverso circuito elementare, esse non sono di solito compatibili tra loro, anche nel caso in cui alcune delle loro caratteristiche coincidano. Ciascuna famiglia e' basata su un particolare tipo di circuito elementare usato in tutti i dispositivi della famiglia per realizzare invertitori, gate di diverso tipo ed elementi di memoria quali i flip-flop. I circuiti logici moderni sono realizzarti esclusivamente in tecnica integrata e ciascuna famiglia include, oltre ai dispositivi logici elementari, anche elementi a media e molto spesso a larga scala di integrazione Ciascuna famiglia comprende, in aggiunta ai dispositivi base SSI, MSI e LSI, un certo numero di circuiti ausiliari, quali ad esempio traslatori di livello (per scopi di interfacciamento con altre famiglie), 102 Capitolo III I circuiti logici. circuiti di condizionamento del segnale (trigger di Schmitt e multivibratori), circuiti di pilotaggio di visualizzatori e vari altri circuiti per applicazioni speciali. Nel discutere le famiglie logiche e' importante porre l'accento sul fatto che il loro sviluppo avviene in un ambiente dallo sviluppo tecnologico estremamente veloce e di intensa competizione. Tale fatto ha portato ad un rapido sviluppo dei componenti e, a causa della vitalita' del mercato, al nascere e all'affermarsi di un notevole gruppo di produttori. Al giorno d'oggi, quando uno dei produttori ha successo nell'introdurre e commercializzare una determinata famiglia logica, essa viene immediatamente prodotta su licenza dalle altre compagnie, eventualmente completata con nuovi dispositivi o migliorata nelle sue caratteristiche. Ogni famiglia logica viene progettata per una differente applicazione ed ha in alcune sue caratteristiche i suoi punti di forza, in altre i suoi inconvenienti. Poiche' il circuito base di ciascuna famiglia e' differente, i relativi dispositivi hanno caratteristiche diverse. Ad esempio i circuiti dei calcolatori di grosse dimensioni devono operare molto velocemente e di conseguenza per la loro realizzazione si useranno componenti di famiglie logiche veloci; se al contrario si prevedesse per il circuiti lunghi periodi di funzionamento con alimentazione fornita da batterie, allora diventa molto piu' importante la caratteristica di un basso consumo. Sebbene una valutazione corretta dei circuiti digitali integrati richieda un attento studio dei dati forniti dal costruttore, si riportano qui di seguito le definizioni di quelle caratteristiche che si ritengono maggiormente interessanti e significative. FAN-IN. E' il numero di ingressi che controllano un operatore logico. Molto spesso sono disponibili degli ingressi di espansione che permettono di aumentare il fan-in. L'eccessivo uso di ingressi di espansione fa tuttavia aumentare la capacita' di ingresso e di conseguenza il tempo di propagazione. FAN-OUT.E' la misura del carico che puo' essere connesso all'uscita di un gate o di qualsiasi elemento logico della famiglia. Poiche' il carico e' normalmente dato da uno o piu' ingressi di altri elementi logici della stessa famiglia, il fan-out e' usualmente identificato dal numero di ingressi che possono venir connessi all'uscita dell'elemento logico considerato. Piu' esattamente ciascuna famiglia logica ha "un'unita' di carico" espressa in milliampere che rappresenta la corrente necessaria ad attivare un tipico circuito di quella famiglia logica. Il fan-out viene ottenuto normalizzando tramite l'unita' di carico la massima corrente di uscita. In sostanza quindi, quando ad esempio si parla di fan-out pari a 10, cio' sta a significare che puo' venir pilotato un numero di ingressi tale da costituire un fattore di carico normalizzato pari a 10. LIVELLI LOGICI. L'uscita di un circuito digitale puo' assumere normalmente due soli stati, detti rispettivamente alto e basso. I corrispondenti livelli di tensione vengono indicati di solito con VH e VL e variano da famiglia a famiglia logica. E' opportuno tuttavia far notare che alcuni circuiti digitali vengono progettati per lavorare a tre stati e il terzo stato corrisponde a un circuito aperto. 103 Capitolo III I circuiti logici. RITARDO DI PROPAGAZIONE E VELOCITA'. Il ritardo di propagazione misura quanto rapidamente si propaghi la commutazione di un livello logico di ingresso verso l'uscita. La fig. 3.17 illustra un invertitore nella configurazione a emettitore comune e la sua risposta ad un impulso positivo applicato alla base, tale da portarlo da interdizione a saturazione e viceversa. Per determinare questa risposta e' necessario considerare un certo numero di fenomeni fisici complessi. Vale la pena di richiamare brevemente alcuni di essi. ei V+ t Rc ei e0 Rb ic R bb VL Vt ts td tr tf figura 3.17 A partire dall'istante in cui inizia l'impulso di base, vi e' un tempo di ritardo td prima che la corrente di collettore inizi a salire. Questo ritardo e' determinato essenzialmente dalla capacita' totale baseemettitore del transistore, che deve venir caricata ad una tensione lievemente positiva prima che il transistore possa iniziare a condurre. Dopo l'inizio della conduzione si ha un tempo di salita finito tr determinato principalmente dalla capacita' di collettore e dalle caratteristiche intrinseche del transistore. Sul fronte di discesa dell'impulso di ingresso si ha un primo tempo ts, detto tempo di restituzione, dovuto sia alla capacita' base-emettitore sia all'accumulo di cariche minoritarie nello spazio di base. Questo tempo e' forse il piu' importante tra i tempi di commutazione ed e' comunque notevolmente piu' grande che non td. 104 Capitolo III I circuiti logici. Infine vi e' un tempo di discesa finito tf dovuto anch'esso, come il tempo di salita, alla capacita' di collettore e alle caratteristiche intrinseche del transistore. Allo scopo di specificare il ritardo cui il segnale e' sottoposto nell'attraversare i gate i tempi tr e tf sono significativi solo se i corrispondenti tempi del segnale presente all'ingresso sono trascurabili. E' questo tuttavia un caso abbastanza raro, poiche' i circuiti logici sono normalmente pilotati da circuiti analoghi e di conseguenza i tempi di salita e di discesa sono dello stesso ordine di grandezza sia all'ingresso che all'uscita. Essi tuttavia, pur non essendo completamente significativi, influenzano il valore del tempo di ritardo a seconda di come questo tempo di ritardo viene misurato. E' necessario quindi specificare i punti delle forme d'onda di ingresso e di uscita usati per definire i tempi di ritardo stessi. In definitiva i tempi di ritardo di un gate vengono misurati, come e' illustrato in fig. 3.18, pilotando l'ingresso con un impulso che abbia tempo di salita e discesa dello stesso ordine di grandezza di quelli del segnale di uscita ed eseguendo la misura con riferimento a punti ben specificati, quali ad esempio possono essere i tempi all'emivalore. ingresso uscita t pd1 t pd0 figura 3.18 Piu' esattamente si definiscono di solito due ritardi di propagazione che tengono conto della dissimmetria di funzionamento nelle due commutazioni: il ritardo di propagazione per l'uscita che commuta da livello basso a livello alto e' indicata con tpLH o tpd+, quello relativo alla commutazione opposta con tpHL o tpd-. Ambedue i tempi vengono misurati tra i punti al 50% dei segnali di ingresso e di uscita. La semisomma di tali tempi prende il nome di ritardo medio di propagazione ed e' indicata normalmente con tav o tpd. Il tempo di salita tr e di discesa tf sono invece misurati tra il 10% e il 90% del fronte di salita e rispettivamente di discesa dell'uscita. I tempi di 105 Capitolo III I circuiti logici. propagazione variano con la temperatura, la tensione di alimentazione e il carico. Si indica invece con velocita’ la massima frequenza alla quale un flip flop puo’ commutare senza errori. Ritardo di propagazione e velocita’ sono direttamente correlati, anche se non e’ possibile, a causa di tutta una serie di fattori eccessivamente complessi per venir affrontati in questa sede, illustrare il legame che intercorre tra loro. DISSIPAZIONE DI POTENZA. Come in qualsiasi altro circuito elettronico la potenza dissipata viene misurata in watt o in milliwatt. Essa rappresenta la potenza che effettivamente si dissipa nel dispositivo e non comprende quindi la potenza che viene eventualmente fornita ad altri dispositivi. Di regola essa indica nei circuiti integrati la potenza che si dissipa in un gate che lavora per meta' del tempo allo stato alto e per l'altra meta' allo stato basso e permette di valutare la potenza totale dissipata dal circuito ai fini del dimensionamento dell'alimentatore. IMMUNITA' AL RUMORE. Misura la quantita' di segnale disturbante che puo' essere sovrapposto a un segnale logico senza causare un'errata commutazione dell'uscita. E' necessario distinguere, come si e’ gia’ visto in precedenza, tra immunita' al rumore statica, relativa a segnali che varino lentamente o ad impulsi sufficientemente lunghi e immunita' al rumore dinamica. E' abbastanza evidente infatti che un impulso di ingresso di durata comparabile con il ritardo di propagazione potra' avere un'ampiezza anche notevole senza dar luogo ad un'errata commutazione dell'uscita. La medesima ampiezza sarebbe invece intollerabile se il segnale di disturbo fosse di durata sufficientemente lunga.. L'immunita' al rumore e' anch'essa funzione della temperatura, della tensione di alimentazione e dal carico. CAMPO DI TEMPERATURE DI UTILIZZO. E' il campo di temperatura entro il quale un circuito integrato puo' operare senza che alcuna delle sue caratteristiche nominali sia compromessa. ATTITUDINE AL PILOTAGGIO DI CARICHI CAPACITIVI. L'attitudine a pilotare carichi capacitivi e' un'importante caratteristica dei circuiti digitali integrati, soprattutto quando un'uscita deve pilotare delle interconnessioni realizzate con cavi di una certa lunghezza. Questa attitudine dipende direttamente dall'impedenza d'uscita del circuito e quanto minore e' questa impedenza, tanto meglio un carico capacitivo viene pilotato. Quando infatti ad un circuito viene applicato un carico capacitivo i tempi di salita e di discesa vengono largamente influenzati dal carico stesso. Il tempo di propagazione viene aumentato in maniera proporzionale all'aumento della costante 106 Capitolo III I circuiti logici. di tempo del circuito causata dal carico capacitivo. In fig. 3.19 e' riportato il tempo di propagazione in funzione della capacita' di carico e della tensione di alimentazione per un tipico circuito appartenente alla famiglia DTL. nsec. 4 volt 60 50 5 volt Ritardo di propagazione 40 30 6 volt 20 10 20 40 60 80 100 Capacita' di carico figura 3.19 PROTEZIONE DAL CORTO CIRCUITO. Impedisce che un circuito, la cui uscita sia stata connessa direttamente a terra, venga danneggiato. Tale proprieta' puo' essere riconosciuta semplicemente esaminando il circuito e riconoscendo se nel circuito d'uscita vi sia o meno una resistenza connessa tra alimentazione e terminale di uscita, destinata a limitare la corrente nel caso di corto circuito. TOLLERANZA SULLE TENSIONI DI ALIMENTAZIONE. Definisce il campo di tensioni di alimentazione entro il quale le caratteristiche del dispositivo sono garantite. TIPO DI CIRCUITO LOGICO. Dipende dal numero di circuiti elementari integrati su un unico substrato di silicio. Si possono distinguere le tre principali categorie: Circuiti SSI (small scale integration) con un numero di porte logiche elementari che puo' raggiungere le 12 porte per involucro. Circuiti MSI (Medium scale integration) con capacita' comprese tra le 12 e le 100 porte logiche. 107 Capitolo III I circuiti logici. Circuiti LSI (Large scale integration) con capacita' superiore alle 100 porte logiche. La realizzazione SSI copre il campo dei singoli elementi logici e delle reti logiche piu' semplici, quelle MSI le reti logiche di dimensioni medio - grandi, quali convertitori A/D, multiplexer, ecc. Infine le realizzazioni LSI sono destinate a reti logiche di dimensioni molto ampie, quali memorie, unita' aritmetico-logiche, ecc. TIPO DI INVOLUCRO. Esistono numerosi tipi di involucro per i circuiti integrati: I piu' comuni sono il TO-5, il flat pack, il dual in line e il SOT. Il TO-5 e' un involucro metallico, in pratica uguale a quello utilizzato per i transistori, con 8,10 o 12 piedini. Il flat pack e' un involucro misto metallo ceramica di forma rettangolare appiattita. Il flat pack viene prodotto in due dimensioni con 10, 12 o 14 piedini; questi a loro volta possono essere terminali piatti flessibili e dorati o collegamenti a sezione circolare in rame. L'involucro dual in line e' forse il piu' diffuso, pur essendo di maggiori dimensioni che non gli altri due. I piedini, di tipo rigido, sono in numero di 14, 16, 24 o piu', ma proprio per la loro rigidita' sono particolarmente adatti ad un montaggio automatico su circuito stampato. Infine il SOT e' l'involucro utilizzato nelle tecnologie di montaggio superficiale. Esistono ovviamente numerosi altri involucri e al giorno d'oggi non e' raro trovare contenitori con un numero di piedini di collegamento che supera abbondantemente il centinaio. I parametri descritti presentano il difetto di un'eccessiva schematizzazione, con l'aggravante che ciascun costruttore tende ad enfatizzare gli aspetti positivi dei suoi prodotti e a minimizzarne quelli negativi. Vi sono altri parametri oltre quelli descritti che potrebbero determinare la scelta di una famiglia logica, ad esempio la varieta' dei componenti della famiglia o la loro reperibilita' presso diverse fonti, la compatibilita' con i livelli di segnale o con le tensioni di alimentazione di altre famiglie o ancora la loro resistenza ad ambienti particolarmente sfavorevoli e/o aggressivi. Infine come parametro di notevole interesse si puo' citare il prodotto della potenza dissipata per il tempo medio di propagazione. Anche se raramente riportato sulle caratteristiche, tale parametro misura in un certo qual modo la "bonta'" di una famiglia logica, che si puo' ritenere inversamente proporzionale al valore del prodotto stesso. 3.5.2) Caratteristiche di temporizzazione di flip-flop e registri. Come e’ noto prende il nome di flip-flop, o multivibratore bistabile, un circuito in grado di permanere per un tempo indefinitamente lungo in uno dei suoi due stati stabili. Tale circuito pertanto si rivela adatto a memorizzare con i suoi due stati un’informazione binaria. In termini generali viene invece indicato con il nome registro un qualsiasi insieme di flip-flop in cui possa venir memorizzata un’informazione omogenea codificata su piu’ bit. 108 Capitolo III I circuiti logici. Il piu' semplice elemento di memoria puo' essere realizzato con due gate di tipo invertente connessi con accoppiamento incrociato. Molto spesso esiste poi anche un ingresso di abilitazione (enable) che impropriamente viene chiamato nella maggior parte dei casi clock. Il collegamento incrociato di due gate da' luogo a un flip-flop che viene detto di tipo trasparente, in quanto l'uscita risponde immediatamente alle variazioni degli ingressi. In tal caso, riportando le uscite del dispositivo agli ingressi, si potrebbero addirittura generare condizioni di oscillazione. Elementi non trasparenti sono viceversa i flip-flop master-slave, in cui la memorizzazione dell'informazione si ha durante il periodo di clock, mentre la variazione dell'uscita si ha nell'intervallo tra due successivi impulsi di clock, oppure i flip-flop azionati sui fronti. A causa della non trasparenza l'uscita di questi dispositivi puo' essere riportata all'ingresso di un circuito sequenziale senza particolari precauzioni e senza dar luogo a condizioni pericolose. Non sono pertanto richiesti schemi di temporizzazione multifase e il progetto del sistema ne risulta notevolmente semplificato. Per il corretto uso di questi dispositivi il progettista deve conoscere tuttavia l'esatto significato dei parametri di temporizzazione (tempo di ritardo e specifiche di temporizzazione dell'ingresso) e metterli in relazione al fenomeno del "clock skew". a) Tempo di propagazione. L'uscita di qualsiasi flip-flop o registro cambia unicamente in corrispondenza ad una delle transizioni del segnale di clock; nei circuiti piu' moderni tale transizione e' quella dallo stato basso allo stato alto. Il ritardo tra questo fronte e la variazione corrispondente dell'uscita e' il tempo di ritardo del dispositivo e viene indicato con tpd. Molto spesso tuttavia i tempi sono due, quello tra il fronte attivo del clock e la commutazione positiva dell'uscita, indicato con tpd+ o tpLH , e quello tra il fronte attivo del clock e la commutazione negativa dell'uscita, indicato con tpd- o tpHL. Sui dati caratteristici sono di solito indicati sia il valore tipico che il valore massimo di tali parametri. b) Specifiche di temporizzazione degli ingressi. I flip-flop sensibili ai fronti sono normalmente condizionati dai valori che i segnali di ingresso possiedono immediatamente prima del fronte attivo del clock. Per un corretto funzionamento i dati di ingresso devono quindi essere presentati con un certo anticipo rispetto a questo fronte ed esiste pertanto un intervallo di tempo critico immediatamente precedente il clock, durante il quale essi non devono cambiare. L'istante nel quale il valore degli ingressi assume importanza viene detto tempo di "set-up", e' critico e viene di solito indicato con ts. Poiche' tutti i parametri circuitali variano con la temperatura, le tensioni di alimentazione ed in funzione delle tolleranze di fabbricazione e del carico, anche il tempo di set-up ha una certa dispersione. E' importante assicurarsi che i livelli di ingresso rimangano stabili all'interno della finestra compresa tra il piu' lungo tempo di set-up, che rappresenta il piu' lento dei dispositivi e il piu' breve, che ne rappresenta il piu' veloce. Purtroppo i costruttori hanno usato via via diverse nomenclature, talvolta in contrasto, per indicare i due bordi della finestra di temporizzazione appena definita. 109 Capitolo III I circuiti logici. Il piu' lungo tempo di set-up viene spesso chiamato ts(max), ma spesso anche ts(min) in quanto rappresenta la durata minima dell'intervallo di tempo durante il quale gli ingressi devono rimanere costanti prima dell'impulso di clock. Il piu' breve tempo di set-up viene detto ts(min), ma spesso senza alcuna logica ts(max). La Fairchild usa il termine "tempo di disimpegno" (release time tr), altri fabbricanti lo chiamano - thold (tempo negativo di tenuta). Quest'ultimo nome prende origine dal fatto che nei circuiti piu' anziani il ritardo di propagazione del clock era superiore a quello degli ingressi e di conseguenza questi ultimi dovevano rimanere stabili anche dopo il fronte attivo del clock (tempo di tenuta positivo). Tutti i circuiti moderni hanno tuttavia tempi di set-up positivi e di conseguenza tempi di tenuta negativi. A differenza dei flip-flop comandati sui fronti, nei flip-flop master-slave a livelli il master accetta i dati di ingresso durante tutto il semiperiodo attivo del clock, mentre lo slave commuta in funzione del contenuto del master nell'intervallo tra un impulso di clock e l'altro. Pertanto in questi flip-flop per un corretto funzionamento e' indispensabile che gli ingressi rimangano stabili durante l'intero semiperiodo attivo del clock. E' opportuno quindi che la durata dell'impulso di clock sia la minima possibile, compatibilmente con i dati forniti dal costruttore. Qualsiasi sia poi il dispositivo, comandato a fronti o a livelli, e' necessario assicurarsi che i tempi di salita e di discesa non superino determinati valori. Infatti, anche se i dispositivi non sono direttamente sensibili all'inclinazione dei fronti, quando tali tempi fossero molto lunghi, il segnale di clock si troverebbe in prossimita' dei livelli di soglia per tempi superiori al ritardo di propagazione del flip-flop, e si potrebbero avere, in presenza di disturbi anche piccoli, determinati ad esempio da diafonia, delle commutazioni multiple. E' opportuno pertanto che il segnale di clock abbia dei tempi di commutazione non superiori a 5 6 volte il ritardo di propagazione del dispositivo. 3.5.3) Le famiglie logiche. Si e’ gia’ accennato in precedenza a cosa si intenda per famiglia logica. Si prendano ora in considerazione (tabelle 3.1 e 3.2) a titolo di esempio le caratteristiche riportate sui “data sheet” del componente LS7410 – LS5410, cioe’ le caratteristiche di un gate di tipo low power Schottky appartenente alla cosiddetta famiglia TTL. Tabella 3.1: Condizioni di funzionamento raccomandate Parametro Famiglia Tensione di alimentazione, Vcc 54 74 Corrente di uscita a livello alto, IOH 54 74 Corrente di uscita a livello basso, IOL 54 74 Temperatura di funzionamento in aria, TA 54 74 110 Min. 4.5 4.75 -55 0 Nom. 5 5 Max. Unita’ 5.5 V 5.25 -400 µA -400 4 mA 8 125 °C 70 Capitolo III I circuiti logici. Tabella 3.2: Caratteristiche elettriche nell’intervallo di temperatura di funzionamento (se non altrimenti specificato). Parametro Condizioni di misura * Famiglia Min. Tip.** Max. Unita’ 2 VIH Tensione di ingresso V a livello alto 54 0.7 VIL Tensione di ingresso V 74 0.8 a livello basso -1.5 VI Tensione di taglio di Vcc = min. V II = -18 mA ingresso 54 2.5 3.4 VOH Tensione di uscita a Vcc =min. V VIL = VIL max 74 2.7 3.4 livello alto IOH =max. 54 0.25 0.4 VOL Tensione di uscita a Vcc =min. V VIL = 2 V 74 0.35 0.5 livello basso IOH =max. 0.1 II Corrente di ingresso Vcc = max mA alla massima VI = 5.5 V tensione di ingresso 20 IIH Corrente di ingresso a Vcc = max µA VIH = 2.7 V livello alto -0.36 mA IIL Corrente di ingresso a Vcc = max VIL = 0.4 V livello basso 54 -6 -40 IOS Corrente di uscita in Vcc = max mA 74 -5 -42 cortocircuito *** * Per le condizioni di misura indicate con min e max usare i valori appropriati riportati nelle condizioni di funzionamento raccomandate. ** Tutti i valori tipici si riferiscono a Vcc = 5 V, TA = 25 °C *** Non cortocircuitare piu’ di un’uscita Le due serie, 54 e 74, differiscono in quanto la prima, detta serie industriale, e’ in grado di funzionare in condizioni meno pesanti della serie 54 che e’ quella a norme militari. Per tutte le considerazioni che seguono si fara’ riferimento al dispositivo della serie industriale. (LS7410). Il primo parametro su cui conviene fissare l’attenzione e’ la IOH, corrente di uscita allo stato alto, pari a –400 µA. Cio’ sta ad indicare che allo stato alto si puo’ prelevare dall’uscita una corrente massima di 400 µA senza che alcuna caratteristica del dispositivo ne risulti compromessa. Analogamente la IOL, pari a 8 mA, indica che allo stato basso il dispositivo e’ in grado di assorbire questa corrente senza compromettere le sue caratteristiche. Si vede immediatamente che il comportamento della porta e’ assolutamente dissimmetrico nei due stati logici. Altro parametro di interesse e’ la VIL, massima tensione di ingresso sicuramente riconosciuta come tensione dello stato basso e pari a 0,8 V; analogamente e’ assegnata la VIH, pari a 2 V, con il significato di minima tensione di ingresso sicuramente riconosciuta come tensione dello stato alto. Si individua pertanto una fascia di incertezza situata nell’intervallo di tensione compreso tra 0,8 e 2 V. 111 Capitolo III I circuiti logici. Analoghi parametri vengono assegnati con riferimento all’uscita. La VOL, pari a 0,4 V, assume il significato di massima tensione di uscita allo stato basso, nelle peggiori condizioni di funzionamento possibili, mentre la VOH, pari a 2,7 V e’, sempre nelle peggiori condizioni, la minima tensione di uscita allo stato alto. Si noti che questi ultimi due parametri sono specificati in corrispondenza a correnti d’uscita pari alle massime correnti consentite per il componente. Esistono infine le correnti di ingresso IIL = -0,36 mA e IIH = 40 µA, cioe’ le correnti rispettivamente erogate o assorbite dall’ingresso (valori massimi) quando tale ingresso si trovi alla tensione VIL e VIH. Anche per l’ingresso vi e’ quindi un’asimmetria delle correnti nei due stati; e’ questo un comportamento tipico di tutte le famiglie bipolari, cioe’ di quelle logiche che vengono realizzate con transistori a giunzione. L’esame di questi parametri permette di verificare la compatibilita’ del dispositivo. Infatti VOH > VIH VOL < VIL Il margine di rumore apparente nei due stati logici e’: VNH = VOH – VIH = 0,7 V VNL = VIL –VOL = 0,4 V La compatibilita’ tra dispositivi logici permette di definire in modo piu’ preciso il concetto di famiglia logica. Appartengono cioe’ alla stessa famiglia logica circuiti elettricamente compatibili realizzati in una stessa tecnologia. Sotto quest’ultimo punto di vista possono allora essere individuate due categorie fondamentali di famiglie logiche. Esistono cioe’ le famiglie logiche bipolari, realizzate con transistori a giunzione e quelle MOS che utilizzano invece i transistori ad effetto di campo a gate isolato. Esistono certamente anche realizzazione, quali ad esempio le BiCMOS, che utilizzano, ricavandoli dello stesso substrato, sia transistori bipolari che MOS, ma normalmente i dispositivi cosi’ realizzati sono di uso specifico e non formano famiglia logica. La piu’ diffusa famiglia bipolare attualmente in uso e’ la TTL (transistor – transistor logic), presente sul mercato in un gran numero di varianti. Tra i dispositivi MOS, la famiglia di gran lunga piu’ diffusa e’ la CMOS, famiglia che utilizza contemporaneamente MOS a canale N e P ricavati dallo stesso substrato e anch’essa presente sul mercato in un gran numero di varianti. Rimanendo per il momento nell’ambito delle famiglie bipolari possono venir citate, piu’ per ragioni storiche che per altro • • • La famiglia RTL (resistor – transistor logic) La famiglia DTL (diode – transistor logic) La famiglia HTL (hig thresold logic) Sono viceversa a tutt’oggi impiegate e con un notevole grado di diffusione • • La famiglia TTL (transistor – transistor logic) La famiglia ECL (emitter coupled logic) Di queste la prima, in relazione al grandissimo successo che il mercato le ha tributato, ha generato tutta una serie di sottofamiglie in ciascuna delle quali una delle caratteristiche (ad esempio la velocita’ operativa o la dissipazione di potenza) e’ stata ottimizzata. 112 Capitolo III I circuiti logici. La famiglia ECL, talvolta chiamata anche CML (current mode logic) e’ una famiglia ad elevata velocita’ ed e’ l’unica famiglia bipolare che nasce non saturata. Nel campo dei dispositivi MOS si possono citare le famiglie “storiche” PMOS, NMOS e CMOS4XXX. Quest’ultima, anziana ormai per piu’ di vent’anni, e’ stata la prima famiglia MOS a simmetria complementare ed ha avuto una larghissima diffusione. Al giorno d’oggi esistono in pratica solo famiglie in tecnologia CMOS, non appartenenti tuttavia alla 4XXX. Esse pur conservando i vantaggi della famiglia capostipite, sono maggiormente compatibili con le altre famiglie logiche, in particolare con quella bipolare TTL e sono presenti sul mercato in numerose varianti. 3.6) Cenni sulle famiglie bipolari “storiche”. 3.6.1) La famiglia RTL I circuiti logici RTL sono stati storicamente i primi ad essere fabbricati ed usano solo transistori e resistenze per realizzare il circuito base della famiglia. Un tipico circuito RTL e' riportato in fig. 3.20 e realizza in logica positiva la funzione NOR. R2 C A R1 A R B B C 1 figura 3.20 Nelle prime realizzazioni la tensione di alimentazione era compresa tra 3.0 e 3.6 volt e i valori circuitali erano: R1 = 450 ohm R2= 640 ohm I tempi di propagazione erano abbastanza buoni, aggirandosi sui 12 nsec; la dissipazione non eccessiva, essendo di circa 10 mW per gate. Quali aspetti negativi possono essere citati la bassa escursione del segnale, la non eccezionale immunita' al rumore, il basso fan-out (max. 5) e il basso fan-in (max. 4). In verita' da questo circuito base sono state sviluppate molte versioni modificate, di cui le piu' importanti sono la DCTL (direct coupled transistor logic), logica ad accoppiamento diretto, senza resistenza di base, e la RCTL, in cui l'accoppiamento e' di tipo RC, tale da accelerare la commutazione, come illustrato a tratteggio in fig. 3.20. 113 Capitolo III I circuiti logici. I ritardi di propagazione sono comunque sempre rimasti compresi tra i 10 e i 30 nsec per i gate e tra 20 e 50 nsec per i flip - flop, le dissipazioni tra i 10 e i 25 mW. 3.6.2) La famiglia DTL La logica a diodi e transistori e' una delle piu' anziane, ma a differenza di quanto e' accaduto con altre famiglie, quali ad esempio la RTL, l'introduzione di componenti piu' moderni non l'ha fatta scomparire del tutto. Parecchie generazioni DTL si sono succedute e per un certo periodo questa e' stata la famiglia piu' popolare. Da essa e' derivata tuttavia la famiglia TTL e, alla luce delle migliori prestazioni di quest'ultima, la logica DTL non e' piu' stata usata nei nuovi progetti. D'altra parte, a causa della compatibilita' dei livelli logici e della tensione di alimentazione, si trovano ancora circuiti in cui coesistono le due famiglie. Il circuito base e' illustrato in fig. 3.21 e realizza in logica positiva la funzione logica NAND. 1.6 K D1 2.0 K C D3 A A B C T1 B 5K D2 figura 3.21 Se ambedue gli ingressi A e B sono al livello alto, i diodi D1 e D2 sono interdetti. Il diodo D3 e' invece polarizzato direttamente e fa si' che T1 si porti in saturazione. Se invece almeno uno dei due ingressi si porta a livello basso, il corrispondente diodo passa in conduzione e drena verso massa la corrente che circola sul resistore da 1.6 Kohm, facendo interdire T1. Il diodo D3 ha lo scopo di compensare le cadute su D1 e D2 quando sono in conduzione, in modo da assicurare buone condizioni di funzionamento all'interdizione. La tensione di alimentazione nominale per la logica DTL e' 5 V e i livelli logici sono: VOL = 0.6 V VOH = 2.6 V VIL = 1.3 V VIH = 1.8 V Pertanto i margini di rumore apparente sono: NH = 0.8 V NL = 0.7 V e possono essere considerati discreti. Il fan-out medio della famiglia e' 8, anche se di essa fanno parte particolari gate ad alto fan-out (30). 114 Capitolo III I circuiti logici. La dissipazione si aggira sui 5 mW per gate nel caso normale, e sui 20 mW nel caso di gate ad alto fan-out. Il ritardo di propagazione e' mediamente 15 - 20 nsec. Infine, data la struttura degli stadi di uscita, e' ammesso il wired-or. 3.6.3) La famiglia HTL La famiglia logica ad alta immunita' (high thresold logic) e' una famiglia sviluppata per impieghi particolari. La sua principale caratteristica e' un'elevata immunita' al rumore e per tale motivo viene impiegata in ambienti industriali dove dispositivi elettromeccanici possono dar luogo a transienti di tensione di ampiezza elevata. Il circuito fondamentale di un elemento HTL e' illustrato in fig. 3.22 e ricorda molto da vicino la struttura degli elementi DTL. Ci sono tuttavia da notare i valori relativamente elevati di R1, R2, R3 e il valore nominale della tensione di alimentazione che e' di 15 V. Il diodo zener fa salire la soglia di commutazione a circa 7 volt. Piu' esattamente i livelli garantiti di ingresso e di uscita sono: VOL = 1.5 V VOH = 12.5 V VIL = 6 V VIH = 8 V Il margine di rumore, sia allo stato alto che allo stato basso, e' quindi di 4.5 volt. Il fan-out tipico della famiglia e' 10, la dissipazione si aggira sui 30 mW per gate. R 2 15 K D1 A R 4 R6 3K T1 D 2 D 1.5 K T2 R1 12 K B R3 1K C D4 A B C 3 T3 R5 5K figura 3.22 I tempi di propagazione non sono ovviamente dei migliori; sono anzi in assoluto i piu’ alti tra tutti quelli delle famiglie logiche, potendo giungere fino a 150 nsec. Tale fatto d'altra parte non puo' 115 Capitolo III I circuiti logici. essere considerato un dato del tutto negativo in quanto migliora le caratteristiche di immunita' al rumore in corrente alternata. 3.7) La famiglia TTL. La famiglia TTL e’, assieme alla CMOS, quella piu’ largamente usata al giorno d’oggi. Tutti i principali fabbricanti hanno oggi una linea di produzione TTL, che comprende, oltre alla famiglia TTL standard, tutta una serie di sottofamiglie, ciascuna delle quali ottimizza una particolare caratteristica. 3.7.1) La sottofamiglia TTL standard. In fig. 3.23 e' riportato il circuito dell'elemento fondamentale TTL, che in logica positiva realizza la funzione logica NAND. Esso opera con una singola alimentazione di 5 volt. L'elemento standard e' compatibile con qualsiasi altro elemento appartenente alle sottofamiglie e con gli elementi della logica DTL. invertitore ingresso R1 4 kΩ A B R2 1.6 k Ω T1 T2 uscita Vcc (+ 5 volt) R4 130 Ω T4 D1 T R3 3 1 kΩ figura 3.23 Il ritardo di propagazione e' compreso tra 5 e 10 nanosecondi, la dissipazione e' di 10 mW per gate, mentre la massima frequenza operativa si aggira sui 35 MHz. Il circuito puo' essere funzionalmente suddiviso in tre parti: uno stadio di ingresso associato ad un transistore multiemettitore, un invertitore di fase e uno stadio di uscita atto ad ottenere i livelli di tensione e di impedenza stabiliti in sede di progetto. Spesso tra gli ingressi e la massa sono connessi dei diodi di protezione con la funzione di tosare eventuali segnali negativi applicati all'ingresso. 116 Capitolo III I circuiti logici. Quando l'uno o l'altro dei due ingressi e' al livello basso il transistore T1 diviene conduttore e di conseguenza nessuna corrente circola nella base di T2. T2 pertanto e' interdetto; la sua tensione di collettore coincide in pratica con la tensione di alimentazione, mentre la sua tensione di emettitore e' in pratica nulla. In tale situazione T4 passa in conduzione, T3 si interdice e l'uscita si porta a livello alto. Nella pratica lo stadio di uscita puo' assumere diverse configurazioni, ciascuna delle quali offre vantaggi e svantaggi. Non si ritiene tuttavia opportuno in questa sede condurre un esame dettagliato degli stadi di uscita. Bastera’ ricordare che le principali modificazioni riguardano la struttura della parte alta dello stadio di uscita, che viene spesso realizzata con la connessione di tipo Darlington, come illustrato in figure 3.24. Vcc Uscita figura 3.24 Questo tipo di connessione permette di ottenere una minor impedenza di uscita allo stato alto e quindi di pilotare senza compromettere eccessivamente le caratteristiche di velocita’ carichi capacitivi anche non trascurabili. Un ulteriore tipo di stadio di uscita e’ quello a collettore aperto (figura 3.25), con il quale tuttavia si perdono tutti i vantaggi del totem-pole. Per contro si possono connettere direttamente due o piu’ uscite, realizzando il “wired – OR”. Uscita figura 3.25 Se infatti si prende in esame cosa accade quando due uscite a collettore aperto vengono connesse assieme e riportate all’alimentazione tramite un opportuno resistore, come appare nello schema di figura 3.26, 117 Capitolo III I circuiti logici. U A B C D y = C.D y = A.B 2 1 figura 3.26 ci si accorge che l’uscita U puo’ trovarsi allo stato alto solo se sua y1 che y2 si trovano allo stato alto. In altre parole U = y1 . y 2 = A. B. C. D = A. B + C. D Si riesce cioe’ ad ottenere una funzione complessa al prezzo di una semplice connessione metallica. A qualsiasi tipo di uscita puo' essere aggiunta una resistenza esterna di "pull-up", connessa tra uscita e VCC in modo da far avvicinare la tensione di uscita allo stato alto a quella di alimentazione. Tuttavia solo i circuiti 3,4,5 possono essere spinti piu' in alto della tensione di alimentazione o una resistenza di “pull-down” in modo da far avvicinare la tensione di uscita dello stato basso a quella di massa. a) Caratteristica di trasferimento. In fig. 3.27 e' riportato il grafico della tensione di uscita in funzione della tensione di ingresso, cioe' la caratteristica di trasferimento, in condizioni statiche. "1" H 4.0 3.0 J 2.0 1.0 L "0" 0 0.4 0.8 1.2 1.6 figura 3.27 118 2.0 2.4 2.8 Capitolo III I circuiti logici. E' importante far rilevare che la curva di trasferimento varia in modo non trascurabile con la temperatura, la tensione di alimentazione e il carico. La curva illustrata si riferisce ad una temperatura di 35 gradi, ad una tensione di alimentazione di 5 volt e ad un fan-out pari a 10. Con riferimento alla fig. 3.23, l'analisi puo' essere condotta pensando di riunire i due ingressi A e B. Man mano che la tensione applicata cresce, a partire da 0 volt, la corrente di base di T1 viene gradualmente deviata dagli emettitori al collettore; di conseguenza T2 inizia a condurre. La tensione di ingresso alla quale T2 esce dall'interdizione e' compresa tra 0.7 e 0.8 volt (punto H della caratteristica). Dal punto H al punto J il transistore T2 opera in regime lineare, con un guadagno di tensione determinato dal rapporto tra il resistore di collettore e quello di emettitore. La tensione di base di T4 gradualmente diminuisce portando il transistore verso l'interdizione. In definitiva nel tratto H-J l'uscita ripete l'andamento della tensione di collettore di T2, in quanto T4 funziona da inseguitore. Arrivati al punto J comincia a condurre il transistore T3, aprendo una via a bassa impedenza verso massa per la corrente di emettitore di T2; come risultato aumentano il guadagno di tensione di T4 e la pendenza della caratteristica. Tra i punti J e L i transistori T2, T3 e T4 conducono contemporaneamente; solo al punto L T4 si interdice. A tale istante la tensione di uscita e' approssimativamente pari a 0.2 volt e la transizione dallo stato alto a quello basso e' completata. Da quanto esposto si possono trarre due importanti considerazioni. La prima e' che nel tratto J-L vi e' un percorso a bassa impedenza tra VCC e massa, formato da R4, T4 , D1, T3, sede di una corrente non trascurabile. E' questo uno degli svantaggi della famiglia TTL, in quanto durante il funzionamento si hanno degli impulsi di corrente, che, oltre ad aumentare la potenza dissipata al crescere della frequenza, sono una sorgente di rumore che puo' interferire con il normale funzionamento del circuito. La seconda considerazione e' che durante il funzionamento tutti i transistori, con l'eccezione di T4, passano dall'interdizione alla saturazione e viceversa, limitando pertanto, come avviene in ogni logica saturata, la velocita' operativa. b) Tensioni e correnti di ingresso e di uscita. La caratteristica di trasferimento appena esaminata fornisce alcune interessanti informazioni sul valore delle tensioni di ingresso e di uscita nei due stati. Dalla curva di fig. 3.27 si puo' vedere che se gli ingressi sono pilotati ad una tensione superiore a 0.8 volt il circuito inizia a commutare verso l'uscita logica 0. In modo del tutto simile, se uno qualsiasi degli ingressi scende ad una tensione inferiore a 1.4 volt l'uscita inizia a commutare verso il valore logico 1. In prima approssimazione si potrebbe quindi affermare che se l'ingresso e' mantenuto al di fuori della zona compresa tra 0.8 e 1.4 volt, l'uscita del gate definisce senza ambiguita' i valori logici 1 e 0. La precisa definizione dei valori limite e' tuttavia complicata dal fatto che la curva varia con la temperatura, la tensione di alimentazione e il fan - out. Per tale ragione e' prassi comune che i costruttori di circuiti integrati garantiscano i valori massimi e minimi delle tensioni di ingresso e di uscita nelle peggiori condizioni di funzionamento. E' stato gia' chiarito in precedenza il significato di tali tensioni, che per la famiglia TTL standard valgono: VIH = 2 volt VIL = 0.8 volt VOH = 2.4 volt VOL = 0.4 volt 119 Capitolo III I circuiti logici. Ugualmente importanti sono le correnti che entrano o escono da un elemento logico nei due stati. La fig. 3.28 mostra il flusso di corrente attraverso gli ingressi e l'uscita di due porte NAND nelle due possibili condizioni di lavoro. Quando l'uscita della porta 1 e' allo stato alto la corrente circola dal transistore T4 della porta 1 verso l'emettitore di T1 della porta 2. Quando la porta 1 e' nello stato basso la corrente circola dall'emettitore di T1 della porta 2 all'emettitore di T3 della porta 1. La corrente di ingresso allo stato alto e' garantita inferiore a 40 microampere, valore trascurabile nel determinare il fan-out, mentre la corrente erogata dall'ingresso allo stato basso e' garantita inferiore a 1.6 milliampere e deve richiudersi a massa attraverso T3. Pertanto affinche' sia assicurato un fan-out pari a 10 T3 deve poter assorbire una corrente di 16 milliampere senza che la sua tensione di saturazione VCES salga a valori al di sopra di VOL = 0.4 volt. T4 R1 1 D1 T3 I OH I OL Flusso di corrente 0 R2 I IH I IL T1 T2 figura 3.28 In definitiva si ha: IIH < 40 mA intendendo con IIH la corrente che fluisce in un ingresso quando ad esso e' applicata una tensione Vi ≥ 2 volt, mentre IIL < 1.6 mA e' la corrente che esce da un ingresso quando ad esso e' applicato un livello logico 0, cioe' una tensione di ingresso inferiore a 0.8 volt. Analogamente IOH ≥ 0.4 mA 120 Capitolo III I circuiti logici. e' la corrente che puo' essere fornita dall'uscita a livello logico alto senza che la sua tensione scenda al di sotto di VOH = 2.4 volt. Il valore relativo all'uguaglianza e' il minimo necessario a garantire un fanout pari a 10. Sempre per garantire un fan - out pari a 10 e' necessario che : IOL ≥ 16 mA intendendo ovviamente, come gia' e' stato detto, che IOL sia la corrente che puo' essere iniettata nell'uscita allo stato basso senza che la tensione di uscita salga al di sopra di 0.4 volt. c) Impedenze di ingresso e di uscita. Per quanto riguarda l'impedenza di ingresso di una porta TTL si possono fare le seguenti considerazioni. Per tensioni di ingresso superiori a 2 volt essa e' molto alta; vale circa 4 kohm tra +1 e 0.5 volt, mentre per tensioni inferiori e' molto bassa a causa del diodo di protezione connesso tra ingresso e massa. La caratteristica di ingresso e' riportata in fig. 3.29. mA 80 70 60 50 diodo di protezione 40 30 20 regione operativa normale 10 volt -3 -2 -1 -10 1 2 3 4 5 -20 -30 figura 3.29 La caratteristica di uscita e' riportata invece in fig. 3.30. Si puo' vedere che l'impedenza d'uscita e' di basso valore in ambedue gli stati. Nello stato basso l'impedenza e' determinata dalla resistenza offerta dal transistore T3 in condizioni di saturazione, pari a circa 8 ohm. A correnti elevate, iniettate dall'esterno nel terminale di uscita, in particolare se si opera a basse temperature, il transistore puo' uscire di saturazione facendo salire l'impedenza di uscita. Allo stato alto viceversa l'impedenza d'uscita e' determinata in pratica dal valore di R4. 121 Capitolo III I circuiti logici. mA 90 80 Stato basso 70 60 50 ~ 8Ω Rsat = 40 30 20 10 volt -1 -10 1 2 3 -20 T -30 5 4 6 non saturato stato alto -40 -50 4 ~ R = 4 -60 figura 3.30 E' interessante notare che, commutando dallo stato basso a quello alto, la struttura a totem-pole dello stadio di uscita consente, a causa della sua bassa impedenza d'uscita, un rapido raggiungimento delle condizioni di regime anche in presenza di carichi capacitivi. In questo caso tuttavia, le correnti, relativamente rilevanti, circolano anche sulla rete di distribuzione dell'alimentazione, che deve quindi essere corta ed adeguatamente disaccoppiata. Inoltre, se durante la transizione dallo stato basso allo stato alto T4 passa in conduzione prima che T3 sia interdetto, come normalmente avviene, si ha un assorbimento di corrente impulsivo di breve durata, i cui effetti si propagano comunque attraverso la rete di alimentazione. 3.7.2) La sottofamiglia low power TTL . In un rilevante numero di applicazioni i circuiti TTL standard sono notevolmente piu' veloci del necessario; si e' ritenuto pertanto opportuno rinunciare al sovrappiu' di velocita' in favore di una riduzione della potenza dissipata. E' stata pertanto introdotta dai costruttori, quasi contemporaneamente alle porte TTL standard, la sottofamiglia low power TTL (LPTTL). Il circuito e' identico a quello della TTL standard, con l'unica eccezione che i valori dei resistori risultano moltiplicati per un fattore, che a seconda del fabbricante e' compreso tra 4 e 10. Di conseguenza la potenza dissipata diminuisce dal 75% al 90% mentre il tempo di propagazione aumenta di 3-4 volte. Valori tipici sono 1 mW per gate per quanto riguarda la potenza dissipata, 33 nsec per il tempo di propagazione e 3 MHz per la velocita' massima. E' bene far rilevare che una riduzione del consumo non si riflette solamente sulla dimensione e sul costo dell'alimentatore, ma porta anche ad una semplificazione del progetto termico del sistema per la minor quantita' di calore sviluppato. Inoltre, poiche' i dispositivi LPTTL utilizzano i medesimi involucri degli elementi standard, le temperature alle giunzioni sono inferiori a tutto favore di una maggior affidabilita'. 122 Capitolo III I circuiti logici. Dal punto di vista del rumore vi sono due distinti vantaggi; la riduzione delle correnti in gioco fa si' che l'autogenerazione di rumore risulti notevolmente diminuita, permettendo di usare un minor numero di condensatori di disaccoppiamento e semplificando il progetto del circuito stampato. Oltre a cio' la minor velocita' di commutazione fa si' che l'immunita' al rumore in corrente alternata sia superiore. Il fan-out nell'ambito della sottofamiglia e' 10; tuttavia e' bene far notare che la LPTTL e' perfettamente compatibile con qualsiasi altro elemento TTL. Per un elemento LPTTL che pilota un TTL standard il fan-out sara' compreso tra 1 e 4, mentre nel caso di un TTL standard che pilota un LPTTL il fan-out sara' compreso tra 25 e 60. A causa del ridotto valore della correnti di ingresso degli elementi LPTTL, essi costituiscono una buona interfaccia verso i circuiti MOS le cui impedenze di uscita sono generalmente abbastanza alte. In conclusione la LPTTL e' la piu' facile da impiegare tra tutte le sottofamiglie TTL e andrebbe utilizzata in tutte quelle occasioni in cui non risulti penalizzata dalla sua ridotta velocita'. 3.7.3) La sottofamiglia high speed TTL . Dopo l'introduzione della famiglia TTL la domanda dei produttori di calcolatori, di strumentazione e di apparecchi di comunicazione ha spinto tale famiglia a evolversi verso l'alta velocita', facendo nascere dapprima la high speed TTL (HTTL) e successivamente la Schottky TTL (STTL), di caratteristiche ancora migliori. V cc 2.8 k Ω T3 T1 T4 Uscita T2 Ingresso D1 56 Ω 760 Ω D2 T 470 Ω 5 4 kΩ figura 3.31 Il circuito base HTTL, riportato in fig. 3.31, nasce da quello della TTL standard con l'aggiunta di una coppia Darlington in sostituzione del transistore superiore del totem-pole di uscita e con la diminuzione del valore di tutte le resistenze. La coppia Darlington aumenta la velocita' con cui la corrente di T4 puo' essere commutata; in aggiunta la diminuzione dei valori resistivi minimizza l'effetto delle capacita' parassite, aumentando pertanto la velocita' con cui il circuito puo' cambiare stato. Valori tipici per tale sottofamiglia sono 6 nanosecondi per il tempo di propagazione, 50 MHz come velocita' massima e 22 mW per gate come potenza dissipata. 123 Capitolo III I circuiti logici. Al giorno d'oggi i dispositivi HTTL sono usati quasi esclusivamente per ridurre i ritardi in alcuni itinerari critici in sistemi realizzati con elementi TTL standard; presentano l'inconveniente di una maggior potenza dissipata, di una maggior autogenerazione di rumore e rendono piu' critica la disposizione dei componenti sulla scheda a circuito stampato, per motivi che verranno illustrati brevemente piu' avanti. 3.7.4) La sottofamiglia TTL Schottky. Le varie famiglie e sottofamiglie fin qui prese in esame sono tutte relative a logiche saturate; i transistori cioe' sono portati in conduzione con una corrente di base sufficiente a condurli al limite della saturazione anche con il guadagno di corrente minimo e nelle peggiori condizioni di temperatura e di carico. Di conseguenza un transistore riceve in media una corrente di base di gran lunga superiore a quella necessaria e si addentra percio' profondamente nella zona di saturazione. Si forma un accumulo di portatori di minoranza nella zona di base e per portare poi nuovamente il transistore in interdizione e' necessario rimuovere tale carica, con una considerevole perdita di tempo. Per migliorare la situazione si potrebbe pensare di accelerare la ricombinazione, drogando con oro. Sfortunatamente tale accorgimento riduce in modo sensibile il guadagno del transistore. Il transistore Schottky supera tali limitazioni facendo uso di un diodo a barriera superficiale, detto appunto diodo Schottky, con una tensione di conduzione molto bassa (circa 0.3 volt) e senza accumulo di carica dovuta ai portatori minoritari. Tale diodo viene connesso tra base e collettore di un transistore convenzionale, come illustrato in fig. 3.32. Nella stessa figura e' riportato anche il simbolo con cui viene indicato un transistore cosi' modificato. transistore schottky simbolo elettrico figura 3.32 In fig. 3.33 (a) e' riportata la situazione in cui un transistore e' in prossimita' della saturazione, ma in cui il diodo Schottky e' ancora interdetto; in fig. 3.33 (b), essendo la tensione di collettore ulteriormente discesa, si ha un drenaggio di parte della corrente di base verso il collettore per effetto del diodo Schottky. In pratica aumenti di I al di la' della corrente necessaria a portare il transistore al limite di saturazione si traducono in aumenti della sola ID , mentre IB rimane in sostanza costante. Anche gli aumenti della IC, provocati da iniezioni di corrente dall'esterno, non modificano la situazione; infatti in 124 Capitolo III I circuiti logici. tal caso sale la VCE e di conseguenza diminuisce ID e aumenta IB, riportando il circuito nelle condizioni di fig. 3.33 (b). (a) (b) I = Ib < 0.3 V Ic 0.3 V Id Id I Ic Id = 0 I Ib I=I +I b d I c + Id Ib > 0.4 V 0.4 V 0.7 V 0.7 V figura 3.33 In conclusione il transistore Schottky non entra mai in saturazione e si interdice quindi rapidamente quando viene annullata la corrente di base. Inoltre, non essendo richiesto il drogaggio in oro, il guadagno di corrente rimane elevato. V 2.8 k Ω T 900 Ω T5 1 T ingresso 50 Ω T 6 1 kΩ Uscita 2 T4 D 1 D 500 Ω 250 Ω 2 T 3 figura 3.34 La porta TTL Schottky, il cui circuito e' riportato in fig. 3.34, impiega solo transistori Schottky, con l'eccezione di T6 , che lavorando da inseguitore di emettitore non puo' saturarsi. Prestazioni tipiche sono 3 nsec. quale tempo di ritardo di propagazione, 19 mW/gate per la dissipazione e 125 MHz per la massima velocita'. 125 Capitolo III I circuiti logici. La sottofamiglia STTL presenta diversi vantaggi: 1) Il ritardo e' dell'ordine della meta' della HTTL e del terzo della TTL standard. E' possibile pertanto realizzare sistemi logici molto veloci senza perdere la compatibilita' con altri dispositivi TTL. 2) La potenza dissipata cresce molto piu' lentamente con la frequenza che non per le altre sottofamiglie. Pertanto, malgrado che la potenza dissipata in condizioni statiche non si possa a rigore definire piccola, ad alte frequenze la potenza dissipata e' addirittura inferiore a quella della TTL standard. 3) Poiche' anche i diodi di tosatura presenti all'ingresso sono di tipo Schottky, si ha una maggior efficacia nella soppressione di eventuali oscillazioni, sia a causa della minor tensione di soglia di tali diodi, sia per la loro maggior velocita' di commutazione. 4) I dispositivi STTL sono elettricamente, meccanicamente e logicamente equivalenti ai TTL standard e quindi il miglioramento di sistemi logici gia' esistenti puo' essere ottenuto semplicemente con la sostituzione degli elementi standard con elementi STTL. Per contro la maggior ripidita' dei fronti di commutazione, realizzata sempre nell'intento di migliorare le caratteristiche di velocita' della sottofamiglia, rende piu' problematico l'uso dei dispositivi STTL. La velocita' di salita (slew rate) e' tipicamente maggiore di 1 volt/nsec e puo' dar luogo ad oscillazioni e riflessioni sulle linee di collegamento anche con connessioni di lunghezza moderata (20 30 cm). D'altra parte non e' semplice terminare le linee con un carico adeguato senza peggiorare in modo sensibile il fan-out. Infine, poiche' i transistori Schottky non saturano, la VOL sale a 0.5 volt e quindi l'immunita' al rumore allo stato basso e' di 300 millivolt anziche' 400 millivolt. Si raccomanda pertanto, quando si usano elementi STTL, di mantenere le connessioni il piu' corte possibile, di usare linee di massa di generose dimensioni e a bassa induttanza, di disaccoppiare con condensatori di buone caratteristiche a radiofrequenza le alimentazioni ed infine di applicare terminazioni di adattamento alle connessioni che superano la lunghezza di 20 cm, facendo tuttavia attenzione alla riduzione del fan-out. 3.7.5) La sottofamiglia low power TTL Schottky. La sottofamiglia low power Schottky (LSTTL) e' quella introdotta piu' di recente e circuitalmente coincide con quella low power; i transistori tuttavia sono di tipo Schottky. Come risultato si ottengono ritardi di propagazione dell'ordine dei 10 nsec. con dissipazioni di 2 mW/gate, avendo cioe' in pratica la velocita' della TTL standard con la dissipazione della low power. Un sistema realizzato con la sottofamiglia LSTTL avra' quindi una minor dissipazione di calore e un minor rumore autogenerato. Infine la LSTTL si presta particolarmente bene a fungere da interfaccia verso i dispositivi MOS e CMOS. In tabella 3.3, 3.4, 3.5 sono riportate le principali caratteristiche delle sottofamiglie TTL. 126 Capitolo III I circuiti logici. TABELLA 3.3 Confronto velocita' - dissipazione Denominazione Sottofamiglia Tempo di ritardo Dissipazione TTL Standard 5 - 10 nsec. 10 mW HTTL Alta Velocita' 6 nsec. 22 mW LPTTL Low power 10 - 20 nsec. 2 mW STTL Schottky 3 nsec. 19 mW 5 - 10 nsec. 2 mW LSTTL Low power Schottky TABELLA 3.4 Sottofamiglia Serie militare (-55/125o C) Serie industriale (0/75o C) V V V V V V V V Standard 0.8 2.0 0.4 2.4 0.8 2.0 0.4 2.4 High speed 0.8 2.0 0.4 2.4 0.8 2.0 0.4 2.4 Low power 0.7 2.0 0.3 2.4 0.8 2.0 0.3 2.4 Schottky 0.8 2.0 0.5 2.5 0.8 2.0 0.5 2.7 0.7 2.0 0.4 2.5 0.8 2.0 0.5 2.7 IL Low power Schottky IH OL 127 OH IL IH OL OH Capitolo III I circuiti logici. TABELLA 3.5 Margini di rumore apparenti da a TTL HTTL LPTTL STTL LSTTL TTL 0.4 0.4 0.4 0.4 0.4 HTTL 0.4 0.4 0.4 0.4 0.4 LPTTL 0.5 0.5 0.5 0.5 0.5 STTL 0.3 0.3 0.3 0.3 0.3 LSTTL 0.3 0.3 0.3 0.3 0.3 3.7.6) Conclusioni sulla famiglia TTL. L'area di applicazione dei dispositivi TTL e' talmente vasta che conviene piuttosto elencare le applicazioni in cui essi non sono raccomandabili che non fare il viceversa. Non e' opportuno usare tali dispositivi: 1) Nelle applicazioni in cui e' richiesta una bassissima dissipazione di potenza. Per tali usi e' preferibile usare elementi CMOS. 2) Nella realizzazione di sistemi che debbano operare in ambienti ad alto rumore, dove sono preferibili i dispositivi HTL e CMOS. 3) Nelle applicazioni ad altissima velocita', dove si usano gli ECL. 4) Nelle realizzazioni LSI, dominio quasi incontrastato della tecnologia MOS. Riassuntivamente comunque i vantaggi della tecnologia TTL sono: 1) Elevata disponibilita' di elementi logici, anche di notevole complessita'. 2) Compatibilita' totale con la DTL. 3) Bassa impedenza di uscita in ambedue gli stati logici e quindi una notevole capacita' di pilotaggio in c.a. 4) Notevole reiezione del rumore proveniente dall'esterno a causa della bassa impedenza di uscita, senz'altro superiore a quanto ci si potrebbe aspettare dal margine di rumore di 400 mvolt. 128 Capitolo III I circuiti logici. 5) Elevata velocita'. 6) Ottimo prodotto velocita'-potenza dissipata. 7) Costo moderato e notevole reperibilita' presso diversi fornitori. 8) Compatibilita' tra le diverse sottofamiglie, caratteristica questa che permette di ottimizzare il progetto. In contrapposizione si possono tuttavia citare i seguenti svantaggi: 1) I cambiamenti estremamente rapidi delle tensioni e delle correnti in gioco rendono critica la progettazione degli stampati che devono essere realizzati in modo da evitare per quanto possibile cadute reattive ed accoppiamenti tra linee. 2) Autogenerazione di rumore durante la commutazione, che rende indispensabile l'uso di condensatori di disaccoppiamento. 3) Impossibilita' di realizzare la connessione "wired - or" a causa della struttura a totem-pole degli stadi di uscita. 3.8) La famiglia ECL. La logica ECL, chiamata talvolta anche CML (current mode logic - logica a commutazione di corrente) differisce strutturalmente in modo abbastanza profondo dalle logiche saturate ed e' vicina per configurazione circuitale e funzionamento ad un circuito lineare; i transistori operano solo in regione attiva e l'escursione tra i due livelli logici e' molto ridotta. Vcc 290 300 1.5 k 300 OR NOR Vbb -1.175V R 1.18 k A B C 1.5 k 2k 2.3 k Vee D figura 3.35 129 Capitolo III I circuiti logici. In fig. 3.35 e' riportato lo schema tipico di una porta ECL OR/NOR a quattro ingressi. Quando tutti gli ingressi della porta sono a livello basso (minore di -1.6 volt), tutti i transistori di ingresso sono interdetti poiche' gli emettitori, tutti connessi tra di loro, si trovano ad una tensione di circa 0.7 volt inferiore a quella di riferimento Vbb e quindi a circa - 1.8 / - 1.9 volt. La base del transistore di uscita NOR e' quindi a potenziale di massa e l'uscita a circa - 0.75 volt. Se invece uno o piu' ingressi della porta sono portati a livello alto (- 0.75 volt) sul resistore di carico di 290 ohm si ha una caduta di circa 0.9 volt e l'uscita passa a - 1.65 volt. L'uscita pertanto e' alta se e solo se tutti gli ingressi sono a livello basso; la funzione logica realizzata e' quindi la NOR. Poiche' lo stadio di ingresso e' in pratica un amplificatore differenziale, dal collettore del secondo transistore puo' essere prelevata una tensione in opposizione di fase, realizzando pertanto anche la funzione logica OR. La tensione di riferimento Vbb determina il livello della commutazione. Essa viene scelta pari a 1.175 volt in modo da ottenere un'immunita' al rumore simmetrica nei due stati. I due diodi inseriti nel circuito di base hanno lo scopo di compensare le variazioni della VBE con la temperatura. Le uscite ad inseguitore di emettitore, oltre a fornire una bassa impedenza di uscita, hanno il compito di traslare le cadute di tensione ai capi dei due resistori di collettore in livelli ECL standard. E' bene rilevare ancora una volta che la logica ECL e' una logica non saturata. Si noti che in prima approssimazione la corrente circolante su RE e' data da: IE = Vee − 1.5 RE Per evitare che i transistori saturino, valutando in circa 0.2 - 0.3 volt la tensione VCES di saturazione, dovra' essere, in prima approssimazione: RC.IE < 1.5 - 0.3 = 1.2 dove con RC si e' indicata la resistenza di collettore della coppia differenziale e si e' valutata in - 1.5 volt la tensione media di emettitore. Tali condizioni sono senza dubbio rispettate nel circuito ECL illustrato in fig. 3.35. 3.8.1) Caratteristica di ingresso. Poiche' lo stadio di ingresso di una porta ECL e' in pratica un amplificatore differenziale, ne presenta gli stessi vantaggi. L'impedenza di ingresso e' di circa 100 kohm ed e' pertanto molto piu' elevata di quella di qualsiasi altra logica bipolare. La caratteristica di ingresso e' riportata in fig. 3.36. Da tale caratteristica si vede che quando la tensione di ingresso sale al di sopra del livello massimo dello stato alto la corrente di ingresso comincia a crescere. E' questo l'inizio di una lieve saturazione, che tuttavia gioca un ruolo positivo tendendo a smorzare eventuali oscillazioni del segnale. 130 Capitolo III I circuiti logici. mA 0.2 fan - out = 25 0.1 0 V ee = 5.25 V Ta = 25 o C -1.5 -1 volt -0.5 -1.175 -0.7 V OH max figura 3.36 Infine poiche' il segnale di ingresso e' applicato ad uno stadio differenziale, si ha una discreta reiezione di modo comune, in particolare per quanto riguarda le variazioni della tensione di alimentazione. 3.8.2) Caratteristica di trasferimento e immunita’ al rumore. Dalla caratteristica di ingresso riportata in fig. 3.37 risulta che l'immunita' al rumore e' di circa 200 mV. Il circuito di compensazione della temperature mantiene tale immunita' costante al variare della temperatura e della tensione di alimentazione. E' inoltre necessario far notare che il circuito puo' funzionare su una vasta gamma di tensioni poiche' Vbb e la tensione di uscita a livello basso si adeguano automaticamente alle stesse variazioni. Vi -2.00 0.00 -1.50 -1.00 - 0.50 0.00 volt V V IL max IH min - 0.50 OR V Vu -1.00 - 0.85 OH min V V -1.50 bb OL max -1.525 NOR -2.00 volt -1.375 -1.025 figura 3.37 131 Capitolo III I circuiti logici. 3.8.3) Attitudine al pilotaggio di linee. La porta ECL si presta particolarmente bene ad essere terminata con un resistore di valore pari all'impedenza caratteristica di un cavo coassiale (50 ohm). In alcuni casi tale resistenza dev'essere connessa tra uscita e un'apposita "tensione di terminazione" di -2 volt, in altri casi puo' essere collegata direttamente a massa. Inoltre gli elementi ECL, a causa della loro struttura differenziale, si prestano a pilotare linee di trasmissione bilanciate. Si ottengono in tal modo un'immunita' al rumore superiore al volt e la possibilita' di pilotare linee molto lunghe. La trasmissione puo' venir fatta con qualsiasi porta, anche se, nelle applicazioni piu' critiche, e' conveniente far ricorso ad appositi "line drivers". Per la ricezione sono invece disponibili delle particolari porte ECL in cui sono accessibili ambedue gli ingressi dell'amplificatore differenziale (fig. 3.38). Vcc 300 R0 300 1.3 k 1.5 k V ee figura 3.38 3.8.4) Comportamento dinamico. I ritardi degli elementi ECL sono i piu' piccoli tra quelli di qualsiasi altra famiglia logica, mentre il prodotto velocita' potenza e' uno dei migliori. Essi non autogenerano rumore in quanto l'assorbimento di corrente dall'alimentazione e' praticamente costante e non varia con la frequenza. I tempi di salita e di discesa sono invece relativamente lunghi e, considerata la modesta escursione del segnale, lo "slew rate" e' addirittura minore di quello della famiglia TTL. Tenendo poi presente che gli ingressi richiedono correnti molto modeste, si puo' affermare che per questa famiglia il rumore di accoppiamento e' minimo. 3.8.5) Sottofamiglie ECL. Esistono diverse sottofamiglie di elementi ECL, che grosso modo possono essere classificate come segue: 1) 8 nsec. ECL (tpd = 8 nsec, max 30 MHz) (obsoleta) 2) 4 nsec. ECL (tpd = 4 nsec, max 75 MHz) (obsoleta) 3) 2 nsec. ECL (tpd = 2 nsec, max 125 MHz) 4) 1 nsec. ECL (tpd = 1 nsec, max 400 MHz) 132 Capitolo III I circuiti logici. Di queste sottofamiglie quella da 2 nsec. e' la piu' diffusa in quanto presente un ottimo compromesso tra velocita', dissipazione di potenza e facilita' d'uso. Gli schemi base delle due sottofamiglie piu' veloci sono simili tra loro e sono riportati in fig. 3.39. Vcc1 A B 245 220 C D Vcc2 907 A C D B 50 k 50 k 779 6.1 k 4.9 k figura 3.39 Per la famiglia da 1 nsec. i valori resistivi sono dimezzati, eccetto che per le resistenze di "pull down", connesse tra ingresso e riferimento negativo della tensione di alimentazione, del valore di 50 kohm. Tali resistenze permettono di lasciar sconnessi gli ingressi non usati, senza avere in pratica problemi di captazione di rumore. Rispetto alle due sottofamiglie piu' lente i transistori di uscita sono privi di resistenza di emettitore e sono alimentati separatamente dal resto del circuito. Tale arrangiamento circuitale permette di adattare facilmente le linee di collegamento, e ogni uscita puo' fornire fino a 25 mA. La separazione dei terminali di alimentazione evita che gli impulsi presenti nella corrente di uscita diano luogo a cadute induttive che interessino il circuito della porta. Per le porte ECL veloci il cablaggio unifilare dev'essere limitato a linee inferiori ai 2.5 cm; in caso contrario le connessioni vanno eseguite con linee terminate in parallelo su 50 ohm. Si raccomanda inoltre l'uso di condensatori ceramici di disaccoppiamento ogni 5-10 chips. 3.8.6) Conclusioni sulla famiglia ECL. L'alta velocita' degli elementi ECL e la struttura differenziale permettono la costruzione di dispositivi estremamente veloci, quali, ad esempio, convertitori A/D ad alta velocita'. La tecnologia impiegata si presta inoltre alla realizzazione di elementi LSI. Quali inconvenienti e' necessario citare la ridotta immunita' al rumore e la difficile interfacciabilita' con le altre famiglie logiche. Riassuntivamente i vantaggi della famiglia ECL sono: 1) Elevata velocita'. 2) Bassa impedenza di uscita. 133 Capitolo III I circuiti logici. 3) Notevole fan - out. 4) Bassissima generazione di rumore. 5) Esistenza di due uscite complementari. 6) Basso accoppiamento tra le linee di segnale. 7) Possibilita' di wired-or. 8) Elevata reiezione di modo comune. 9) Stabilita' delle caratteristiche al variare della temperatura. 10) Facile pilotaggio di linee. 11) Tecnologia impiegabile in realizzazioni MSI e LSI. Quali svantaggi si possono citare: 1) Dissipazione di potenza non trascurabile. 2) Bassa immunita' al rumore. 3) Difficile interfacciamento con le altre famiglie logiche. 4) Aumento notevole dei tempi di propagazione in presenza di carichi capacitivi. Gli elementi ECL sono correntemente impiegati nella realizzazione di strumentazione, quali contatori ad alta velocita', sistemi a sintesi di frequenza, ecc, nel campo del calcolo automatico, per la realizzazione di unita' logico-aritmetiche, memorie ultraveloci, ecc., nei sistemi di comunicazione e nella conversione A/D veloce. 3.9) I dispositivi MOS. Praticamente assenti agli inizi della produzione dei circuiti integrati, i dispositivi MOS (Metal Oxide Semiconductor) sono diventati via via una larga frazione della produzione totale ed attualmente dominano nel campo dell'integrazione a larga scala, in particolare per quanto riguarda memorie, microprocessori e circuiti "custom". E' opportuno ricordare che, a differenza di un transistore a giunzione, che sfrutta le correnti sia dei portatori maggioritari che minoritari, il MOS utilizza solo i portatori maggioritari e per tale motivo viene spesso chiamato transistore unipolare. Esso ha una resistenza di ingresso elevatissima, e' piu' semplice da fabbricare e richiede sulla superficie del "chip" di silicio un'area notevolmente minore che non il transistore bipolare. Allo stesso modo in cui esistono due tipi di transistore a giunzione, PNP e NPN, cosi' esistono i MOS a canale N o NMOS e i MOS a canale P o PMOS. Inoltre esistono per ciascun tipo due modi di funzionamento: il primo, detto "enhancement mode" o "modo a rinforzo" presenta la caratteristica di mantenere il transistore interdetto fino a che non viene applicata una sufficiente tensione tra gate e source, mentre il secondo detto "depletion mode" o "modo a svuotamento" richiede un'opportuna polarizzazione per inibire la conduzione. La maggior parte dei dispositivi MOS sono PMOS enhancement mode, malgrado che gli NMOS siano piu' veloci e di area minore, in quanto la tecnologia NMOS e' piu' difficile e costosa. Solo in tempi relativamente recenti, con l'introduzione della tecnologia di impianto ionico, i dispositivi NMOS ed in particolare quelli depletion mode sono diventati abbastanza comuni. In fig. 3.40 sono illustrate le forme idealizzate e i simboli usati per i MOS a canale N e per quelli a canale P rispettivamente. 134 Capitolo III I circuiti logici. source gate drain p metallo isolamento (SiO ) 2 p silicio n substrato d drain gate substrato g s source source gate drain metallo n p silicio d drain gate isolamento (SiO ) 2 n substrato g s source figura 3.40 3.9.1) Logica MOS statica. La forma piu' semplice di circuito logico MOS e' l'invertitore illustrato in fig. 3.41 (a). Il circuito base e', come si vede, sostanzialmente simile a quello della logica RTL; nella pratica tuttavia il resistore RL e' rimpiazzato da un secondo transistore MOS opportunamente polarizzato, che opera come un generatore di corrente. Il relativo circuito, in forma idealizzata e' riportato in fig. 3.41 (b) e la motivazione per cui si ricorre a tale arrangiamento circuitale risiede nel fatto che un MOS occupa sul chip molto meno spazio che non un resistore ed e' piu' facile da realizzare. In fig. 3.41 (c) e' riportata poi la tabella delle condizioni operative. Per un corretto funzionamento, cioe' per far si' che quando Tr e' in conduzione la tensione di uscita sia sufficientemente bassa, in modo da non far passare in conduzione i transistori di altre porte collegate, i due transistori Tr e TL hanno in conduzione un rapporto di resistenza pari a 1:20. Di conseguenza Tr occupa sul chip un'area notevolmente maggiore che non TL. Molto spesso VDD e VGG sono connessi allo stesso terminale; in tal caso tuttavia l'impedenza di uscita diventa molto elevata, la tensione di uscita a transistore interdetto e' minore di VDD e le costanti di tempo dovute alle capacita' parassite diminuiscono di molto la velocita' operativa. 135 Capitolo III I circuiti logici. RL d Vx g - VDD + s d Vz g Vx s Tr VGG + (a) Tl - Vz VDD + (b) Vx Vz Vx < V t 0 Vx > Vt V (c) figura 3.41 E' facile, a partire dalla struttura dell'invertitore, ottenere porte logiche NAND e NOR, connettendo in serie o in parallelo altri transistori MOS. In fig. 3.42 e' riportato il circuito della porta logica che in logica positiva realizza la funzione NOR, mentre in fig. 3.43 vi e' il circuito della porta logica NAND. Vx Vy - - + + Vx Vy Vz X Y Z VL VL VH 0 0 1 VL VH VL 0 1 0 VH VL VL 1 0 0 VH VH VL 1 1 0 VDD VGG VH = 0 V VL = VDD figura 3.42 136 Vz Z = (X+Y) = X . Y Capitolo III I circuiti logici. E' opportuno far rilevare che la struttura di tali porte e' molto simile a quella della tecnologia RTL; non si hanno tuttavia problemi di fan-out, in quanto l'impedenza di ingresso di un transistore MOS e' talmente elevata da poter essere considerata, almeno in prima approssimazione, infinita. Vz Vx VGG Vy VDD Vx Vy Vz VL VL VH X 0 Y 0 Z 1 VL VH VH 0 1 1 VH VL VH 1 0 1 VH VH VL 1 1 0 VH = 0 V V L = V DD Z= X.Y= X+ Y figura 3.43 3.9.2) Logica MOS dinamica. Malgrado che la dissipazione di potenza dei dispositivi MOS sia notevolmente inferiore a quella dei dispositivi bipolari, vi e' una notevole varieta' di applicazioni in cui una dissipazione ancora minore sarebbe auspicabile. Per ottenere tale obiettivo sono percorribili due strade; la prima conduce alla realizzazione di logiche CMOS, in cui sono usati contemporaneamente transistori PMOS e NMOS e di cui si parlera' in seguito; l'altra via riduce la potenza dissipata applicando l'alimentazione al circuito solo a intervalli di tempo, in modo che potenza venga dissipata solo quando e' strettamente necessario. Un tal modo di procedere e' possibile in quanto si puo' memorizzare l'informazione durante gli intervalli in cui l'alimentazione viene a mancare nella capacita' parassita gate-source. Operando tuttavia in questa maniera l'informazione e' disponibile in uscita solo quando e' presente l'alimentazione; il dato logico e' cioe' sincronizzato con l'alimentazione. Circuiti del tipo appena descritto prendono il nome di circuiti MOS dinamici, in contrapposizione a quelli descritti al paragrafo precedente, detti statici e nei quali l'informazione di uscita e' sempre disponibile. Lo schema di principio della piu' semplice logica MOS dinamica, detta a due fasi, e' riportato in fig. 3.44. In essa sono rappresentati due invertitori connessi in cascata, che tuttavia devono venir considerati come un unico stadio della logica MOS dinamica. 137 Capitolo III I circuiti logici. VDD VDD 1 2 t T5 T 2 A Vx φ φ φ1 φ2 T3 T1 T6 t T4 C4 figura 3.44 Si noti che rispetto alla logica MOS statica si possono rilevare le seguenti differenze: 1) I gates dei transistori di carico T2 e T5 non sono connessi direttamente a VGG, ma a φ1 e φ2 e pertanto conducono solo quando tali segnali vengono posti uguali a VGG. 2) L'uscita di ogni invertitore non e' connessa direttamente all'ingresso dell'invertitore successivo, ma attraverso un transistore di accoppiamento (T3 e T6). Anche i transistori di accoppiamento sono connessi a φ1 e φ2 e conducono pertanto solo quando la tensione sul loro gate e' pari a VGG. Quando φ1 e φ2 sono entrambi a valore nullo nel circuito non circola corrente. Non si ha quindi dissipazione e la situazione illustrata e' quella di fig. 3.45 (a). Quando il valore di φ1 passa a VGG i transistori T2 e T3 passano in conduzione; il segnale al drain di T1 assumera' allora il valore determinato dallo stato logico dell'ingresso e tale valore verra' trasferito attraverso T3 alla capacita C4 associata all'ingresso di T4, dove verra' memorizzato e si manterra' anche dopo il ritorno di φ1 a zero. Infine quando φ2 diventa uguale a VGG l'informazione viene trasferita in uscita (figura 3.45(b)). Il principale vantaggio di un tal modo di operare consiste nel fatto che si ha dissipazione solo durante gli intervalli di tempo durante i quali φ1 e φ2 sono diversi da zero e solo durante tali intervalli i transistori T2 e T4 sono in conduzione. 138 Capitolo III I circuiti logici. I due segnali di clock possono esser distanziati anche notevolmente tra di loro e pertanto la dissipazione diventa una frazione abbastanza piccola di quella che si avrebbe per lo stesso circuito realizzato in logica MOS statica. V DD T2 T3 T1 T4 Vx (a) VDD T2 T3 T1 T4 Vx (b) figura 3.45 Per il tempo rimanente l'informazione e' immagazzinata come carica nelle capacita' di ingresso e a causa delle resistenze parassite decade via via che passa il tempo. La costante di tempo di scarica determina evidentemente il massimo intervallo tra gli impulsi di clock. La massima frequenza di clock e' invece determinata dal tempo necessario a caricare la capacita' ad un determinato livello, in quanto, una volta che sia assegnato il valore delle tensioni φ1 e φ2, il semiperiodo attivo di tali segnali non puo' essere inferiore al tempo di carica necessario. Per quanto riguarda l'ingresso esso deve assumere il valore logico voluto solo durante l'intervallo φ1, mentre per il resto del tempo il suo valore non ha alcuna importanza. Analogamente l'uscita e' valida solo dopo φ2 ed e' pertanto ritardata di un tempo pari a un ciclo di clock. Da questo punto di vista il circuito preso in esame puo' anche essere considerato un registro a scorrimento in quanto trasferisce l'informazione di ingresso da stadio a stadio per ogni impulso di clock. 3.9.3) MOS dinamici a rapporto minimo. Nei circuiti fino a questo momento considerati esiste un'esigenza comune da rispettare; quella cioe' che la resistenza di conduzione dei MOS attivi sia notevolmente inferiore di quella dei MOS di carico, in modo da avere una tensione di uscita sufficientemente prossima allo zero nello stato basso. Tale esigenza obbliga a costruire sullo stesso chip transistori di dimensioni notevolmente diverse tra di loro. 139 Capitolo III I circuiti logici. Esiste tuttavia una variante della logica MOS dinamica a due fasi che permette di realizzare tutti i transistori con la stessa area, aumentando pertanto la densita' di integrazione e permettendo di ottenere velocita' di funzionamento piu' elevate. Lo schema di principio di questa realizzazione circuitale e' riportato in fig. 3.46 φ1 φ2 φ1 VDD T1 T9 T5 C1 C3 φ1 φ2 T6 T2 T10 T3 T7 C2 T4 Ingresso C5 φ2 T11 C4 T8 C6 T12 figura 3.46 Quando e' applicato φ1, conduce T1 e la capacita' C1 si carica. Immediatamente dopo φ1 viene tolto e viene applicato φ2. In tal caso passano in conduzione T2 e T3 che fanno si' che su C2 venga trasferito il valore determinato dallo stato di T4. E' evidente che in questo caso non vi e' alcuna esigenza di mantenere bassa la resistenza di conduzione di T4, in quanto il suo compito e' unicamente quello di scaricare o meno a massa la capacita' C1. Nasce invece l'esigenza di rendere C1 notevolmente maggiore di C2 in quanto durante l'intervallo φ2 queste due capacita' si suddividono la carica. Sempre durante l'intervallo φ2 la capacita' C3 si carica alla tensione VDD. Successivamente viene azzerato φ2 e si ripresenta φ1 rendendo possibile il trasferimento dell'informazione allo stadio successivo e cosi' via. Questo tipo di circuito permette di eliminare completamente la linea VDD sostituendola con i segnali di clock, come illustrato in fig. 3.47. φ1 φ2 φ1 T1 T9 T5 C1 C3 φ1 φ2 T6 T2 T10 T3 Ingresso C5 φ2 T4 C2 T7 T8 figura 3.47 140 C4 T11 T12 C6 Capitolo III I circuiti logici. 3.9.4) MOS dinamici a quattro fasi. Esistono circuiti MOS dinamici a quattro fasi, sviluppo di quelli a due fasi, che permettono di ottenere dimensioni minime, maggior velocita' operativa e minore dissipazione. La sola corrente necessaria al funzionamento e' quella che serve a caricare e scaricare le capacita' nodali e viene prelevata direttamente dai segnali di clock. φ φ 1 T T 11 φ 2 T 12 φ T 4 15 T 13 φ φ 2 T 22 T 16 φ 1 bit 1 3 C21 φ 4 T 25 23 φ C 22 26 φ 1 bit 2 φ 2 T 32 3 C 31 3 T 31 N4 T φ 1 T 24 N3 T φ 3 T 21 N2 C12 φ 1 T 14 N1 Ingresso φ 3 34 φ T 4 35 N5 T 33 φ C 32 T 36 φ 1 3 bit 3 figura 3.48 Per illustrarne il funzionamento si fara' riferimento al registro a scorrimento di fig. 3.48, mentre in fig. 3.49 sono riportate le relative forme d'onda. φ φ φ φ 1 2 3 4 ingresso Ν 1 Ν Ν Ν Ν 2 3 4 5 figura 3.49 141 Capitolo III I circuiti logici. Negli intervalli φ1 e φ2 i transistori T11 e T12 passano in conduzione, mentre T13 conduce o meno in funzione della tensione di ingresso. Comunque sia, considerate le resistenze di conduzione offerte dai vari MOS, la capacita' C12 si carica a una tensione negativa. Alla fine di φ1 T12 rimane in conduzione per effetto di φ2 e se T13 e' conduttore la capacita' C12 si scarica a massa. Se invece la tensione di ingresso e' nulla, T13 rimane interdetto e C12 mantiene la sua carica negativa. Con un breve ritardo rispetto alla fine di φ2 vengono applicati gli impulsi φ3 e φ4, il cui effetto e' quello di accumulare su C21 una carica negativa. Alla fine di φ3 l'informazione presente su C12 viene trasferita invertita su C21. Dopo un ciclo completo di clock pertanto l'informazione e' stata trasferita dall'ingresso all'uscita del primo stadio. Ad ogni ulteriore ciclo di clock l'informazione viene spostata attraverso gli stadi e compare all'uscita con un ritardo in periodi di clock pari al numero degli stadi del registro. L'informazione di ingresso viene letta durante il periodo φ2, quella di uscita e' disponibile dalla fine di φ3 all'inizio dell' impulso φ3 successivo. 3.10) La famiglia CMOS. La famiglia CMOS (Complementary Metal Oxide Silicon), presente sul mercato gia' da molti anni, ha rispetto ad altre famiglie logiche alcune proprieta' del tutto insolite. Anzitutto i suoi ingressi sono ad elevatissima impedenza, tali che dal punto di vista puramente ohmico possono essere considerati dei circuiti aperti. In condizioni statiche poi il loro consumo e' praticamente nullo, non essendoci alcuna circolazione di corrente. Inoltre la tensione di alimentazione puo' essere liberamente scelta in un campo che va da 3 a 15 volt e non richiede affatto di essere stabilizzata e ben filtrata. In fig. 3.50 e' riportato lo schema base della famiglia, rappresentante un circuito invertitore. Esso consiste in due transistori MOS, ambedue a rinforzo, di cui il superiore e' a canale P, l'inferiore a canale N. V DD s g d d g Vx Vz s Vx Vz X Z 0 VDD 0 1 VDD 0 1 0 figura 3.50 Per non ingenerare confusione non viene usata la terminologia usuale per i circuiti MOS, ma si indica di solito con il simbolo di massa il "source" del transistore inferiore e con VCC il "source" del transistore superiore. Il funzionamento del circuito e' riassunto nella tabella di fig. 3.50 ed e' evidente. Quando la tensione di ingresso Vx e' nulla, il MOS a canale N e' interdetto mentre quello a canale P e' conduttore, 142 Capitolo III I circuiti logici. essendo la sua tensione "gate-source" pari a VCC. La tensione di uscita e' quindi pari a quella di alimentazione. Quando invece la Vx diviene pari a VCC, il transistore a canale P si interdice, mentre passa in conduzione quello a canale N.; la tensione di uscita e' quindi pari a zero. Si vede che in ambedue gli stati uno dei due MOS e' interdetto; non vi e' pertanto circolazione di corrente se si trascura la debolissima corrente di perdita dei MOS. Pertanto i livelli logici sono VCC e 0 (corrispondenti alle costanti logiche 1 e 0 in logica positiva) poiche' in un MOS conduttore, in cui pero' non scorra corrente, non si ha caduta di tensione. Tenendo poi presente che l'impedenza di ingresso di un MOS e' elevatissima (> 1012 ohm + 5 picofarad) e che il carico di ciascun gate e' formato dagli ingressi dei gates a valle, i livelli logici si possono ritenere a buona ragione uguali alla tensione di alimentazione e a zero. Durante la commutazione invece vi e' un brevissimo istante in cui ambedue i transistori possono risultare conduttori. La durata di questo intervallo dipende dai tempi di salita e di discesa dei dispositivi e dalla tensione di alimentazione. Considerando che il carico di ciascun MOS e' prevalentemente capacitivo e' allora opportuno esaminare come il tempo di salita e di discesa siano influenzati dalla tensione di alimentazione e dalla capacita' di carico. In fig. 3.51 e' riportata una tipica caratteristica di un transistore MOS. E' interessante notare che per ciascuna curva caratteristica e' possibile individuare due zone; una prima in cui il transistore si comporta come una resistenza e una seconda in cui il comportamento e' simile ad un generatore di corrente e nella quale la IDS e' indipendente da VDS. Pilotando quindi con questi dispositivi un carico capacitivo, fino a che la VDS sara' tale da mantenere il MOS nella zona "generatore", la tensione di uscita avra' un andamento a rampa; passando poi alla zona "resistore" si avra' un andamento esponenziale. I DS (ma) VGS = 15 V 45 IDS VGS = 10 V 30 d V DS g VGS V GS= 5V 15 V 0 5 10 15 DS s (V) figura 3.51 Aumentando la tensione di alimentazione aumenta l'escursione di tensione del carico, e, almeno per quanto riguarda la zona di carica a rampa, questo fatto tende a rallentare la logica. Tuttavia l'aumento della tensione di alimentazione aumenta con legge quadratica la corrente erogata nella zona "generatore" e la conduttanza nella zona "resistore". In conclusione quindi si puo' affermare che al 143 Capitolo III I circuiti logici. crescere della tensione di alimentazione diminuiscono i tempi di salita e di discesa. E' questa una caratteristica esclusiva della logica CMOS. 3.10.1) Caratteristica di trasferimento. Per tutti i transistori MOS esiste un valore di tensione VGS, detto tensione di soglia e di solito indicato con VT, al di sotto del quale il transistore non conduce (si ricordi che si sta parlando di transistori a rinforzo). Tale soglia di conduzione e' indipendente dalle tensioni di alimentazione ed e' influenzata in pratica unicamente dalla tecnologia usata per la fabbricazione del MOS stesso. Da valori elevati e superiori addirittura a 4 volt, tale soglia nel tempo si e' andata via via abbassando e con le tecnologie piu' moderne si situa oggi nell'intorno del volt. Si assuma allora, per ragioni di semplicita' nell'esaminare la caratteristica di trasferimento dell'invertitore, che i due MOS complementari abbiano caratteristiche perfettamente complementari e che la tensione di soglia sia pari a 2 volt. Se la tensione di alimentazione e' inferiore alla tensione di soglia evidentemente nessuno dei due transistori MOS puo' entrare in conduzione e il circuito non puo' funzionare. Se VCC uguaglia la tensione di soglia, l'andamento della caratteristica di trasferimento e' quello riportato in fig. 3.52 (a). Si noti tuttavia che la caratteristica e' valida solo nel caso di un carico capacitivo, in quanto i due transistori conducono solo per Vi = 0 e Vi = 2 volt. I tratti orizzontali sono giustificati dal fatto che quando i transistori sono interdetti la tensione di uscita della porta viene memorizzata nella capacita' di carico. Vo Vo (a) (b) 4 4 Vcc = VT 3 VT < V cc < 2 VT 3 2 2 1 1 Vi Vi 0 1 2 3 4 0 Vo 1 2 3 4 Vo (c) 4 (d) 4 3 3 Vcc = 2VT 2 Vcc > 2VT 2 1 1 Vi 0 1 2 3 Vi 4 0 1 2 3 4 figura 3.52 Se VCC rimane compresa tra una e due volte il valore della tensione di soglia (fig. 3.52 (b)), si ha via via una diminuzione del tratto in cui ambedue i transistori sono bloccati, fino a che, in corrispondenza a VCC = 2 VT, il ciclo di isteresi scompare (fig. 3.52 (c)). In tutti questi casi comunque non circola corrente durante la commutazione nei due transistori. 144 Capitolo III I circuiti logici. Quando invece VCC supera il valore 2 VT si crea una zona in cui ambedue i transistori sono conduttori. Ogni volta in cui Vi passa in tale zona, si ha un impulso di corrente assorbita dall'alimentazione, una caduta di tensione nei transistori e la caratteristica di funzionamento si arrotonda come e' illustrato in fig. 3.52.(d). In tale figura con il tratto continuo sono riportate le caratteristiche idealizzate di commutazione dei singoli MOS, mentre l'effettiva caratteristica di trasferimento e' a tratteggio. 3.10.2) Comportamento al variare della tensione di alimentazione. Si e' gia' visto che per un dato ammontare del carico capacitivo l'aumento della tensione di alimentazione fa aumentare la velocita' operativa; aumenta tuttavia anche la potenza dissipata a causa della corrente che attraversa ambedue i transistori nel periodo in cui conducono contemporaneamente. In fig. 3.53 sono riportate le caratteristiche tipiche di una porta CMOS. t pHL t pHL t pLH t pHL (nsec.) (nsec) 60 100 V 40 DD = 5V V DD = 10 V 50 20 V 0 5 10 V DD P tot DD = 15 V (V) 0 20 40 60 C L (pF) (µ W ) 10 5 Ta = 25 oC 10 4 10 V V = 15 V DD 5V 10 3 10 2 10 1 10 C L= 50 pF 0 10 -1 3 10 4 10 5 10 f (Hz) 10 6 10 7 figura 3.53 E' bene notare anzitutto la grandissima dinamica del parametro potenza dissipata che va da 10-8 W in condizioni statiche a oltre 10 mW a 1 MHz. Notevole influenza sul consumo hanno sia la capacita' di carico che la tensione di alimentazione. E' pertanto azzardato affermare che la logica CMOS sia quella a consumo minimo, poiche' se tale affermazione e' senz'altro vera a bassa frequenza, a 145 Capitolo III I circuiti logici. frequenze superiori al MHz il consumo diventa paragonabile o addirittura superiore a quello della logica TTL. 3.10.3) Immunita’ al rumore. I circuiti CMOS hanno un'elevata immunita' al rumore, il cui valore tipico e' 0.45 volte la tensione di alimentazione VCC. Se invece di fare riferimento al margine di rumore reale si esamina il margine di rumore apparente, calcolato sulla base dei valori minimi e massimi garantiti, si ottiene comunque un margine di rumore di 1 volt, superiore senza dubbio a quello di qualsiasi altra famiglia logica, eccezion fatta per la HTL. In fig. 3.54 sono riportati i livelli garantiti di ingresso e di uscita in funzione della tensione di alimentazione e sono evidenziati i margini di rumore a livello alto e a livello basso. 15 V 13.5 margine di rumore allo stato alto V 12.5 OH min V 4.05 IH min margine di rumore allo stato basso 3.05 V IL max 1.45 2.5 1.5 V 0.45 OL max figura 3.54 3.10.4) Struttura delle porte logiche. In fig. 3.55 sono riportati gli schemi circuitali delle porte CMOS NOR e NAND, assieme alle loro tavole di funzionamento, che peraltro e' evidente. E' opportuno far notare che per ciascun ingresso e' richiesto un invertitore, cioe' due transistori MOS. E' questo un punto a sfavore della tecnologia CMOS che ne limita l'impiego nel settore dell'integrazione a larga scala. 146 Capitolo III I circuiti logici. Vcc V V 0 0 x p p V x V y n n Vz y V X Y Z z Vcc 0 0 1 0 Vcc Vcc 0 0 0 0 1 1 0 0 0 Vcc Vcc 0 1 1 0 V X Y Z Vcc Vcc 0 0 1 0 1 1 Vcc 0 1 0 1 1 Z=X+Y Vcc p p V V 0 0 x 0 Vcc Vcc 0 n V z Vx y Vcc Vcc n Vy z 1 0 Z = X.Y figura 3.55 3.10.5) Considerazioni generali sull’uso della famiglia CMOS. A differenza delle famiglie bipolari, in cui gli ingressi non usati possono al limite anche essere lasciati aperti, nella famiglia CMOS condizione essenziale per il funzionamento del circuito e' non lasciare alcun ingresso volante. Gli ingressi infatti, a causa della loro elevatissima impedenza, captano il rumore ambientale facendo commutare in modo incontrollabile la porta. Gli ingressi non usati vanno pertanto connessi di volta in volta a massa, alla tensione di alimentazione o a un altro ingresso usato. La scelta non e' del tutto arbitraria, poiche' influenza la capacita' della porta di pilotare carichi, soprattutto capacitivi. Ad esempio nella porta NAND di fig. 3.55 un ingresso non usato collegato alla tensione di alimentazione mantiene interdetto in permanenza uno dei due MOS in parallelo, mentre quando lo stesso ingresso viene connesso in parallelo ad un altro ingresso usato, raddoppia la capacita' di pilotaggio della porta allo stato alto. Analogamente nella porta NOR il collegamento in parallelo degli ingressi aumenta la possibilita' di pilotaggio allo stato basso. Quando si voglia aumentare la capacita' di pilotaggio in ambedue gli stati anziche' in uno solo, gli ingressi e le uscite di un certo numero di porte possono essere posti in parallelo. Infine e' bene far notare che poiche' la famiglia puo' funzionare su un ampio campo di tensioni di alimentazione ed e' dotata di un'ottima immunita' al rumore, l'alimentazione stessa non richiede ne' di essere stabilizzata, ne' eccessivamente filtrata. Utilizzando la famiglia CMOS si semplifica quindi il progetto dell'alimentatore e se ne riduce il costo. 3.11) La logica CMOS domino. Nella logica CMOS standard presa in esame fino a questo momento per ciascun ingresso logico si rende necessario introdurre una coppia di transistori MOS, uno a canale n e l’altro a canale p. Disgraziatamente i dispositivi pMOS a parita’ di corrente sono notevolmente piu’ ingombranti che non 147 Capitolo III I circuiti logici. quelli a canale n e la realizzazione di funzioni logiche complesse in tecnologia CMOS viene pertanto a richiedere aree di silicio non trascurabili. Una maggior densita’ di integrazione si riesce a raggiungere utilizzando circuiti MOS dinamici con la logica che viene chiamata “domino”. Un esempio e’ riportato in figura 3.56 Con il circuito illustrato viene realizzata la funzione logica y = A. B + C. D. E La parte sinistra del circuito (transistori da T1 a T7) e’ una porta and-or-invert e viene utilizzata per pilotare l’invertitore CMOS formata dai transistori Q8 e Q9. Si noti che essa ha la struttura di una logica MOS dinamica e utilizza solo sette transistori anziche’ i dieci che sarebbero necessari con una logica CMOS statica. In piu’ di questi sette transistori uno solo e’ pMOS. Il funzionamento e’ controllato dal clock Φ applicato ai transistori Q1 e Q2. Quando Φ = 0 il transistore Q1 si trova in interdizione e pertanto nei rami della porta and-or-invert non circola corrente. Q7 al contrario e’ conduttore e carica la capacita’ Ci alla tensione VDD. In queste condizioni l’uscita vo e’ nulla. Quando Φ = 1 Q1 passa in conduzione mentre Q7 si interdice. Se uno o ambedue i termini A.B e C.D.E in tale istante hanno valore 1, il condensatore Ci si scarica a massa e di conseguenza la tensione di uscita vo si porta al valore VDD. V DD Φ Q Q7 Ci E B Q A Q2 3 Q6 D Q5 C Φ Q4 Q1 figura 3.56 148 8 Q9 Vo Y = A.B + C.D.E Capitolo III I circuiti logici. E’ interessante rimarcare la somiglianza del funzionamento descritto con le logiche dinamiche a due fasi a rapporto minimo, gia’ descritte in precedenza. Come in quel caso anche ora non vi e’ alcuna necessita’ che il MOS di carico Q7 e quelli da Q1 a Q6 siano geometricamente diversi, in quanto non vi e’ alcun vincolo da rispettare sulle relative resistenza RON. La logica domino tuttavia permette di aumentare la densita’ di integrazione solo quando si abbia a che fare con un elevato numero di ingressi, poiche’, qualsiasi sia la funzione da realizzare, per un corretto funzionamento sono sempre necessari i transistori Q1, Q2 e l’invertitore CMOS d’uscita. 3.12) La classificazione dei componenti integrati. La continua evoluzione tecnologica dei componenti integrati ha portato in questi ultimi anni ad adottare una classificazione piu’ specifica per i componenti integrati. Ad esempio con riferimento agli elementi TTL veloci, pur esistendo a tutt’oggi quelli Schottky TTL-S e quelli Schottky TTL-LS e’ nato il gruppo dei TTL Fast (TTL-F) che impiegano sia dispositivi Schottky che altri accorgimenti per incrementare la velocita’. Esistono inoltre i componenti TTL-AS e TTL-ALS (Advanced Schottky e Low Power Schottky) di introduzione piu’ recente che non i precedenti, che hanno beneficiato dei miglioramenti tecnologici e circuitali introdotti nel frattempo. Anche i dispositivi CMOS presentano nelle loro realizzazioni piu’ recenti tutta una serie di varianti. Vi e’ la sottofamiglia ad alta velocita’ HC, la cui evoluzione successiva e’ contraddistinta dalla sigla AC, la sottofamiglia BiCMOS in cui convive sia la tecnologia bipolare che quella MOS con l’intento di riuscire a fornire correnti di uscita piu’ elevate. Esiste la sottofamiglia LV (Low Voltage) costruita per funzionare a tensioni inferiori che non gli elementi standard allo scopo di diminuire i consumi in regime dinamico riducendo le correnti di carica e scarica delle capacita’ parassite inevitabilmente presenti. Quasi tutti i dispositivi vengono poi realizzati nella versione T (si hanno pertanto le sottofamiglie HCT, ACT, BCT, LVT) che garantisce la perfetta compatibilita’ con la famiglia TTL. Si e’ passati pertanto a considerare tutti questi dispositivi, siano essi bipolari o CMOS, appartenenti a quel raggruppamento che va sotto il nome di serie 74 o 54. Pertanto la sigla che individua il singolo componente sara’ del tipo SS XX NNN dove: SS - puo’ essere 74 o 54 e indica il campo di temperatura di utilizzo. Per la serie 74 (la cosiddetta serie industriale) il campo di temperatura e’ compreso tra 0° C e 85° C, mentre per la serie 54 (detta anche sere militare) il campo di temperatura si estende da -55° C e +125° C. XX - Identifica la sottofamiglia (LS, F,C, …) che puo’ essere bipolare, a basso consumo, Schottky, ecc., o CMOS, ad alta velocita’, a bassa tensione e cosi’ via. NNN - E’ una sigla numerica da 2 a 4 cifre che identifica la funzione del dispositivo, cioe’ se e’ ad esempio una porta NAND, NOR, ecc., un multiplexer, un registro, un contatore o altro. Un fatto importante da rimarcare risiede nel fatto che componenti di uguale 149 Capitolo III I circuiti logici. sigla numerica NNN hanno la stessa piedinatura e realizzano la stessa funzione logica indipendentemente dalla sottofamiglia cui appartengono. A titolo di esempio la sigla 7400, in cui come si nota il campo XX non e’ presente, individua un integrato della sottofamiglia TTL standard che contiene al suo interno quattro porte NAND a due ingressi ed e’ atto ad operare su un campo di temperatura compreso tra 0° e 85° C. La sigla 74ACT245 individua un insieme di otto buffer bidirezionali della sottofamiglia CMOS Advanced TTL compatibile sempre operante nel campo di temperatura tra 0° e 85° C. La sigla 54LS04 e’ relativa ad un insieme di sei invertitori in tecnologia TTL Schottky low power atto ad operare nel campo di temperatura compreso tra -55° e +125° C. Nell’ambito delle famiglie 54 e 74 tutti i componenti lavorano con un’alimentazione standard di 5 V. Esiste una compatibilità’ totale tra i componenti bipolari 74XX e quelli 74XCTXX, nel senso che tali componenti sono direttamente interconnettibili. Negli altri casi la compatibilita’ va verificata di volta in volta, facendo riferimento ai valori garantiti VIL, VIH, VOL, VOH, IIL, IIH, IOL, IOH. 150 Capitolo IV Memorie e logiche programmabili Capitolo IV Memorie e logiche programmabili. 4.1) Introduzione. Un peso notevolissimo nel campo dell’integrazione a larga scala e’ ricoperto al giorno d’oggi dalle memorie, che rappresentano attualmente circa i due terzi della totalita’ dei circuiti integrati prodotti. Ancora oggi si assiste ad un continuo aumento del numero di bit disponibili sul singolo chip, che approssimativamente quadruplica ogni tre anni. Stranamente sulle memorie a semiconduttore non esiste quell’ampiezza di informazione che ci si potrebbe aspettare per componenti che rivestono una cosi’ grande importanza. Probabilmente tale situazione prende origine, a differenza dei circuiti SSI e MSI, da considerazioni di competitivita’ tra le industrie produttrici, che non hanno alcun interesse a divulgare informazioni troppo dettagliate sui loro prodotti. 4.2) Classificazione delle memorie. Le memorie a semiconduttore sono dispositivi elettronici costituiti da un insieme di celle elementari, ciascuna delle quali e’ in grado di immagazzinare un’informazione binaria. Questo insieme di celle elementari e’ dotato di apposite linee di comunicazione che permettono di accedere al singolo dato. Le memorie possono essere classificate sotto diversi punti di vista. Ad esempio esse possono venire identificate a livello di sistema a seconda del tipo di accesso che consentono. Si parla allora di memorie ad accesso sequenziale o di memorie ad accesso diretto (dette spesso in modo improprio ad accesso casuale). Nel primo caso i dati vengono accodati l’uno rispetto all’altro in fase di scrittura, mentre in fase di lettura l’organizzazione della memoria e’ tale che il primo dato leggibile sia quello che e’ stato scritto per primo (in questo caso si parla di memorie first in – first out o FIFO). Oppure puo’ avvenire che il primo dato leggibile sia l’ultimo scritto e in tal caso si parla di organizzazione a pila (o a stack). Vi possono essere poi ancora altre organizzazioni, ma, comunque sia, nelle memorie ad accesso sequenziale per recuperare un dato e’ necessario scorrere tutti i dati che in fase di lettura precedono quello voluto. Molto spesso tuttavia risulta necessario poter accedere direttamente ad un particolare dato; tale operazione e’ appunto possibile nelle memorie ad accesso diretto, nelle quali attraverso un indirizzo si puo’ direttamente individuare l’informazione desiderata. Nelle memorie ad accesso sequenziale l’indirizzo non e’ necessario, o meglio e’ implicito. E’ opportuno tuttavia notare che esistono metodi di accesso piu’ complessi di quelli citati. Ad esempio esistono le memorie ad accesso multiplo (il piu’ delle volte doppio), in cui esistono piu’ canali di accesso in modo da renderle disponibili a piu’ processi contemporaneamente, rendendo la memoria una risorsa condivisa. Rimanendo nell’ambito delle memorie ad accesso casuale una prima grande suddivisione e’ quella che divide le memorie in quelle di lettura e scrittura (RAM – random access memory) e in quelle a prevalente lettura (ROM – read only memory). Nelle prime un dato puo’ essere scritto e letto in qualsiasi cella, con un tempo di accesso che e’ praticamente lo stesso sia che l’operazione sia di scrittura che quando l’operazione e’ di lettura. Nelle seconde l’operazione normale e’ solo quella di lettura poiché quella di scrittura o non e’ permessa o richiede un tempo molto piu’ lungo che non quella di lettura. Un vantaggio delle ROM tuttavia risiede nel fatto che l’informazione si conserva anche quando l’alimentazione viene a mancare, a differenza delle RAM in cui l’informazione viene persa. Per tale motivo le ROM vengono anche chiamate memorie non volatili. Per la verita’ esistono anche RAM non volatili, ottenute con opportuni espedienti; ad esempio le ZRAM (zero power RAM) utilizzano batterie tampone per mantenere alimentati i dispositivi 151 Capitolo IV Memorie e logiche programmabili anche in fase di assenza dell’alimentazione primaria, o ancora le informazioni vengono duplicate su una memoria non volatile in modo da poterle ripristinare quando necessario oppure si sfruttano opportuni fenomeni quali l’isteresi ferroelettrica per ottenere una memorizzazione permanente. In ogni caso una suddivisione di massima delle memorie ad accesso diretto e’ riportata in tabella 4.1, nella quale, a titolo orientativo e’ riportata anche la tecnologia con cui ciascun tipo di memoria viene realizzato. TABELLA 4.1 ------- dinamiche MOS RAM ------- statiche MOS e bipolari ------- a maschera ------- PROM MOS bipolari ------- EPROM ------- EEPROM MOS MOS ROM • E’ opportuno tuttavia accennare ad alcune delle caratteristiche piu’ importanti dei vari tipi di ROM. • ROM a maschera. Sono memorie a sola lettura nelle quali i dati vengono immagazzinati mediante un opportuno processo di mascheratura durante la fabbricazione. L’utente all’atto dell’ordinazione deve specificare con un’opportuna codifica tutta l’informazione che deve venir scritta nella memoria. La struttura fisica del componente e’ particolarmente semplice e l’organizzazione di tale tipo di memoria e’ sempre a matrice. In commercio si possono trovare ROM a maschera con diversi gradi di parallelismo, di cui i piu’ comuni sono comunque 4 e 8. • PROM o ROM programmabili. Sono anch’esse memorie a sola lettura in cui tuttavia i dati vengono inseriti dall’utente finale. La scrittura di un dato avviene o per fusione di opportuni collegamenti o con la perforazione di una giunzione. Il dato, una volta scritto, non puo’ essere un alcun modo cancellato. Vantaggio sostanziale rispetto alle ROM a maschera e’ l’eliminazione dei tempi di attesa tra ordinazione e consegna della ROM, malgrado che il loro costo unitario sia superiore. E’ tuttavia necessario tenere presente che la produzione di ROM a maschera non e’ economicamente conveniente per quantitativi inferiori al migliaio di pezzi. • EPROM. Sono memorie a prevalente lettura, utilizzate quando siano necessarie memorie non volatili, ma in cui i dati memorizzati possano venire di volta in volta modificati. In questo casi i dati, scritti con mezzi elettrici, possono venire cancellati, rendendo la memoria nuovamente disponibile, con l’esposizione del chip a radiazione ultravioletta attraverso un’apposita finestra in vetro di quarzo. • EEPROM. Sono memorie molto simili alle EPROM, ma la cancellazione di un dato viene effettuata elettricamente, permettendo di mantenere il dispositivo nel sistema in cui e’ installato. Le operazioni di scrittura tuttavia sono normalmente molto piu’ lente che non quelle di lettura. Dal punto di vista dell’impiego e delle terminazione EPROM e EEPROM 152 Capitolo IV Memorie e logiche programmabili sono del tutto analoghe alle ROM e alle PROM. Per alcuni modelli addirittura esiste con queste ultime una completa compatibilita’ sia elettrica che meccanica (compatibilita’ pin to pin). 4.3) Struttura base di una memoria. Una memoria e’ essenzialmente costituita delle seguenti parti: una matrice di celle; un decodificatore di indirizzo un circuito di controllo di ingresso e di uscita. In memorie di piccole dimensioni, ad esempio in memorie da 16 celle, il circuito di indirizzamento puo’ essere realizzato con un semplice selettore (linear select), come illustrato in figura 4.1. M M 1 4 1 16 M 16 figura 4.1 E’ opportuno notare in questa struttura circuitale la complessita’ dovuta alla presenza dei 2n collegamenti elettrici necessari all’abilitazione delle singole celle. Tale complessita’ inoltre aumenta esponenzialmente al crescere del numero n di bit di indirizzo. Una valida alternativa e’ l’indirizzamento a matrice illustrato in figura 4.2 (coincident select). 153 Capitolo IV Memorie e logiche programmabili M1 1 Selettore di riga M4 4 1 4 Selettore di colonna figura 4.2 Si ottiene in tal modo una notevole semplificazione della rete dei collegamenti. Si puo’ ritenere pertanto che, tranne per memorie di minime dimensioni, la struttura di base sia quella di figura 4.3. indirizzo di riga D e c o d r i f d i i i g c a a t o r e Din cella di memoria linea di parola linea dei dati matrice di celle Circuito di controllo I/O Dout Decodificatore di colonna indirizzo di colonna figura 4.3 Il decodificatore di riga seleziona un’intera riga di celle. I dati immagazzinati nelle celle connesse con la riga selezionata sono trasferiti al circuito di controllo di ingresso e uscita. A questo punto il dato che interessa viene trasferito all’uscita selezionandolo con il decodificatore di colonna. 154 Capitolo IV Memorie e logiche programmabili Ogni dispositivo di memoria possiede almeno i seguenti segnali: Indirizzo (address) composto dai segnali da applicare ai decodificatori. All’utente non e’ normalmente possibile distinguere tra i bit di selezione di riga e di colonna. L’indirizzo deve pertanto essere considerato come un tutto unico. Lettura/scrittura (read/write). E’ presente ovviamente solo quando necessario e permette di scegliere tra un’operazione di scrittura o una di lettura in o da una determinata cella. Selezione di chip (chip select) che permette o no di abilitare la memoria in questione. Tale segnale si rende indispensabile quando si vogliano realizzare memorie di grandi dimensioni, superiori a quelle del singolo chip, oppure quando memorie accedono assieme ad altri dispositivi allo stesso bus per il trasferimento dei dati. Segnali di ingresso e di uscita (I/O). In certe realizzazioni le linee su cui viaggiano tali segnali possono coincidere. Alimentazione (supply). Alcune realizzazioni, quali EPROM e EEPROM possono richiedere piu’ di una tensione di alimentazione, tuttavia nella maggior parte dei casi e’ sufficiente un’unica tensione. La combinazione di tutti questi segnali organizza il dispositivo di memoria. Piu’ matrici del tipo descritto possono poi essere utilizzate per accedere ad informazioni di lunghezza superiore al bit. Si avranno ovviamente tante linee di I/O quanti sono i bit di informazione cui si vuol accedere contemporaneamente. Si parla in tal caso di parallelismo della memoria, intendendo con tale termine il numero di bit per parola, dove parola e’ l’insieme di bit cui si accede contemporaneamente con un unico indirizzo. Nelle memorie standard il grado di parallelismo e’ di solito una potenza di 2. 4.4) Struttura della cella di memoria RAM. Prima di descrivere i principi di funzionamento di una memoria RAM e’ opportuno accennare alle regole fondamentali cui bisogna attenersi nel progetto di una cella di memoria. 1) 2) 3) 4) Una cella di memoria deve occupare sul chip la minima superficie possibile. I processi di fabbricazione per la sua realizzazione devono essere i piu’ semplici possibile. Le operazioni di lettura e scrittura devono essere le piu’ rapide possibile. La potenza dissipata va minimizzata I primi due punti sono di carattere prevalentemente economico, mentre gli ultimi due riguardano le prestazioni del dispositivo. Le memorie RAM si suddividono poi in memorie bipolari e MOS, statiche e dinamiche. Le memorie bipolari sono piuttosto rare, di capacita’ ridotta, e vengono utilizzate solo in quelle applicazioni in cui sono richieste elevate velocita’ di accesso. La distinzione tra dispositivi statici e dinamici e’ gia’ stata illustrata in precedenza, tuttavia nel caso delle memorie tale distinzione si riflette anche in profonde modificazioni strutturali e di impiego. 4.4.1) Struttura di una cella RAM statica. Una possibile configurazione di una cella RAM statica e’ riportata in figura 4.4. Il cuore della cella e’ un semplice circuito bistabile che comunica con le linee dati attraverso buffer 3-state. Tali buffer, rispettivamente di lettura e di scrittura sono controllati da due porte AND al cui ingresso sono applicati i segnali di selezione di riga e di colonna e quello di read/wite (R/W). 155 Capitolo IV Memorie e logiche programmabili Quando sia X che Y sono a livello basso ambedue le uscite degli AND si trovano a livello basso e pertanto i quattro buffer 3-state risultano disabilitati. DATA write buffer read buffer connessione wired OR read buffer write buffer Y DATA R/W X figura 4.4 Quando invece X, Y e R/W passano allo stato alto risultano abilitati i write buffer permettendo un’operazione di scrittura nella cella; cambiando lo stato della linea R/W si disabilitano i write buffer mentre vengono abilitati i buffer di lettura. Il valore contenuto nella cella viene in tal caso trasferito alle linee dati. Realizzare una memoria RAM utilizzando la cella appena descritta risulta molto semplice. In figura 4.5 e’ riportato lo schema di interconnessione per una memoria da quattro celle (4 bit), per la quale sono necessarie solo quattro porte in piu’ rispetto a quelle necessarie alla realizzazione delle singolo celle. data out buffer data in buffer DATA IN DATA OUT DATA R/W DATA R/W D Y 0 X X D R/W D Y1 0 X D R/W 0 0 D Y 0 D R/W X D Y1 1 X1 D R/W X1 Y0 Y1 figura 4.5 Un’osservazione piu’ attenta della cella proposta fa tuttavia osservare che le esigenze di progetto enunciate all’inizio del presente paragrafo non sono sufficientemente rispettate. Infatti, un 156 Capitolo IV Memorie e logiche programmabili circuito costituito da otto porte (escludendo le connessioni “wired-or” che non occupano spazio significativo), da cinque linee di segnale e da almeno due linee di alimentazione non puo’ certo considerarsi efficiente in termini di superficie di silicio occupata. Un primo miglioramento si puo’ ottenere eliminando la necessita’ di una linea di R/W per ogni cella secondo quanto illustrato in figura 4.6. Le due porte AND a tre ingressi delle cella originaria si riducono ad un’unica porta AND a due ingressi che controlla sia il buffer di lettura che quello di scrittura. DATA write buffer read buffer connessione wired OR read buffer write buffer DATA X Y figura 4.6 La lettura viene eseguita connettendo le linee DATA e DATA alle linee di uscita della cella, mentre la scrittura si esegue forzando sulle medesime linee i valori voluti. La cella che cosi’ si ricava potrebbe gia’ essere accettabile, ma un ulteriore livello di semplificazione puo’ essere raggiunto eliminando la porta AND e riorganizzando la configurazione della memoria in modo tale che tutte le celle di una riga siano parzialmente accessibili, mentre solo la cella della colonna selezionata lo sia totalmente. La nuova configurazione circuitale e’ riportata in figura 4.7, mentre in figura 4.8 e’ riportato lo schema completo di una RAM da quattro bit. V dd X BIT (Y) Vss figura 4.7 157 BIT (Y) Capitolo IV Memorie e logiche programmabili La cella cosi’ ottenuta e’ realizzata con soli sei transistori e le linee di segnale si sono ridotte a tre. E’ questa la struttura tipo utilizzata nella maggior parte dei casi per realizzare memorie RAM statiche. D D D X D X X0 D D D D X X R.W=0 X1 BIT BIT BIT Y0 Data in R/W CS BIT Y1 Data bus Amplificatore differenziale + Data out Data bus DB DB figura 4.8 La costruzione di una memoria completa, che utilizzi la cella a sei transistori, introduce alcuni nuovi concetti e terminologie. Significativa e’ la sostituzione delle linee dati con le cosiddette “bit line” che alimentano tutte un bus dati comune. Le “bit line” sono isolate dal bus dati da interruttori MOS comandati dall’indirizzo di colonna. Il bus dati a sua volta e’ pilotato de una coppia di buffer 3-state durante la fase di scrittura, mentre in fase di lettura comunica con l’esterno tramite un amplificatore differenziale e un ulteriore buffer 3-state. Il controllo della RAM e’ poi modificato dalla presenza di un segnale di “chip select” (CS), che negli esempi fatti in precedenza non era presente. Tale segnale si rende necessario poiche’ le RAM sono disposte in un sistema di memoria in maniera matriciale come le celle che costituiscono la singola RAM e i vari chip condividono lo stesso bus dati per trasmettere le informazioni. Ovviamente ad un dato istante deve venire selezionato un unico chip, mentre gli altri devono essere completamente ininfluenti sia per quanto riguarda i dati in ingresso che quelli in uscita. Si supponga, a titolo di esempio, di voler modificare il contenuto della cella X0, Y1 da “0” a “1”.I segnali da applicare alla memoria saranno allora X0, Y1 e CS alti, mentre X1 e Y0 dovranno essere tenuti bassi. Con questa combinazione di valori vengono attivati i buffer di ingresso con DB a livello alto e DB a livello basso. Y1 chiude poi gli interruttori MOS della relativa colonna, mentre X0 chiude gli interruttori MOS della riga relativa, rendendo accessibile la cella X0, Y1. Le “bit line” a questo punto si trovano in una situazione di conflitto per effetto del dato memorizzato in precedenza nella cella. Tuttavia un opportuno dimensionamento delle parti componenti permette di far si’ che il nuovo dato prevalga, forzando la cella nella nuova situazione. Durante le operazioni descritte il segnale R/W, tenuto a livello basso, mantiene il buffer di uscita disattivato, in modo che durante il ciclo di scrittura il dato presente sul bus dati non venga trasferito in uscita. 158 Capitolo IV Memorie e logiche programmabili Si noti che gli interruttori MOS della cella X0, Y0 sono anch’essi chiusi e quindi il contenuto della cella viene trasferito sulle “bit line” della colonna Y0. Tuttavia il valore basso di X1 impedisce un’interazione con la cella X1, Y0, mentre il livello basso di Y0 impedisce il trasferimento del dato dalle “bit line” al bus dati. In modo del tutto analogo puo’ essere compiuta l’operazione di lettura. 4.4.2) Struttura di una cella RAM dinamica. Una cella RAM dinamica si puo’ considerare derivata da quella statica di figura 4.7, in cui tuttavia sono stati eliminati i transistori di carico. Il dato viene in questo caso memorizzato nelle capacita’ parassite di gate, come e’ illustrato in figura 4.9 ( a ). In questa situazione circuitale si tende pertanto a perdere l’informazione se non si interviene con un’operazione di riscrittura prima che la tensione ai capi della capacita’ sia scesa al di sotto di un determinato livello. Quest’operazione e’ detta rinfresco (refresh) del dato. linea dei dati (W) T 3 T1 linea dei dati (R) linea di parola (R) linea di parola T4 T2 T2 T3 T1 linea di parola T1 linea di parola (W) linea dei dati (D) linea dei dati linea dei dati (D) (a) Cella a 4 transistori (b) Cella a 3 transistori (c) Cella a 1 transistore figura 4.9 Nella cella a quattro transistori di figura 4.9 (a) tuttavia i transistori T1 e T2 lavorano in modo complementare e si e’ quindi in presenza di una ridondanza di informazione. Una cella ottenuta eliminando uno di questi transistori e’ la cella a tre transistori di figura 4.9 ( b ). In fase di lettura il dato e’ decodificato dallo stato del transistore T1, in conduzione o meno in base alla carica immagazzinata nelle capacita’ parassita gate-source. Pertanto quanto T3 passa a condurre T1 controlla il passaggio di corrente sulla linea dei dati ( R ) e funge quindi da convertitore tensione-corrente. Si puo’ tuttavia giungere ad una cella ancora piu’ semplice, realizzata con un unico transistore, come illustrato in figura 4.9 (c). L’operazione di lettura avviene in tal caso come segue: In un primo tempo la tensione della linea dei dati viene portata allo stato alto. Successivamente, quando T3 viene passa in conduzione, alzando il livello di tensione della linea di parola, un amplificatore a soglia (sense amplifier) legge uno “0” o un “1” in funzione della variazione di tensione che viene a verificarsi o meno sulla linea dei dati, come illustrato in figura 4.10. 159 Capitolo IV Memorie e logiche programmabili Tensione della linea dei dati lettura di un "1" T1 ON lettura di uno "0" attivazione del sense amplifier tempo figura 4.10 A queste operazioni segue evidentemente un refresh. Ogni linea dei dati e’ collegata a un “sense amplifier” che entra a far parte del circuito di controllo di figura 4.3. Per ottenere elevate sensibilita’ e per questioni di stabilita’ il “sense amplifier” e’ spesso realizzato in configurazione differenziale. 4.4.3) Struttura di una memoria RAM dinamica. A titolo di esempio in questo paragrafo verranno illustrati i principi secondo i quali funziona una semplice memoria RAM dinamica da 4 bit, il cui schema e’ riportato in figura 4.11. Le forma d’onda dei segnali che controllano questo circuito sono illustrate in figura 4.12. linee dei dati V V rif rif Precarica Precarica X 0 C X b C s C C C C C b s 1 V b s V rif Tristate sense amplifier C b refresh read s rif Tristate sense amplifier refresh read write read Y Y data bus uscita dati ingresso dati figura 4.11 Si osservi che un ciclo, sia esso di lettura che di scrittura, puo’ essere suddiviso in due periodi distinti, detti rispettivamente periodo attivo e periodo di precarica. Durante il periodo attivo vengono eseguite le operazioni richieste, mentre durante il periodo di precarica la memoria viene preparata per le operazioni successive. Durante quest’ultimo periodo, con riferimento alla figura 160 Capitolo IV Memorie e logiche programmabili 4.11, non si fa altro che connettere le linee dei dati, tramite i rispettivi interruttori MOS controllati dall’impulso di precarica, alla tensione di riferimento Vrif, di valore intermedio tra i livelli di tensione corrispondenti allo “0” e all’”1” logici. Alla fine del periodo di precarica la linea dei dati si trovera’ ad una tensione che in pratica coincide con Vrif, poiche’ l’amplificatore di refresh si trova nel suo stato ad alta impedenza. CICLO DI LETTURA - Ingresso WRITE basso indirizzi precarica READ refresh Uscita dati dato valido CICLO DI SCRITTURA - Ingresso READ basso WRITE Ingresso dati periodo attivo precarica figura 4.12 Appena terminato il periodo di precarica, le linee di indirizzo selezionate si portano a livello alto. La linea X fara’ condurre i MOS delle due celle situate sulla medesima riga, connettendo le corrispondenti capacita Cs alle linee dati. Di conseguenza le cariche della capacita’ Cs e della capacita’ Cb si ridistribuiscono in modo che sulla linea dei dati si abbia una tensione pari a: VR = (CS .VS + C b .Vrif ) (CS + C b ) Tale tensione vie confrontata dal “sense amplifier” con Vrif e quindi la rivelazione del dato memorizzato in ciascuna cella avviene senza difficolta’. Il dato della colonna selezionata passa poi sul bus dati e, tramite il “data bus buffer”, passa al terminale di uscita. Se a questo punto il ciclo terminasse, i dati presenti nelle celle lette risulterebbero fortemente degradati. La lettura cioe’ sarebbe di tipo distruttivo. Gli amplificatori di refresh ovviano a tele inconveniente, ripristinando i corretti valori di tensione nelle celle. E’ ovvio che tutte le celle accessibili della stessa linea devono venire rinfrescate contemporaneamente. Si noti che nel ciclo di lettura, durante il periodo attivo, l’indirizzamento termina prima di qualsiasi altro segnale, allo scopo di proteggere i dati memorizzati, che potrebbero deteriorarsi se 161 Capitolo IV Memorie e logiche programmabili piu’ segnali commutassero contemporaneamente prima che le celle vengano isolate dal resto del sistema. L’operazione di scrittura e’ relativamente piu’ semplice. Il segnale “write” abilita il buffer di ingresso e il relativo dato, attraverso l’amplificatore di refresh viene trasferito sulla linea dati selezionata. Si noti che ciascuna cella richiede solo due componenti, due linee di segnale e una linea di alimentazione (quella di massa). Inoltre in condizioni di riposo la cella non dissipa potenza. A fronte di questi vantaggi si ha un aumento del tempo di accesso, determinato dal periodo di precarica e dalla necessita’ di assicurare che ciascuna riga sia periodicamente indirizzata per assicurare il refresh dai dati. Oltre alla necessita’ di refresh e’ di considerevole importanza l’istante di inizio del funzionamento del “sense amplifier”. RAM dinamiche veloci richiedono che il “sense amplifier” inizi a funzionare il piu’ presto possibile; tuttavia anticipare troppo l’inizio del funzionamento riduce eccessivamente la distanza tra le tensioni corrispondenti ai due stati logici sulle linee dati e puo’ dar luogo a fenomeni di instabilita’. La relazione ricavata per VR vale, infatti, solo a regime. La miglior temporizzazione e’ funzione di diversi fattori, quali il rapporto tra la capacita’ delle linee dati e quelle delle celle di memoria., la sensibilita’ del “sense amplifier”, la generazione interna di rumori e altre condizioni. Le considerazioni sul rumore, molto importanti in quanto il “sense amplifier” deve operare su livelli di tensione abbastanza bassi, portano a particolari geometrie nella disposizione delle celle di memoria, che tendono ad ottimizzare la velocita’ di funzionamento e l’immunita’ al rumore. Non si ritiene tuttavia utile in questa sede approfondire l’argomento. 4.5) Esempio di utilizzazione di memorie ROM. Nel presente paragrafo verra' esaminato l'impiego di memorie ROM al fine di utilizzare un monitor televisivo come display alfanumerico. Il principio di funzionamento di tale sistema, capace di visualizzare 16 righe, ciascuna contenente un massimo di 64 caratteri, puo' essere visto con l'ausilio dello schema a blocchi di fig. 4.13. impulso di riga impulso di quadro reset Clock 2 load reset Contatore modulo 64 Clock 1 P6 Q 5 Shift register P 0 C A4 Generatore di caratteri C0 5 M0 M5 Memoria RAM da 64 x 16 parole da 6 bit Q 1 A0 M9 M D D0 6 Uscita video B B0 3 Contatore modulo 11 3 Contatore modulo 16 reset reset figura 4.13 Ogni carattere sia separato da quello successivo da due spazi, e ogni linea di caratteri sia separata dalla successiva da quattro spazi, come illustrato in fig. 4.14. 162 Capitolo IV Memorie e logiche programmabili In tal modo, supponendo che ciascun carattere sia realizzato con una matrice 5 x 7, l'effettivo spazio riservato ad ogni carattere, comprensivo dell'area di separazione tra caratteri e tra righe, risulta essere di 7 x 11. 7 11 figura 4.14 L'intera pagina alfanumerica visualizzata venga poi prelevata da una memoria RAM da 64 x 16 = 1024 parole da 6 bit, in ciascuna delle quali e' contenuto il codice del carattere da visualizzare. I bit di indirizzo di questa memoria saranno pertanto 10 (M0-M9) di cui i primi 6 (M0-M5) individuano la posizione sulla riga in cui visualizzare il carattere, gli ultimi quattro (M6-M9) una delle 16 righe costituenti la pagina. I 6 bit del dato (A0-A5), uscita della parola indirizzata, vengono inviati all'ingresso del generatore di caratteri. Il funzionamento puo' essere descritto nel modo seguente. L'impulso di quadro azzera: Il contatore modulo 64, necessario a indirizzare i 64 caratteri che formano ciascuna riga. Il contatore modulo 16 necessario ad indirizzare ciascuna riga della pagina. Il contatore modulo 11 utilizzato per la scansione delle sette righe che costituiscono ciascun carattere (ingressi R0, R1, R2 del generatore di caratteri) e le quattro righe che costituiscono la spaziatura verticale. L'impulso di riga e' inviato al contatore modulo 11 e al generatore di clock (clock1) che fornisce un treno di 64 impulsi all'ingresso del contatore modulo 64. Un secondo generatore di clock (clock2), sincronizzato con il clock1, permette di serializzare, utilizzando uno shift-register, l'uscita parallela (Q1,..,Q5) del generatore di caratteri. Q1-Q5 sono i cinque bit che formano una linea del carattere e vengono inviati ai primi cinque ingressi paralleli (P0, .., P4) dello shift-register, mentre gli ultimi due ingressi paralleli (P5 e P6) vengono mantenuti costantemente a zero in modo da realizzare la spaziatura orizzontale tra i diversi caratteri della stessa riga. Pertanto per ogni impulso fornito dal clock1 si hanno 7 impulsi di clock2. I sette bit presenti agli ingressi paralleli dello shift-register vengono caricati nel registro stesso con un opportuno ritardo in modo da evitare errori di caricamento per mezzo di un segnale di "load" ricavato dal clock1. Il contatore modulo 11 effettua il conteggio degli impulsi di riga e fornisce i tre bit di indirizzamento B0, B1 e B2 agli ingressi R0, R1 e R2 del generatore di caratteri, in modo da 163 Capitolo IV Memorie e logiche programmabili individuare in sequenza, durante i primi 7 impulsi di ciascun gruppo di 11 impulsi, le sette righe che costituiscono il carattere, mentre durante i successivi quattro impulsi e' necessario azzerare totalmente lo shift-register, in modo da realizzare la spaziatura verticale. E' necessario pertanto realizzare la semplice funzione logica illustrata in fig. 4.15. Stato del contatore B3 B 2 B 1 B 0 Reset 0 0000 0 1 0001 0 2 0010 0 3 0011 0 4 0100 0 5 0101 0 6 0110 0 7 0111 1 8 1000 1 9 1001 1 10 1010 1 Reset = B 3 + B 0 . B1 . B 2 figura 4.15 Il contatore modulo 16 totalizza i gruppi di 11 linee video, cioe' incrementa il suo stato ogni 11 impulsi di riga. Le sue uscite (D0, ..., D3) vengono inviate alla memoria RAM (M6-M9) in modo da indirizzare successivamente le 16 righe che costituiscono la pagina. Infine i sei bit di uscita del contatore modulo 64 (C0-C5 ) sono connessi ai primi sei bit di indirizzo della RAM, per individuare in successione la locazione che contiene il codice di ciascuno dei 64 caratteri che costituiscono la riga. 4.6) Le ROM a maschera. La realizzazione di una cella di memoria ROM non programmabile e’ molto semplice. Quando infatti si vuol ottenere in uscita una tensione bassa e’ sufficiente connettere tra la linea di bit e il potenziale di riferimento un MOS secondo quanto illustrato in figura 4.16. Quando la linea di riga viene portata a potenziale alto il MOS passa in conduzione portando a potenziale di massa la relativa linea di bit. In sede di fabbricazione pertanto devono essere selettivamente realizzati dei MOS in corrispondenza agli “0” logici che si vogliono ottenere in uscita, mentre quando si vuole ottenere un “1” logico le rispettive linee vanno lasciate sconnesse. 164 Capitolo IV Memorie e logiche programmabili bit y1 bit y o linea di riga linea di riga linea di riga figura 4.16 4.7) La cella di memoria EPROM ed EEPROM. La struttura di una cella EPROM o EEPROM de’ del tutto simile a quella di una ROM a maschera. La differenza sostanziale tuttavia risiede nel tipo di MOS utilizzato, che funziona come un elemento programmabile. In sostanza il MOS utilizzato ha la struttura illustrata in figura 4.17. gate 2 G gate 1 S n+ SiO2 p D n+ figura 4.17 Oltre il normale gate presente in tutti i transistori MOS viene realizzato, all’interno dello strato di biossido di silicio un secondo gate (indicato in figura con gate 1), che tuttavia e’ completamente isolato. Questa realizzazione permette di modificare selettivamente la tensione di soglia del dispositivo, portandola al di sopra delle normali tensioni di funzionamento (di solito comprese tra i 3 e i 5 volt). Quando infatti al gate 2 e al drain viene applicata una tensione positiva elevata (15 ÷ 25 V) l’elevato campo elettrico presente nella regione di svuotamento drain-substrato provoca una scarica a valanga. In tale condizione elettroni ad alta energia possono penetrare nello strato di ossido ed accumularsi sul gate 1. Questa carica, quando drain e gate 2 vengono riportati a potenziale zero, forza il potenziale del gate 1 a valori negativi e tale potenziale impedisce la formazione del canale alle normali tensioni di funzionamento. Le elevate proprieta’ dielettriche del biossido di silicio consentono di mantenere la carica intrappolata per periodi di tempo estremamente lunghi, che si stimano essere dell’ordine delle decine di anni. 165 Capitolo IV Memorie e logiche programmabili La carica intrappolata puo’ poi essere rimossa per effetto fotoelettrico con l’esposizione a luce ultravioletta, permettendo in tal modo la cancellazione del dato memorizzato e rendendo il dispositivo nuovamente atto ad essere utilizzato. I tempi di cancellazione sono tuttavia notevolmente lunghi e richiedono lo smontaggio delle EPROM dal circuito in cui sono montate. Questi inconvenienti possono essere superati ricorrendo alle EEPROM in cui sia la lettura che la scrittura avvengono con mezzi elettrici. La struttura del MOS e’ ancora quella a gate flottante, ma lo spessore tra gate 1 e substrato e’ molto sottile (dell’ordine di 100 c). In queste condizioni la carica intrappolata puo’ venire rimossa per effetto tunnel, quando tra gate 2 e substrato viene applicata una tensione dell’ordine dei 10 V, che comunque e’ ancora notevolmente superiore alle normali condizioni operative. In ambedue le tecnologie tuttavia il numero di riprogrammazioni non e’ illimitato. In particolare nelle EEPROM le caratteristiche dei transistori “floating gate” decadono con il numero di programmazioni effettuate a causa degli elettroni che comunque rimangono intrappolati nell’ossido. 4.8) Le ROM programmabili (PROM). La maggior parte dei costruttori di semiconduttori offrono, oltre ai dispositivi che sono gia’ stati descritti, anche ROM programmabili dall’utente finale (programmable ROM) dette PROM. Questi circuiti, come gia’ e’ stato accennato offrono un’elevata flessibilita’ e riducono i costi, soprattutto quando la quantita’ necessaria e’ modesta. Una PROM contiene una matrice di codifica in cui sono realizzate tutte le possibili connessioni, come e’ illustrato in figura 4.18. Xo X1 XM-1 Wo D e c o d i f i c a W1 Wµ codice di ingresso a M bit µ = 2M Yo Y1 YN-2 YN-1 codice di uscita a N bit figura 4.18 Le connessioni sono normalmente realizzate con una striscia di silicio policristallino il cui comportamento e’ simile a quello di un fusibile; quando cioe’ tale striscia viene percorsa da una corrente superiore a un certo valore la connessione si interrompe. L’utente puo’ quindi facilmente bruciare i fusibili di ogni elemento di memoria, realizzando la desiderata funzione ingresso-uscita. Un modo alternativo e sotto certi aspetti piu’ comodo di vedere una ROM di questo tipo e’ quello di immaginarla costituita da un due piani detti rispettivamente piano AND e piano OR, con riferimento a una relazione funzionale ingresso-uscita del tipo somma di prodotti. In altre parole una memoria a sola lettura programmabile sara' costituita da un piano AND fiso, che realizza tutti i termini minimi della variabili di ingresso, mentre il piano OR sara’ programmabile fondendo gli opportuni collegamenti. In figura 4.19 e’ rappresentata la struttura di una PROM da 4 variabili di ingresso e parallelismo 4 in uscita. 166 Capitolo IV Memorie e logiche programmabili Indirizzo X3 X2 X1 X0 Collegamenti del piano OR Collegamenti del piano AND Y 3 Y 2 Y 1 Y 0 Uscita figura 4.19 4.9) I dispositivi logici programmabili. Nell’ambito della realizzazione di circuiti logici digitali un progettista puo’ scegliere tra dispositivi discreti di tipo standard e dispositivi dedicati realizzati ad hoc per una specifica applicazione (si parla in tal caso di ASIC Application Specific Integrated Circuit). Esistono tuttavia dispositivi, i cosiddetti PLD (Programmable Logic Device) che si collocano a meta’ strada tra le due precedenti categorie e sono adatti per applicazioni specifiche essendo completamente personalizzabili dall’utente a seconda delle funzionalita’ richieste, ma conservano una struttura regolare e di volta in volta sempre uguale. Le stesse PROM possono esser fatte rientrare tra i PLD e sono state molto spesso usate come array logici configurabili. Il piu’ grosso inconveniente che esse presentano, al di la’ della loro limitata velocita’, risiede tuttavia nella eccessiva complessita’, che aumenta esponenzialmente con il numero degli ingressi, e nel limitato numero delle linee di uscita. Per superare queste limitazioni gia’ verso la meta’ degli anni ’70 sono state introdotte le prime vere logiche programmabili chiamate rispettivamente PAL (Programmable Array Logic) e la PLA (Programmable Logic Array), cui a breve termine hanno fatto seguito le GAL (Generic Logic Array). Per le prime due la struttura interna e’ simile a quella di una PROM, con i due piani AND e OR gia’ descritti, mentre nelle GAL vengono integrati anche flip-flop, porte XOR e altri dispositivi, con un’organizzazione in sottoinsiemi detti macrocelle configurabili, tra le quali si possono effettuare connessioni e realizzare anche loop di reazione. La disponibilita’ di sistemi di calcolo a basso costo e di software in grado di trasformare le equazioni booleane in “mappe di fusibili” ha favorito un ampio utilizzo di questi dispositivi. 167 Capitolo IV Memorie e logiche programmabili Non si vuole in questa trattazione, di necessita’ di tipo qualitativo e di primo approccio all’argomento, analizzare nel dettaglio i diversi tipi di dispositivo prodotti. Sara’ sufficiente dire che la densita’, cioe’ il numero di funzioni integrabile sul singolo chip, e’ andata via via aumentando; che accanto alle tecniche a “fusibile” sono state introdotte quelle ad “antifusibile” con le quali la programmazione crea un cortocircuito anziche’ un circuito aperto; che esistono dispositivi basati sia sulla tecnologia EPROM a ultravioletti che su quella EEPROM; che esistono dispositivi in cui la logica viene controllata attraverso opportuni bit caricati in apposite celle RAM statiche localizzate sul chip stesso e cosi’ via. 4.9.1) La logica a matrice programmabile (PAL). La logica a matrice programmabile e’ molto simile ad una PROM in quanto e’ costituita anch’essa da un piano AND e uno OR. Tuttavia a differenza di quest’ultima il piano OR e’ fisso mentre e’ programmabile quella AND. Le PAL sono utilmente impiegate per realizzare equazioni Booleane in luogo delle piu’ ingombranti e complesse PROM. Sono ovviamente disponibili solo collegamenti OR specifici, mentre tutti quelli AND sono realizzabili. La programmazione consiste nel bruciare le connessioni AND indesiderate. In figura 4.20 e’ riportata la struttura di una PAL da 16 parole per 4 bit. Le connessioni fusibili sono rappresentate con una X. Ingresso X3 X2 X1 X0 Collegamenti del piano OR Collegamenti del piano AND Y 3 Y 2 Uscita figura 4.20 168 Y 1 Y 0 Capitolo IV Memorie e logiche programmabili 4.9.2) Le matrici logiche programmabili (PLA). Tra i dispositivi programmabili di tipo AND-OR le PLA sono i piu’ flessibili in quanto in esse esistono tutti i possibili collegamenti sia sul piano AND che su quello OR, come mostrato in figura 4.21. La programmazione anche in questo caso consiste nel bruciare le connessioni indesiderate. Ingresso X3 X2 X1 X0 Collegamenti del piano OR Collegamenti del piano AND Y 3 Y 2 Y 1 Y 0 Uscita figura 4.21 La flessibilita’ e la convenienza di una PLA rispetto una PROM emerge chiaramente dal seguente esempio. Si supponga di dover lavorare con 16 ingressi e 8 uscite. In una PROM in tal caso si dovrebbero avere 216 = 65535 parole da 8 bit per un totale di 524288 bit e con questo sistema si potrebbero realizzare 8 funzioni logiche combinatorie da 16 variabili, esprimendo ciascuna funzione logica nella forma canonica somma di prodotti. Si consideri allora un sottoinsieme della ROM appena descritta. Si abbiano sempre 16 ingressi e 8 uscite, ma anziche’ 65535 parole se ne abbiano a disposizione ad esempio solamente 48. Ciascuna di queste parole prende il nome di prodotto parziale. Il termine diviene autoesplicativo considerando che il piano AND e’ completamente programmabile e ciascun prodotto non contiene tutte le variabili di ingresso. Si parla in questo caso di una PLA 16 x 48 x 8. Il piano AND e’ detto matrice di decodifica ed e’ formato da 48 AND con un numero massimo di ingressi pari a quello delle variabili di ingresso al dispositivo. Il piano OR, detto matrice di codifica, e’ anch’esso completamente programmabile e consiste di 8 gate OR le cui uscite sono le uscite del dispositivo. Gli ingressi possibili di ciascun OR sono in numero pari a quello dei prodotti parziali, ma quelli non necessari possono venire esclusi per fusione del relativo collegamento. 169 Capitolo IV Memorie e logiche programmabili In sostanza si vede che con una PLA non e’ piu’ necessario esprimere una funzione booleana in forma canonica, ma e' possibile implementarla in una qualsiasi forma semplificata, purche’ somma di prodotti. E’ evidente il risparmio circuitale che se ne puo’ ricavare. Da un altro punto di vista si puo’ affermare che mentre una PROM memorizza dati binari, una PLA memorizza funzioni booleane. Si considerino ad esempio le due seguenti funzioni. y1 = A 3 .A 0 + A 9 .A 4 .A1 + A11 .A10 .A 7 .A 3 + A13 + A15 .A14 y 2 = A 5 .A 4 .A 0 + A 9 .A 4 .A1 + A12 .A 6 Per realizzare queste due funzioni sono necessari solo sette prodotti parziali (e non otto in quanto il prodotto A 9 .A 4 .A e’ comune ad ambedue le funzioni. Facendo quindi riferimento ad una PLA 16 x 48 x 8 i rimanenti 41 prodotti parziali rimangono disponibili per le altre sei uscite da y3 a y8. La programmazione della PLA avviene creando una mappa dei fusibili (o delle connessioni desiderate quando la PLA viene programmata dal fabbricante con una maschera di metallizzazione). Per l’esempio che e’ stato preso in considerazione la mappa avra’ l’aspetto riportato in tabella 4.2. Nella zona ingresso un simbolo X sta ad indicare che vengono bruciati ambedue i collegamenti con la relativa variabile, uno “0” che rimane integro il collegamento con A i , un “1” quello con A i . Nella zona uscite uno “0” indica la bruciatura del collegamento con il relativo prodotto parziale. Prodotto Parziale TABELLA 4.2 INGRESSI USCITE 15 14 13 12 11 10 9 X X X X X X X 8 X 7 X 6 X 5 X 4 X 3 0 2 X 1 X 0 1 Y1 1 Y2 0 X X X X X X 0 X X X X 1 X X 0 X 1 1 A11 .A10 .A 7 .A 3 X X X X 1 0 X X 0 X X X 1 X X X 1 0 A13 X X 1 X X X X X X X X X X X X X 1 0 A15 .A14 0 1 X X X X X X X X X X X X X X 1 0 A 5 .A 4 .A 0 X X X X X X X X X X 1 0 X X X 1 0 1 A12 .A 6 X X X 1 X X X X X 1 X X X X X X 0 1 A 3 .A 0 A 9 .A 4 .A1 In sostanza una PLA puo’ gestire, a parita’ di complessita’, un maggior numero di ingressi ed e’ piu’ economica di una PROM. E’ evidente tuttavia che puo’ venire vantaggiosamente utilizzata solo se i prodotti parziali necessari sono una piccola frazione delle possibili combinazioni di ingresso. 4.9.3) I gate array programmabili (PGA) e i dispositivi ad elevata complessita’. Sotto tale dizione vengono annoverati tutta una serie di dispositivi ad elevata densita’ di integrazione. L’architettura e’ normalmente basata su una struttura regolare di blocchi di logica configurabile interconnettibili tramite opportune linee circondati da blocchi di circuiti che provvedono all’input e all’output. 170 Capitolo IV Memorie e logiche programmabili A rigore i gate array dovrebbero contenere solamente un gran numero di dispositivi logici elementari, la cui programmazione consiste semplicemente nello stabilire le volute interconnessioni. Esistono tuttavia elementi logici piu’ complessi, al cui interno si trovano anche dispositivi sequenziali, che piu’ propriamente dovrebbero essere chiamati dispositivi logici programmabili ad elevata complessita’; tuttavia non e’ ben chiaro dove possa essere fissato il confine tra i due tipi di dispositivo e pertanto nel seguito non se ne terra’ conto. La personalizzazione da parte dell’utente puo’ venire fatta in diversi modi: con una metallizzazione, con la tecnica a fusibile o a antifusibile, ma molto spesso avviene caricando in modo seriale o parallelo i dati di configurazione in una EPROM o una EEPROM o ancora prelevando tali dati dall’esterno e memorizzandoli in apposite celle di RAM appartenenti al dispositivo. Si parla in tal caso di dispositivi programmabili in campo (ad esempio di FPGA – Field Programmable Gate Array). Con l’ultima modalita’ di programmazione citata non vi e’ alcuna limitazione sul numero delle possibili riprogrammazioni e i dispositivi possono venire utilizzati in progetti in cui l’hardware cambi dinamicamente o quando sia necessario adattare l’hardware a diverse applicazioni. Una volta testato e consolidato il progetto si puo’ poi passare a versioni del dispositivo a maschere in cui le celle di RAM e la logica di connessione vengono rimpiazzate da metallizzazioni, conservando tuttavia la compatibilita’ con i componenti programmabili che sostituiscono. Gli elementi fondamentali dei dispositivi programmabili sono i blocchi di logica configurabile (Configurable Logic Block – CLB) e i blocchi di ingresso-uscita (Input Output Block – IOB). I primi costituiscono il supporto su cui verranno realizzate le funzioni logiche relative all’applicazione, i secondi le interfacce tra gli ingressi e le uscite del circuito integrato e le linee interne di segnale. Molto spesso sono poi disponibili anche altri elementi, quali buffer 3-state associati a ciascun CLB, decodificatori di indirizzi, oscillatori, ecc. La complessita’ e’ mediamente compresa tra 10.000 e 25.000 porte equivalenti, ma si puo’ giungere anche a 250.000 porte equivalenti. Senza alcuna pretesa di completezza la struttura di un blocco CLB potrebbe essere quella riportata nella figura 4.22, che rappresenta lo schema a blocchi di un dispositivo Xilinx (XC4000). C4 .... C1 4 N1 G4 G3 G2 G1 F4 F3 F2 F1 D in/H 2 SR/Ho Ec Bypass Controllo Funzione logica di S/R D YQ SD G4 .. G1 Funzione logica di H Ec RD 1 Fi , Gi , N1 Y Funzione logica di Controllo Bypass S/R D SD XQ F4 .. F1 Ec RD Clock 1 Multiplexer controllati dal programma di configurazione X figura 4.22 171 Capitolo IV Memorie e logiche programmabili All’ingresso si hanno due generatori di funzioni logiche (F e G) a quattro ingressi (F1 – F4 e G1 – G4), seguiti da un terzo (H), i cui ingressi possono essere le uscite dei precedenti, oppure possono provenire dall’esterno. Dato che il principio di funzionamento e’ quello delle tabelle di look-up, e’ possibile usare F e G come array di celle di memoria configurabili in 16x2, 32x1 o 16x1 bit. Si ha quindi disponibilita’ di RAM direttamente sul chip. Ogni CLB contiene poi due flip-flop di tipo D, che possono essere usati assieme ai due generatori di funzioni oppure indipendentemente. E’ possibile scegliere se rendere attivo il clock sul fronte di salita o su quello di discesa; si dispone inoltre di un ingresso di abilitazione per il clock (EC – clock enable) e di un ingresso di set (o di reset) asincrono. E’ interessante notare che la realizzazione del clock enable viene effettuata senza anteporre alcuna porta all’ingresso del clock in modo da evitare di introdurre ritardi indesiderati e da minimizzare il conseguente fenomeno del clock-skew, oltre che di possibili glitch. In funzione del segnale CE si fa passare l’ingresso esterno, oppure si fa ricircolare l’uscita, inibendo cosi’ il clock, come illustrato in figura 4.23. D D Q Q CE CLK figura 4.23 Per facilitare l’implementazione e per migliorare le prestazioni di sommatori, sottrattori, accumulatori, comparatori e contatori ogni cella contiene della logica aritmetica dedicata alla generazione veloce del riporto (Fast Carry Logic), che tuttavia nello schema semplificato di figura 4.22 non compare. I blocchi di ingresso e di uscita costituiscono poi l’interfaccia tra i terminali fisici del circuito integrato e la logica interna e sono configurabili dall’utente. Ogni IOB controlla un pin e puo’ essere configurato come ingresso, come uscita o come linea bidirezionale. I segnali possono uscire ed entrare direttamente dall’esterno oppure possono essere memorizzati in appositi flip-flop. In tutti i casi tuttavia i segnali vengono opportunamente amplificati con dei buffer. In figura 4.24 e’ riportato lo schema semplificato di un IOB. Pull-up Pull-down passivo Slew rate control CE Out D Q output buffer Output Clock PAD input buffer I1 I2 Input Clock Q D ritardo figura 4.24 172 Capitolo IV Memorie e logiche programmabili A maggior chiarimento delle possibili strutture dei blocchi di logica configurabile si possono citare gli elementi della serie FLEX 8000 dell’ALTERA, che hanno una struttura piu’ semplice di quelli citati, ma sostanzialmente presentano un’architettura analoga. L’elemento logico di base (Logic Element –LE) contiene un generatore di funzioni a quattro ingressi il cui principio di funzionamento e’ sempre quello delle tabelle di look-up, un flip-flop programmabile, una catena di riporto (carry) e quella che viene chiamata “cascade chain”, secondo la struttura illustrata in figura 4.25. Tabella di look-up carry in cascade in catena di Carry cascade chain D P Q LE out C logica di clear-preset selezione del clock clock carry out cascade out figura 4.25 Il generatore di funzioni permette di implementare qualsiasi funzione di quattro variabili. Il flip-flop programmabile puo’ venire configurato per funzionare come D, T, JK o SR. I segnali di controllo di clock, clear e preset possono essere sia segnali che provengono dall’esterno attraverso pin dedicati, sia segnali interni. Si noti inoltre che se si dovessero generare funzioni puramente combinatorie, il flip-flop puo’ essere scavalcato e l’uscita del generatore di funzioni puo’ venire riportata direttamente in uscita del blocco. L’architettura realizzata mette poi a disposizione due itinerari ad alta velocita’ per i dati, la catena di carry e la “cascade chain”, che permettono l’inteconnessione con le macrocelle adiacenti, purche’ appartenenti alla stessa riga, senza ricorrere alle risorse programmabili di connessione del dispositivo. La catena di carry fornisce una funzione di carry veloce (<1 nsec.) tra le macrocelle. Il segnale di carry-in dai bit di ordine piu’ basso viene utilizzato sia dalla LUT sia viene trasferito alla successiva porzione della catena di carry. Questa risorsa permette di implementare facilmente contatori e sommatori di qualsiasi lunghezza. La “cascade chain” permette di implementare funzioni combinatorie con un numero di ingressi anche molto elevato. LUT adiacenti possono essere utilizzate per calcolare in parallelo opportune porzioni della funzione; la “cascade chain” connette poi serialmente i valori intermedi utilizzando una logica AND o una logica OR (utilizzando il teorema di De Morgan) secondo lo schema illustrato in figura 4.26. 173 Capitolo IV Memorie e logiche programmabili AND cascade chain OR cascade chain LUT LUT LUT LUT LUT LUT figura 4.26 Ciascuna delle celle che sono state sommariamente descritte puo’ poi operare in uno di quattro modi fondamentali. In figura 4.27 sono illustrati per sommi capi questi quattro modi di funzionamento. Modo normale: tale modalita’ operativa viene utilizzata in applicazioni logiche di tipo generale e per realizzare funzioni logiche di un elevato numero di variabili, dove la “cascade chain” puo’ essere utilmente sfruttata. L’uscita della tabella di look-up (LUT) puo’ venire combinata con l’ingresso “cascade in” in modo da realizzare funzioni complesse. Modo aritmetico: In questo modo operativo sono disponibili due tabelle di look-up, ideali per realizzare sommatori, accumulatori e comparatori. Una delle due LUT realizza una funzione di tre variabili, l’altra sintetizza il bit di riporto (carry). Contatore bidirezionale: sono disponibili in tal caso segnali di abilitazione, di conteggio avanti/indietro sincrono, di caricamento di dati. Vengono usate due LUT da tre bit. La prima genera il dato di conteggio, la seconda un bit veloce di carry. Un multiplexer da due a una linea permette il caricamento sincrono del dato. E’ possibile anche il caricamento asincrono attraverso gli ingressi di clear e preset del flip-flop. Contatore azzerabile: questo modo di funzionamento e’ del tutto simile a quello del contatore bidirezionale con l’unica differenza che anziche’ una funzione di conteggio avanti/indietro viene implementato un azzeramento sincrono. 174 Capitolo IV Memorie e logiche programmabili MODO NORMALE CONTATORE BIDIREZIONALE cascade in carry in cascade in carry in LE out dato 1 dato 2 D Q LUT (4) LUT (3) LE out Q D 1 enable up/down 0 dato dato 3 dato 4 cascade out cascade out LUT (3) load carry out CONTATORE AZZERABILE MODO ARITMETICO carry in cascade in carry in LE out dato1 dato 2 D LUT Q D 1 enable clear (3) LUT (3) Q LE out 0 dato LUT cascade out LUT (3) cascade out (3) load carry out carry out figura 4.27 Gli elementi logici descritti vengono poi arrangiati in gruppi di otto, formando quelli che vengono chiamati “logic array block” (LAB), formando nell’insieme del componente una struttura a grana piu’ grossa che facilita un’efficiente interconnessione nelle strutture complesse di elevate prestazioni. Ciascun LAB (figura 4.28) dispone di quattro segnali di controllo che possono essere utilizzati in ciascuno degli otto elementi. Questi segnali, quali ad esempio il clock globale, il reset o il preset, che devono avere una bassa dispersione del ritardo per minimizzare i problemi di skew, possono essere ricavati da terminali di ingresso dedicati o attraverso i pin di I/O o ancora da qualsiasi segnale interno attraverso le linee di interconnessione tra i LAB. Interconnessione di riga 24 4 connessione tra riga e colonna 4 carry e cascade in dei LAB a sinistra interconnessione locale dei LAB interconnessione di colonna 2 4 32 canali 4 4 4 8 18 LE 1 LE 2 LE 3 segnali di controllo dei LAB 4 LE 4 4 LE 5 4 4 LE 6 LE 7 4 LE 8 8 2 carry e cascade out per i LAB a destra figura 4.28 175 Capitolo IV Memorie e logiche programmabili L’interconnessione tra LAB e dispositivi di I/O e’ assicurata da una serie di canali di comunicazione orizzontali e verticali che attraversano l’intero dispositivo. I LAB sono sistemati in una struttura a matrice e ogni riga di LAB ha una riga dedicata di interconnessioni che viene utilizzata per il colloquio bidirezionale dei LAB della stessa riga. Le interconnessioni di colonna servono al colloquio tra elementi di righe diverse, secondo quanto schematicamente illustrato in figura 4.29 canali di colonna (16) canali di riga ciascuna LE pilota un canale di riga LE1 LE2 reazioni locali ciascuna LE pilota fino a due canali di colonna figura 4.29 Infine ciascuna riga e ciascuna colonna e’ connessa ad un certo numero di elementi di I/O come riportato in figura 4.30. IOE IOE IOE IOE 1 IOE IOE 1 interconnessione di riga 8 IOE IOE 8 LAB A1 LAB A2 1 IOE IOE 1 8 IOE interconnessione locale del LAB IOE 8 LAB B1 LAB B2 interconnessione di colonna IOE IOE IOE IOE figura 4.30 La struttura logica di questi ultimi e’ riportata in figura 4.31. 176 Capitolo IV Memorie e logiche programmabili controlli di I/O alle interconnessioni di riga o di colonna dalle interconnessioni di riga o di colonna Q D inversione programmabile CLR controllo di slew rate figura 4.31 Ciascun pin di I/O puo’ venire utilizzato come ingresso, come uscita o in modo bidirezionale; e’ dotato di un registro che a sua volta puo’ essere utilizzato sia come elemento di ingresso che di uscita e permette l’aggiustamento delle entrate in modo da ottenere il miglior compromesso tra velocita’ operativa e rumore. E’ ovvio che le due architetture sommariamente descritte non sono le sole possibili. L’intento secondo il quale sono state presentate e’ semplicemente quello di dare un’idea della flessibilita’ e della complessita’ dei componenti VLSI disponibili al giorno d’oggi. Per maggiori approfondimenti si rimanda a testi specialistici sull’argomento. 4.10) I sistemi di sviluppo. Per gestire le potenti risorse dei dispositivi programmabili risulta indispensabile avvalersi di adeguati strumenti software. Normalmente tutte le case costruttrici forniscono sistemi di sviluppo completi per i loro componenti. Di solito si puo’ ritenere che la metodologia di progetto si sviluppi in tre passi, strettamente legati tra loro: ♦ Descrizione del progetto (tramite schema o descrizione testuale) ♦ Implementazione ♦ Verifica Il flusso operativo e’ riportato in figura 4.32 e, come si puo’ vedere, riguarda un procedimento iterativo durante il quale qualsiasi correzione e/o ottimizzazione fa ritornare in ogni caso alla fase di descrizione. 177 Capitolo IV Memorie e logiche programmabili simulazione funzionale Descrizione Verifica (Design verification) (Design entry) simulazione temporale schema o testo simulazione verifica sul circuito analisi temporale statica Implementazione (Design implementation) partizione, posizionamento e interconnessione figura 4.32 4.10.1) Descrizione delle funzionalita’ richieste (design entry). La descrizione grafica basata sullo schema circuitale e’ quella piu’ semplice e immediata. Oltre ai blocchi fondamentali presenti fisicamente nelle celle elementari della FPGA i sistemi di sviluppo offrono librerie di blocchi gia’ pronti corrispondenti a funzioni logiche piu’ o meno complesse, quali contatori, registri, multiplexer ecc. E’ inoltre possibile definire blocchi personalizzati basati su combinazioni di componenti presenti in libreria. L’approccio descritto e’ tuttavia conveniente solo per progetti relativamente semplici. Per sistemi piu’ complessi, descritti tramite equazioni booleane o macchine a stati logici, e’ piu’ conveniente fare riferimento alle descrizioni testuali come il VHDL (Very high speed integrated circuit Hardware Description Logic). In questo modo ci si svincola dalla struttura del dispositivo programmabile e si puo’ trasportare facilmente il progetto su PLD prodotti da altre case o comunque aventi differenti strutture interne. Esistono comunque dei punti di incontro tra i due metodi; e’ possibile infatti mescolarli all’interno dello stesso progetto, descrivendo alcuni blocchi per via grafica alcuni blocchi e altri tramite HDL. Molto spesso l’ambiente di sviluppo e’ in grado di gestire una struttura gerarchica, con livelli superiori descritti graficamente e livelli piu’ bassi, che definiscono la logica di ogni blocco, descritti nel modo piu’ opportuno. Comunque il risultato finale di questa fase del processo, qualsiasi sia il metodo utilizzato, e’ una “netlist”, cioe’ un elenco dei blocchi utilizzati e delle relative interconnessioni. 4.10.2) Verifica (design verification). La verifica di un progetto su PGA richiede una combinazione di test sul circuito stesso, simulazioni con e senza ritardi temporali, e stime dei tempi di propagazione sui vari percorsi del segnale, in modo da determinare situazioni critiche e limitanti per le prestazioni dell’intero sistema. Per comprendere meglio come vengano effettuate queste operazioni si consideri la figura 4.33. 178 Capitolo IV Memorie e logiche programmabili Design entry Functional simulation Implementation Static timing analysis Timing simulation figura 4.33 Simulazione funzionale. Una volta terminata la prima descrizione del circuito (Design Entry) si effettua una simulazione funzionale, cioe’ una verifica del funzionamento logico del sistema. In questa fase non si tiene conto dei ritardi introdotti dalla logica e dalle linee di interconnessione, ma si fa riferimento solo alla “netlist” in modo da rendere facilmente evidenti le relazioni causa-effetto tra ingresso e uscita di ogni blocco. Il sistema di sviluppo permette di selezionare direttamente sullo schema i punti da testare, imponendo opportuni stimoli sugli ingressi e verificando il conseguente andamento delle uscite mediante un’opportuna finestra di visualizzazione. Dopo aver effettuato la simulazione funzionale, se non si e’ verificato alcun errore di logica, si passa all’implementazione del circuito mediante le risorse del dispositivo scelto. Il passo successivo poi consiste nell’analisi temporale del sistema e viene eseguito utilizzando l’analizzatore temporale (Timing Analyzer) e la simulazione temporale (Timing Simulation). Implementazione (Design Implementation). Una volta scelto il dispositivo su cui effettuare l’implementazione e descritto correttamente il comportamento voluto per il sistema, appositi programmi provvedono a creare una corrispondenza tra le funzioni richieste e le risorse a disposizione, determinando il posizionamento ottimale e le connessioni tra i CLB e gli IOB. Queste operazioni vengono compiute con un buon grado di automazione, permettendo all’utilizzatore di intervenire o meno nelle varie fasi del processo. E’ possibile, per esempio, effettuare tramite un’opportuna interfaccia grafica un’operazione di “floorplanning”, cioe’ di disposizione “manuale” di alcuni o di tutti i blocchi su una certa area 179 Capitolo IV Memorie e logiche programmabili dell’array. Si possono inoltre introdurre vincoli sulla piedinatura e sulle temporizzazioni di alcuni segnali particolarmente critici. L’andamento dei vari passi dell’implementazione viene costantemente monitorato e documentato mediante opportuni file. Analisi temporale statica. Il “Timing Analyzer” permette di eseguire un’analisi temporale statica di un progetto “sbrogliato”, cioe’ di un progetto di cui siano stati definiti i percorsi che realizzano i vari segnali e collegano i blocchi necessari. Il termine “statica” e’ relativo al fatto che viene effettuata un’analisi dei percorsi che uniscono tutte le coppie di punti del circuito, senza inserire stimoli agli ingressi dei blocchi. Il circuito comunque deve essere sincrono, composto solo da flip-flop e da logica combinatoria. Il software permette di organizzare e visualizzare i dati necessari ad analizzare i percorsi critici nel circuito ed evidenzia i percorsi aventi i maggiori ritardi. Essendo basato sui dati dei ritardi tra i vari blocchi relativi ad ogni specifico dispositivo programmabile, e’ possibile verificare velocemente l’effetto dovuto all’utilizzo di chip con prestazioni diverse in termini di velocita’ di risposta. I dati necessari vengono forniti dalla casa costruttrice e vengono determinati nelle condizioni di funzionamento piu' gravose. I risultati delle analisi dei vari tipi di ritardo vengono riportati dal Timing Analyzer sotto forma di opportuni rapporti che riassumono i casi peggiori e danno la possibilita’ di stimare la massima frequenza di clock del dispositivo, valutata come l’inverso del massimo ritardo che si puo’ avere. I percorsi dei segnali del circuito si dividono in sei categorie fondamentali: • • • • • • Clock to Setup Clock to Pad Pad to Setup Pad to Pad Clock input Clock Skew Prima di descrivere i vari tipi di percorso e’ opportuno ricordare che viene definito tempo di setup l’intervallo di tempo entro il quale il segnale di ingresso deve essere stabile prima che il clock divenga attivo, mentre viene definito tempo di hold l’intervallo di tempo entro il quale il segnale di ingresso deve rimanere stabile dopo che il clock e’ tornato passivo. clock to setup Questo tipo di percorso inizia all’uscita Q di un flip-flop o di un latch e termina all’ingresso di un altro flip-flop, latch o RAM, elementi che necessitano di un periodo di assestamento (setup time) prima che agisca il clock. Esso comprende il ritardo che si ha nel primo flip-flop, da quando agisce il clock a quando e’ disponibile la corrispondente uscita (clock-to-Q-delay), il ritardo dovuto al percorso da un flip-flop all’altro e il tempo di setup del secondo flip-flop. Il tempo che il segnale impiega sull’intero percorso deve essere minore del periodo di clock. In figura 4.34 e’ rappresentato un generico percorso di questo tipo con il corrispondente diagramma di temporizzazione. 180 Capitolo IV Memorie e logiche programmabili D Q interconnessioni e logica D Q Clock clock dato valido dato valido ritardo da clock a uscita ritardo della logica e delle interconnessioni tempo di setup ritardo del percorso e minimo periodo di clock figura 4.34 Clock to Pad Un percorso di questo tipo ha inizio all’uscita di un flip-flop e termina su un pin di uscita del chip. Esso comprende il ritardo clock-to-Q del flip-flop e il ritardo relativo al percorso che porta all’uscita, come illustrato in figura 4.35. D Q interconnessioni e logica pad Clock clock dato valido dato valido ritardo da clock a uscita ritardo della logica e delle interconnessioni ritardo del percorso periodo minimo di clock figura 4.35 181 ritardo d'uscita margine esterno Capitolo IV Memorie e logiche programmabili Pad to setup Il percorso ha inizio su un ingresso del chip e termine all’ingresso di un flip-flop o di una RAM. Il tempo corrispondente a tale percorso e’ quello richiesto al dato per entrare nel chip, attraversare la logica e3 le risorse di connessione presenti e arrivare al flip flop prima che agisca il clock, come mostrato in figura 4.36. interconnessioni e logica pad D Q Clock clock dato valido dato valido margine esterno ritardo di ingresso ritardo della logica e delle interconnessioni tempo di setup ritardo del percorso periodo minimo di clock figura 4.36 Pad to pad Il percorso inizia su un ingresso del chip e termina su un pin di uscita. Il tempo corrispondente e’ il massimo tempo richiesto affinche’ il segnale entri nel chip, si propaghi attraverso la logica e i collegamenti e lasci il chip. In questo caso non vi e’ alcuna relazione con il segnale di clock e in figura 4.37 e’ schematizzato un tale tipo di percorso. interconnessioni e logica pad pad dato valido dato valido ritardo di ingresso ritardo della logica e delle interconnessioni ritardo del percorso figura 4.37 182 ritardo di uscita Capitolo IV Memorie e logiche programmabili Clock input Un percorso del tipo Clock Input puo’ avere inizio a un ingresso del chip, oppure all’uscita di un flip-flop o una RAM, mentre ha termine sull’ingresso di clock di un flip-flop. Il corrispondente tempo rappresenta il massimo tempo necessario al segnale per raggiungere il pin di destinazione (figura 4.38). D Q interconnessioni e logica Clock input clock input pin di clock ritardo del clock figura 4.38 Clock skew Per il Timing Analyzer il clock skew e’ dato dall’intervallo temporale che intercorre tra gli istanti in cui agiscono due clock che siano connessi alla stessa linea. Questo fenomeno e' dovuto alle diverse lunghezze dai percorsi che portano il clock agli elementi di destinazione e influisce sulla massima frequenza di clock utilizzabile. Come si vede dalla figura 4.39 si possono avere due tipi di clock skew, positivo o negativo, a seconda che il clock giunga al flip-flop di destinazione prima o dopo di quando arrivi all’altro flip-flop. D Q interconnessioni e logica D Q FF2 FF1 Clock clock a FF1 clock a FF1 clock a FF2 clock a FF2 clock skew clock skew periodo di clock periodo di clock figura 4.39 183 Capitolo IV Memorie e logiche programmabili E’ ovvio che i parametri appena definiti vengono determinati per ciascuno dei clock del sistema. Oltre ai risultati relativi ai casi peggiori e’ possibile studiare i ritardi relativi a un qualunque percorso scelto sul circuito, selezionando il punto di partenza, quello di arrivo, oppure il percorso piu’ lungo o quello piu’ lento e escludendo eventualmente particolari collegamenti. E’ possibile ottenere un resoconto dettagliato passo per passo con l’indicazione del ritardo dovuto alla logica e quello dovuto al tempo di propagazione sulle linee che uniscono ogni blocco al successivo. Se nel circuito vi sono percorsi critici, noti a priori, ovvero evidenziati da analisi precedenti, e’ di solito possibile imporre su di essi vincoli mediante opportune specifiche temporali che fissano i massimi ritardi ammessi. Simulazione temporale. La simulazione temporale viene eseguita aggiornando la “netlist” ottenuta dalla descrizione funzionale con i dati relativi ai ritardi e ai tempi di propagazione determinati dopo aver effettuato le operazioni di posizionamento dei blocchi logici (placing) e di interconnessione (routing). Si utilizza una tecnica chiamata “back annotation”, che consiste nel creare una corrispondenza tra le informazioni temporali, i nomi dei segnali e i simboli utilizzati negli schemi. In tal modo e’ possibile eseguire la simulazione temporale utilizzando gli stessi stimoli e gli stessi punti di test di quella funzionale, permettendo di confrontare piu’ facilmente i risultati. Il simulatore e’ in grado di determinare e visualizzare automaticamente violazioni sui tempi di setup, di hold e sulla durata minima dei cicli di clock, permettendo di localizzarle e di stabilirne le cause. Programmazione. Una volta giunti a risultati soddisfacenti da tutte e tre le fasi del processo, eventualmente provando su dispositivi con potenzialita’ piu’ ampie, si passa alla programmazione della PGA utilizzando il file di configurazione ottenuto nella fase di implementazione. Spesso tale file viene caricato su una EPROM dalla quale viene a sua volta caricato all’atto dell’accensione in apposite celle di RAM all’interno della PGA. La possibilita’ di sostituire le EPROM permette di riconfigurare il sistema anche “sul campo” in tempi brevissimi. 4.11) Frequenza massima di funzionamento di un sistema sequenziale. Per definire la massima frequenza di commutazione di un dispositivo sequenziale i costruttori fanno riferimento a semplici sistemi quale quello illustrato in figura 4.40 D Q clock uscita clock uscita figura 4.40 184 Capitolo IV Memorie e logiche programmabili Nella connessione illustrata in tale figura il flip-flop D si comporta come un T, commutando in corrispondenza ad ogni fronte attivo del clock e realizzando un divisore binario. Ovviamente la situazione prospettata e’ ottimale e normalmente le condizioni di lavoro saranno piu’ pesanti di quella illustrata a causa di altri elementi combinatori o sequenziali che si possono trovare inseriti nei loop di reazione. In altre parole la struttura presentata in figura 4.40 sara’ presumibilmente quella che puo’ commutare alla massima velocita’ e non rappresentera’ casi realistici. Per qualsiasi rete sequenziale si puo’ tuttavia utilizzare un semplice modello di ritardo, derivato dal modello fondamentale dei circuiti sequenziali. Si sa infatti che un qualunque sistema sequenziale puo’ venire rappresentato dal modello di figura 4.41, realizzato con una rete puramente combinatoria e con uno o piu’ loop di reazione in cui si trovano inseriti elementi di memoria. ingressi Rete combinatoria stato attuale memoria uscite stato futuro clock figura 4.41 Fissando allora l’attenzione su un determinato stato iniziale l’evoluzione del circuito potra’ venire studiata con riferimento al modello di figura 4.42. ingressi stato attuale Rete combinatoria MEM uscite ingressi della memoria MEM clock figura 4.42 E’ evidente che per un corretto funzionamento del sistema il periodo T del clock non dovra’ essere inferiore al tempo che impiega un qualsiasi segnale ad attraversare la rete combinatoria. E’ 185 Capitolo IV Memorie e logiche programmabili necessario quindi individuare il percorso critico, cioe’ quello che e’ caratterizzato dal massimo ritardo di propagazione. In realta’ la situazione e’ piu’ complessa in quanto, a rigore, sarebbe necessario tenere anche conto del tempo di set-up e di propagazione degli elementi di memoria. In termini di diagramma di temporizzazione la situazione sara’ quella illustrata in figura 4.43. T clock ts ts stato (ingresso) t pmax ingressi della memoria stato (uscita) t co figura 4.43 In sostanza pertanto il periodo di clock non potra’ essere inferiore a t co + t p max + t s dove con tco si e’ indicato il tempo di propagazione dell’elemento di memoria, con tpmax il tempo di propagazione del cammino critico e con ts il tempo di set-up sempre dell’elemento di memoria. E’ ovvio che per tco e ts si devono prendere in considerazione i valori massimi forniti dal costruttore. L’analisi del problema non e’ semplice da svolgere a tavolino quando il sistema sequenziale sia appena complesso. Si ricorre allora, come detto nei paragrafi precedenti, alla simulazione utilizzando programmi che permettono di calcolare con buona precisione i tempi di ritardo e di segnalare qualsiasi violazione delle esigenze di temporizzazione. 186 Capitolo V Comparatori, multivibratori e bistabili. Capitolo V Comparatori, multivibratori e bistabili. 5.1) I comparatori. I comparatori sono dispositivi dotati di due ingressi, v1 e v2 e di un’uscita vo. Uno degli ingressi viene di solito posto ad una tensione di riferimento costante, mentre all’altro viene applicato un segnale. Supponendo che tale segnale sia applicato all’ingresso v1, mentre all’altro ingresso v2 sia applicata la tensione di riferimento VR, la tensione d’uscita del comparatore sara’: se v1 − VR < 0 V1 vo = V 2 V1 ≠ V2 con se v1 − VR > 0 In sostanza un comparatore permette di discriminare tra il caso in cui v1<VR e quello in cui v1>VR e la relativa caratteristica di trasferimento e’ riportata in figura 5.1 (a). vo vo V2 V2 (b) (a) VR VR vi V1 vi V1 figura 5.1 Qualora si indichi con vi la differenza v1 –VR la caratteristica di trasferimento diviene quella riportata in figura 5.1 (b). Un amplificatore differenziale approssima il comportamento di un comparatore. Tuttavia la caratteristica dell’amplificatore differenziale, riportata in figura 5.2, non e’ perfettamente verticale nella zona di transizione tra i due livelli di uscita in quanto in tale zona il guadagno non e’ infinito. Rimane cioe’ individuata una zona d’incertezza in cui la tensione d’uscita non ha ne’ il valore V1 ne’ quello V2. Se, ad esempio il guadagno dell’amplificatore differenziale fosse 100, nelle condizioni della figura 5.2 la zona d’incertezza sarebbe di 200 mV. Si tenga tuttavia presente che gli amplificatori operazionali sono essi stessi amplificatori differenziali. Numerosi amplificatori operazionali vengono progettati per funzionare come comparatori quando vengano usati senza far uso della rete di reazione negativa. La zona d’incertezza diviene pertanto molto stretta nell’intorno dell’origine in virtu’ dell’alto guadagno di un amplificatore operazionale non reazionato. 187 Capitolo V Comparatori, multivibratori e bistabili. vo +10 V vi zona di incertezza -10 V figura 5.2 In aggiunta, non e’ piu’ necessario compensare l’amplificatore per assicurarne la stabilita’ e quindi esso avra’ una larghezza di banda superiore a quella degli amplificatori compensati e di conseguenza una maggior velocita’ operativa. Con tali tecniche l’ampiezza della zona di incertezza e’ dell’ordine della decina di µV, mentre il tempo di risposta, definito come il tempo necessario affinche’ il comparatore cambi stato, sara’ compreso tra i 20 e i 200 nsec. Se si volesse poi rendere la tensione d’uscita indipendente dalle tensioni d’alimentazione, si puo’ ricorrere ad un tosatore realizzato con due diodi zener, come illustrato in figura 5.3, avendo cura di scegliere la resistenza R di un valore tale da far lavorare i diodi ad una corrente superiore a quella minima di zener aumentata di quella che viene assorbita dall’eventuale carico connesso in uscita. v1 v2 R + - vo figura 5.3 E’ ovvio inoltre che scegliendo qual’e’ il morsetto cui applicare il segnale e qual’e’ quello cui applicare la tensione di riferimento VR, si possono ottenere comparatori non invertenti e comparatori invertenti. I comparatori vengono utilizzati in un gran numero di applicazioni, di cui alcune verranno prese in considerazione nei paragrafi successivi. Di particolare interesse sono quelle relative alla generazione di forme d'onda. 188 Capitolo V Comparatori, multivibratori e bistabili. 5.1.1) Squadramento di un’onda sinusoidale. La piu’ banale utilizzazione di un comparatore e’ quella che permette di passare da un’onda sinusoidale ad un’onda quadra di uguale periodo. Se, infatti, la tensione di riferimento VR viene posta a zero, l’uscita variera’ tra i due livelli ogni volta che la sinusoide attraversa lo zero. La velocita’ della transizione sara’ determinata dallo slew-rate del comparatore. E’ pertanto semplice, qualora si conoscano lo slew-rate e i livelli di tosatura, valutare il tempo di salita e di discesa dell’onda quadra d’uscita 5.1.2) Generazione di impulsi. Se in cascata allo squadratore viene connesso un circuito differenziatore, come illustrato in figura 5.4, si ottiene una struttura che fornisce in uscita una serie di impulsi, positivi quando lo squadratore esegue la transizione basso-alto, negativi nel caso opposto. T vi + D C vo - R Rc figura 5.4 E’ evidente che per un corretto funzionamento la costante di tempo del gruppo RC deve essere piccola rispetto il periodo T dell’onda quadra. Se poi si volessero impulsi di un solo segno e’ sufficiente inserire in cascata il diodo D e il resistore Rc. La polarita’ degli impulsi ricavati dipende evidentemente dal verso con cui il diodo viene inserito in circuito. Lo squadratore e il generatore di impulsi presentati non sono tuttavia esenti da critiche. Se, infatti, l’ampiezza del segnale vi e’ molto prossima allo zero, la presenza di segnali spuri, ad esempio rumore, potrebbe far commutare il comparatore anche quando non dovrebbe. Questo effetto puo’ venire ridotto ricorrendo a comparatori rigenerativi, cioe’ a comparatori che fanno uso di una retroazione positiva. Un ulteriore vantaggio che in tal caso si consegue e’ anche quello di ridurre il tempo di commutazione. 5.1.3) Il trigger di Schmitt. Si consideri il circuito illustrato in figura 5.5. 189 Capitolo V Comparatori, multivibratori e bistabili. vs vi R - vo + R1 vr R2 figura 5.5 Il segnale sia applicato all’ingresso invertente, mentre a quello non invertente sia applicata la tensione di reazione vR. Se la resistenza di uscita del comparatore e’ trascurabile rispetto a R1+R2 e contemporaneamente l’impedenza dell’ingresso non invertente e’ molto elevata (ipotesi normalmente realizzate), si puo’ affermare che: vR = R2 .v o R1 + R 2 Da quanto visto per gli amplificatori operazionali, con vs = 0 si ha vi = vR e vo = Ao.vi, dove con Ao si e’ indicato il guadagno a catena aperta del comparatore. In definitiva, con semplici passaggi si ottiene un guadagno d’anello pari a: T=− R2 .A o R1 + R 2 Poiche’ Ao ha valori molto elevati e’ possibile rendere T in modulo considerevolmente superiore all’unita’. E’ immediato verificare, anche qualitativamente, che la reazione e’ positiva. Se, infatti, l’uscita aumentasse di ∆vo, il segnale riportato all’ingresso non invertente sarebbe R2 .∆v o R1 + R 2 e l’uscita crescerebbe ulteriormente di una quantita’ pari a: ∆v o .A o . R2 = −T.∆v o R1 + R 2 tendendo pertanto ad allontanarsi ulteriormente dal valore iniziale. 190 Capitolo V Comparatori, multivibratori e bistabili. L’effetto della reazione pertanto, anziche’ ridurre l’errore, tende a far divergere l’uscita, confermando che si e’ in presenza di una reazione positiva. Indicando con Vo la quantita’ Vz+VD, dove VD e’ la tensione diretta e Vo la tensione di zener dei diodi, e supponendo che vs sia minore di VR in modo tale che vo = +Vo, si ricava che: vR = R2 .v o = V1 R1 + R 2 Facendo ora aumentare il valore di vs la situazione permane inalterata finche’ non viene raggiunto il valore V1. In corrispondenza a tale valore, detto tensione di soglia, il comparatore commuta e la sua uscita si porta a – Vo, dove rimarra’ finche’ vs e’ maggiore di vR. Tale tensione si e’ tuttavia modificata e nelle nuove condizioni operative e’ pari a: v R = − Vo . R2 = V2 R1 + R 2 Per ritornare alle condizioni iniziali sara’ quindi necessario che la tensione di ingresso vs scenda al di sotto di V2. Si hanno cioe’ due tensioni di soglia, di cui la prima rappresenta la soglia di scatto quando il segnale ha derivata positiva, la seconda la soglia di scatto con un segnale a derivata negativa. La caratteristica di trasferimento e’ illustrata in figura 5.6 in cui sono evidenziate le traiettorie seguite in salita e in discesa. vo Vo V1 V2 vs -Vo figura 5.6 In tale diagramma si nota la presenza di un ciclo di isteresi che permette di evitare commutazioni spurie in presenza di segnali di disturbo, almeno finche’ la loro ampiezza si mantiene inferiore alla larghezza del ciclo. Nelle ipotesi che sono state prese in considerazione tuttavia le soglie di scatto si trovano posizionate simmetricamente rispetto allo zero; pero’ se il partitore di uscita viene terminato su una tensione ausiliaria VA anziche’ a massa, le due tensioni di soglia rimangono determinate in: V1 = VA + R2 .(Vo − VA ) R1 + R 2 V2 = VA − 191 R2 .(Vo + VA ) R1 + R 2 Capitolo V Comparatori, multivibratori e bistabili. Se ad esempio si assumesse Vo = Vz+VD = 7 V, R1 = 100 Ω, R2 = 10 kΩ e VA = 1 V si avrebbe: V1 = 1 + 0,1.6 = 1,059 10,1 V2 = 1 − V 0,1.8 = 0,921 10,1 V e la differenza tra questi due valori V1 − V2 = 2. R2 .Vo R1 + R 2 che nel caso in esame e’ pari a 0,138 V, fornisce l’ampiezza del ciclo di isteresi. Tale ampiezza e’ legata al guadagno d’anello; se questo e’ esattamente uguale a –1 il ciclo di isteresi si annulla. Tuttavia il guadagno complessivo del sistema reazionato e’ molto elevato e la commutazione avviene con estrema rapidita’. Nella pratica si sceglie un valore di |T| leggermente superiore all’unita’ ottenendo un valore di isteresi relativamente piccolo e una velocita’ di commutazione lievemente inferiore alla massima ottenibile. Nel caso che si sta esaminando, supponendo che il guadagno a catena aperta sia pari a 104 il guadagno d’anello diventa T=− 0,1.10 4 = 99 10,1 e da’ luogo ad un’isteresi relativamente ampia. Un trigger di Schmitt puo’ essere realizzato facilmente anche a componenti discreti. Un esempio in cui vengono utilizzati transistori a giunzioni e’ riportato in figura 5.7. Vcc I c1 R1 R2 I c2 Vc1 Vo Vin RE VE figura 5.7 Per un adeguato funzionamento e’ necessario che le due resistenze di carico di collettore R1 e R2 abbiano valore diverso con R1 > R2 in modo che le due correnti Ic1 e Ic2 abbiano diverso valore quando i rispettivi transistori T1 e T2 vengono portati in saturazione. Si supponga, infatti, che la tensione Vin di ingresso sia nulla. In queste condizioni T1 sara’ interdetto, mentre T2 sara’ lievemente saturato se R1 e’ stata scelta in maniera opportuna. Pertanto 192 Capitolo V Comparatori, multivibratori e bistabili. Vo = Vcc − R 2 .I c 2 (sat ) e se il guadagno di corrente β f = I c (sat ) Ib si puo’ ancora considerare molto maggiore dell’unita’, al- lora VE ≅ R E .I c 2 (sat ) Per portare in conduzione T1 sara’ allora necessaria una tensione di ingresso pari a Vin = VBE (on ) + VE La diminuzione di Vc1, dovuta alla caduta su R1, tende tuttavia a portare T2 verso l’interdizione; la tensione di uscita Vo pertanto sale e tende al valore Vcc. Quando T1 e’ giunto alla soglia della saturazione e T2 all’interdizione la tensione VE sara’ diventata pari a VE = R E .I c1(sat ) Poiche’ tuttavia R1 > R2 si avra’ Ic1(sat) < Ic2(sat) e quindi per riportare T1 in interdizione la tensione di ingresso Vin dovra’ scendere al di sotto del valore R E .I c1(sat ) + VBE (on ) < R E .I c 2 (sat ) + VBE (on ) Si ha quindi anche in questo caso un’isteresi e il fatto che durante la transizione di Vin da valori bassi a valori elevati la soglia di commutazione si abbassi permette di affermare che una volta che la tensione di ingresso abbia superato il valore R E .I c 2 (sat ) + VBE (on ) la commutazione di T1 e’ favorita, mettendo in evidenza l’esistenza di un fenomeno rigenerativo a tutto vantaggio della velocita’ di commutazione. 5.1.4) Generatori di onda quadra. Un oscillatore con uscita ad onda quadra puo’ essere realizzato connettendo tra uscita e ingresso invertente di un trigger di Schmitt una rete RC di reazione. Il relativo circuito assieme alle forme d’onda di interesse e’ riportato in figura 5.8 Con riferimento a tale figura la tensione differenziale di ingresso vi puo’ essere valutata in v i = v c − v1 = v c − β.v o R2 . R1 + R 2 Indicando con Vo la somma della tensione di uno dei diodi zener e della caduta diretta dell’altro diodo, la tensione di uscita sara’ vo =Vo se vi < 0, mentre se vi > 0 assumera’ il valore vo = -Vo. dove β = 193 Capitolo V Comparatori, multivibratori e bistabili. V R vo A C vi - R3 + vo β vo R1 T/2 vc T vc R2 v1= βvo t −β vo -vo figura 5.8 Si prenda allora in considerazione la situazione in cui vi < 0 o in altre parole vc < βVo, quando cioe’ la tensione di uscita vo ha assunto il valore Vo. Cio’ significa che il condensatore C si sta caricando esponenzialmente con costante di tempo RC verso li valore Vo. In questa situazione l’uscita rimane fissata al valore Vo finche’ la tensione vc non raggiunge il valore βVo. In questo istante la tensione di uscita commuta a – Vo e il condensatore inizia a portarsi, sempre in modo esponenziale con costante di tempo RC, verso la tensione – Vo. Anche in questo caso la tensione di uscita permane inalterata finche’ vc non scende al di sotto del valore βVo facendo ricommutare l’uscita a Vo e riiniziando il ciclo. Se si indica con t = 0 l’istante in cui vc = -βVo l’evoluzione della tensione ai capi di C e’: t t − − v c (t ) = −β.Vo + (Vo + β.Vo ).1 − e RC = Vo .1 − (1 + β ).e RC Indicando poi con T/2 l’istante in cui vc(t) raggiunge il valore β.Vo e tenendo presente la simmetria di funzionamento nei due semiperiodi dell’onda quadra d’uscita, il periodo T puo’ venir ricavato ponendo t = T/2 e risolvendo rispetto a T l’espressione precedente. Si ottiene: T = 2.RC. ln R 1+ β = 2.RC. ln1 + 2 1− β R1 Il periodo dell’onda quadra puo’ quindi essere controllato agendo sulla costante di tempo RC ed e’ indipendente da Vo. La frequenza tuttavia non puo’ essere fatta salire troppo in alto, perché lo slew-rate del comparatore determina fronti d’onda non verticali. Se si volesse ottenere un’onda rettangolare con semiperiodi di diversa durata, la resistenza R puo’ essere sostituita dall’arrangiamento circuitale di figura 5.9 in modo che il condensatore C si carichi nei due semiperiodi con costante di tempo diversa. 194 Capitolo V Comparatori, multivibratori e bistabili. figura 5.9 In alternativa nel nodo A (figura 5.8) si puo’ sommare tramite una resistenza R un’opportuna tensione Vp. In tal caso nella prima semionda il condensatore si carichera’ con una costante di tempo pari a RC/2 verso il valore (Vp + Vo)/2, mentre nel secondo semiperiodo tendera’, sempre in modo esponenziale e con la medesima costante di tempo, al valore (Vp –Vo)/2. Si lascia al lettore il compito di determinare, a titolo d’esercizio, la durata dei due semiperiodi. 5.1.5) Generatori di onda triangolare. La forma dell’onda prelevabile ai capi del condensatore C del generatore d’onda quadra del paragrafo precedente ha un andamento approssimativamente triangolare. Tuttavia l’effettivo andamento e’ formato da archi di esponenziale in quanto tale capacita’ viene caricata e scaricata a tensione costante attraverso la resistenza R. Si puo’ allora pensare di rendere effettivamente rettilinea la forma d’onda facendo si’ che la capacita’ si carichi e scarichi a corrente costante, utilizzando un integratore, come illustrato nello schema di figura 5.10. C v2 = VR v1 R3 - R vo + R1 R2 - Vs + vo' (t) VA v(t) Vmax VR . R 1+ R 2 R2 Vmin T T1 T2 figura 5.10 195 t Capitolo V Comparatori, multivibratori e bistabili. Si noti che a causa dell’inversione introdotta dall’integratore la tensione di uscita non viene riportata all'ingresso invertente del comparatore, ma viene utilizzata come riferimento VA del partitore formato dalle resistenze R1 e R2. Si supponga allora che vo (tensione di uscita del trigger di Schmitt) si trovi inizialmente al valore -Vo. L’uscita dell’integratore v ,o sara’ allora una rampa di tensione a derivata positiva e la tensione v1 all’ingresso non invertente del comparatore sara’, per il principio di sovrapposizione degli effetti: v1 = − R2 R1 .Vo + .v ,o R1 + R 2 R1 + R 2 Quando tale tensione raggiunge il valore della tensione di riferimento VR, presente all’ingresso invertente del comparatore, quest’ultimo scatta, facendo passare la sua tensione di uscita al valore +Vo. L’uscita dell’integratore diviene allora una rampa a derivata negativa e indicando con Vmax la tensione di uscita dell’integratore alla quale avviene la commutazione, dalla relazione precedente si ricava per v1 = VR che: Vmax = R1 + R 2 R .VR + 2 .Vo R1 R1 Con considerazioni analoghe si puo’ trovare che il minimo valore della tensione di uscita e’: Vmin = R1 + R 2 R .VR − 2 .Vo R1 R1 Pertanto l’escursione picco-picco della tensione triangolare di uscita e’: Vmax − Vmin = 2.Vo . R2 R1 Si vede quindi che l’ampiezza dell’oscillazione puo essere controllata variando il rapporto tra le due resistenze R1 e R2, mentre il suo valor medio puo’ essere variato agendo su VR. In particolare se VR = 0 l’onda triangolare di uscita ha valor medio nullo. Per determinare il periodo della forma d’onda in corrispondenza a Vs = 0 e’ sufficiente osservare che all’uscita dell’integratore la tensione evolve nel tempo secondo la: v ,o (t ) = − 1 .Vo .t R.C 1 .Vo . R.C Nel primo semiperiodo (T1) tale tensione deve variare tra Vmax e Vmin e pertanto e quindi la sua velocita’ di variazione e’ in valore assoluto pari a R 1 .V0 .T1 = Vmax − Vmin = 2.Vo . 2 R.C R1 196 Capitolo V Comparatori, multivibratori e bistabili. Si ottiene quindi: T1 = 2. R 2 .R.C R1 Stante la simmetria dei due semiperiodi, per la situazione che si sta considerando si conclude pertanto che: T = 4. R.R 2 .C R1 che come si puo’ notare e’ indipendente da Vo. Quando invece Vs fosse diversa da zero le due rampe che formano l’onda triangolare hanno pendenza diversa. Una, infatti, avra’ una pendenza pari a (Vo + Vs ) / RC , l’altra (Vo − Vs ) / RC . E’ facile allora dimostrare che il rapporto tra i due semiperiodi T1 e T2 e’ dato da: T1 Vo − Vs = T2 Vo + Vs L’uso di una tensione Vs permette quindi di variare il duty cycle δ, definito come δ = ottiene quindi: 1 Vs 1 − 2 Vo δ= e la variazione di δ e’ lineare con Vs. Anche il periodo T varia con Vs. Si ha, infatti, per quanto detto: T1 = 2. T2 = 2. R.R 2 .C 1 . R 1 1 + Vs Vo R.R 2 .C . R1 e di conseguenza 197 1 V 1− s Vo T1 . Si T Capitolo V Comparatori, multivibratori e bistabili. R.R 2 .C 1 R.R 2 .C 1 1 T = T1 + T2 = 2. . + = 4. . Vs V R1 R1 V 1− s 1+ 1 − s V V o o Vo 2 Si vede pertanto che, rispetto al caso in cui Vs = 0 il periodo varia secondo il fattore V 1 − s Vo 2 e che man mano che la tensione Vs cresce, la frequenza del segnale generato diminuisce. 5.1.6) Il circuito monostabile. Il generatore d’onda quadra del paragrafo 5.1.4 puo’ essere modificato inserendo in parallelo al condensatore C un diodo di tosatura, secondo lo schema di figura 5.11. Si ottiene in tal caso un circuito atto a generare, in corrispondenza ad un opportuno segnale di trigger, un impulso d’uscita di prefissata durata. In sostanza il circuito si trova normalmente in una situazione stabile e solo in presenza di un opportuno segnale d’ingresso commuta la sua uscita, rimanendo in tale situazione per un prefissato periodo T, dopodiche’ ritorna alla condizione di partenza. Un circuito con tale tipo di funzionamento prende il nome di circuito monostabile. vc = v1 D1 t R vc C D2 vi + t verso Vo R3 vo V1 v2 = β vo t T' τ vo R2 V1 T R1 - β Vo Vo T v Vo verso -Vo t - Vo figura 5.11 Si assuma che il sistema si trovi nel suo stato stabile con vo = +Vo. In questa situazione la tensione ai capi del condensatore rimane fissata dal diodo al valore V1 approssimativamente pari a 0,7 V. E’ ovvio che, affinche’ la situazione descritta sia reale, la tensione di soglia βVo deve essere maggiore di V1. Se ora all’ingresso non invertente viene applicato un impulso di trigger (negativo) d’ampiezza superiore a βVo – V1, il comparatore commuta e la sua uscita si porta a – Vo. E’ opportuno far notare che in questa discussione il diodo D2 non ha alcuna rilevanza, se non quella di impedire che eventuali impulsi positivi spuri che si possono presentare all’ingresso possano andare a disturbare il corretto funzionamento. 198 Capitolo V Comparatori, multivibratori e bistabili. Nella nuova situazione il condensatore si carichera’ esponenzialmente verso il valore – Vo con costante di tempo RC e, quando ai suoi capi la tensione sara’ scesa al di sotto di -βVo, il comparatore commutera’ nuovamente riportando l’uscita al valore +Vo. Il condensatore allora riprende a caricarsi esponenzialmente verso tale valore, ma quando ha raggiunto il valore V1 il diodo D1 passa in conduzione esercitando la sua azione di tosatura. La durata T dell’impulso e’ facilmente determinabile. Durante tale intervallo infatti l’andamento della tensione vc ai capi del condensatore e’: t − R .C v c (t ) = V1 − (Vo + V1 ).1 − e Ponendo in questa relazione vc(t) = -βVo e t = T e risolvendo rispetto T si ottiene: V1 Vo T = R.C. ln 1− β 1+ Se e’ possibile affermare, come normalmente avviene, che Vo >> V1 e si pone R1 = R2, da cui consegue che β = ½, allora: T = R.C. ln 2 = 0,69.R.C E’ bene far osservare che la durata dell’impulso di trigger deve essere molto minore della durata T dell’impulso d’uscita e che l’impulso successivo di trigger deve essere a distanza T’ alquanto superiore della durata T poiche’ la tensione ai capi del condensatore C raggiunge il suo valore di riposo V1 solo dopo un tempo T’ > T. E’ possibile tuttavia realizzare circuiti monostabili in cui tale vincolo viene rimosso. Si puo’ cioe’ riapplicare l’impulso di trigger addirittura quando l’impulso d’uscita non e’ ancora terminato, prolungandolo per un ulteriore periodo T. Un circuito che si comporta in tal modo prende il nome di monostabile retriggerabile. Un possibile arrangiamento circuitale e’ riportato in figura 5.12. + Vcc R1 R + + v C - vc R2 -VGG figura 5.12 199 vo Capitolo V Comparatori, multivibratori e bistabili. Nello stato di riposo il JFET d’ingresso a causa della polarizzazione di gate risulta interdetto; di conseguenza il condensatore C e’ carico alla tensione Vcc e tale tensione e’ applicata all’ingresso invertente del comparatore. All’ingresso non invertente e’ invece applicata la tensione β Vcc = R2 .Vcc R1 + R 2 L’uscita del comparatore si trova quindi al livello basso – Vo. Si supponga ora di applicare all’ingresso del JFET un impulso positivo tale da portarlo in conduzione. Il condensatore allora si scarica attraverso il JFET, con una corrente anche rilevante e con un andamento inizialmente a rampa, che diventa esponenziale quando il JFET entra nella zona di funzionamento resistiva. Non appena la tensione vc scende al di sotto di βVcc il comparatore commuta e la sua uscita si porta a + Vo. L’impulso di trigger sia sufficientemente lungo da scaricare in maniera pressocche’ completa il condensatore. Alla fine dell’impulso, quest’ultimo iniziera’ a caricarsi esponenzialmente, con costante di tempo RC verso il valore Vcc e non appena sara’ raggiunta le tensioni di soglia βVcc il comparatore tornera’ a commutare riportando la sua uscita al valore – Vo. La durata T dell’impulso d’uscita e’ evidentemente data da: R T = R.C. ln1 + 2 R1 L’espressione ricavata e’ evidentemente approssimata in quanto non tiene conto dell’intervallo che intercorre tra l’istante in cui vc scende al di sotto di βVcc e quello Tp in cui l’impulso d’ingresso ritorna a zero, tuttavia se le ipotesi fatte sono rispettate e se Tp <<T non si commette un grande errore. Un aspetto interessante tuttavia risiede nel fatto che nel caso in esame non e’ piu’ necessario attendere che il condensatore C sia ritornato nella condizione di riposo prima di applicare un successivo impulso di trigger. Il nuovo impulso puo’ essere fornito immediatamente dopo l’intervallo T o addirittura quando l’impulso d’uscita e’ ancora presente. In ambedue i casi il condensatore C viene immediatamente scaricato dando origine ad un nuovo intervallo T durante il quale l’uscita si trovera’ al valore alto + Vo. Un monostabile retriggerabile puo’ venir impiegato, ad esempio, per rivelare se al suo ingresso sia o no presente un’onda quadra di periodo inferiore a T. Unica condizione da rispettare per un corretto funzionamento e’ che la costante di tempo RC del circuito di ingresso sia molto minore del periodo T dell’onda quadra in modo da applicare al gate del JFET impulsi molto stretti e tali che il periodo di tenuta del monostabile sia effettivamente rappresentato dalla relazione approssimata precedentemente ricavata. 5.2) I multivibratori. I circuiti illustrati ai paragrafi precedenti possono venir facilmente realizzati ricorrendo a porte logiche anziche a comparatori. 200 Capitolo V Comparatori, multivibratori e bistabili. Nei paragrafi successivi verranno prese in considerazione le principali caratteristiche di tali circuiti, esaminandone, sia pure sommariamente il funzionamento. 5.2.1) Il multivibratore bistabile. Un semplice multivibratore bistabile (comunemente detto anche flip-flop), cioe’ un circuito che possiede due stati stabili, si puo’ ottenere interconnettendo secondo lo schema di figura 5.13 due porte logiche di tipo NOR. Nella stessa figura sono riportati anche i diagrammi di temporizzazione dei segnali idealizzati presenti nei vari punti del circuito. S s x C y c y x t2 t1 t3 t4 t7 t5t6 t8 figura 5.13 All'istante iniziale ambedue gli ingressi siano 0, l'uscita Y sia 0, quella X sia 1; poiche' le uscite sono riportate agli ingressi delle porte NOR, la condizione ipotizzata e' una condizione stabile. Infatti, il NOR 2 ha come ingressi C=0 e X=1 e quindi la sua uscita e' Y=0, mentre il NOR 1 avendo ambedue gli ingressi nulli ha come uscita X=1.All'istante t1 l'ingresso S vada a 1. Gli ingressi del NOR 1 passano percio' da 00 a 01 e dopo un ritardo pari a t2 - t1 la sua uscita X passa a 0. Questo fatto fa cambiare gli ingressi del NOR 2 da 01 a 00 in modo che, dopo un ritardo pari a t3 - t2, l'uscita Y passa a 1. Non si ha alcun ulteriore effetto, ne' per la commutazione a 11 degli ingressi del NOR 1, ne' per il passaggio di S a 0 all'istante t4. La nuova condizione raggiunta e' stabile. Una sequenza analoga, ma inversa, ha luogo quando l'ingresso C passa a 1, riportando il circuito nella condizione iniziale. Un flip-flop che operi nel modo descritto prende il nome di flip-flop set-reset, viene indicato con il simbolo RS ed e' rappresentato con il simbolo di fig. 5.14 (a). Gli ingressi S e R corrispondono a quelli S e C di fig. 5.13, mentre l'uscita Q corrisponde a Y , quella Q a X . Il funzionamento del circuito e' riassunto in modo completo nella tabella di fig. 5.14 (b). S, R e Qn indicano il valore degli ingressi e dell'uscita all'arbitrario istante tn, mentre Qn+1 indica il valore assunto dall'uscita nell'istante immediatamente successivo per effetto degli ingressi applicati all'istante tn. Le condizioni delle ultime due righe indicano che nel normale funzionamento non e' permesso che ambedue gli ingressi diventino 1 allo stesso tempo. 201 Capitolo V Comparatori, multivibratori e bistabili. S Q R S R Qn Q n+1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 - (a) (b) figura 5.14 E' immediato verificare che la tabella di fig. 5.14 e' retta dall'equazione Q n +1 = S+ Q n .R ottenuta sfruttando le condizioni delle ultime due righe e imponendo il vincolo S. R = 0 Gli ingressi S e R corrispondono a quelli S e C di fig. 5.13, mentre l'uscita Q corrisponde a Y , quella Q a X . Il funzionamento del circuito e' riassunto in modo completo nella tabella di fig. 5.14 (b). S, R e Qn indicano il valore degli ingressi e dell'uscita all'arbitrario istante tn, mentre Qn+1 indica il valore assunto dall'uscita nell'istante immediatamente successivo per effetto degli ingressi applicati all'istante tn. Le condizioni delle ultime due righe indicano che nel normale funzionamento non e' permesso che ambedue gli ingressi diventino 1 allo stesso tempo. La ragione per cui i due ingressi non possono essere contemporaneamente 1 e' duplice; in primo luogo perche' essi porterebbero ambedue le uscite a 0 violando la condizione base di funzionamento di un flip-flop, secondo la quale le due uscite devono essere sempre complementari. In secondo luogo, se ambedue gli ingressi tornassero a 0 al medesimo istante lo stato in cui il flip-flop si porterebbe non sarebbe prevedibile e al limite potrebbe realizzarsi una condizione d’oscillazione. Quello che e’ sicuro e’ che lo stato in cui il flip-flop si porta dopo che i due ingressi sono stati riportati al valore logico 0 viene a dipendere da quale dei due NOR ha un tempo di propagazione minore. Considerazioni anche intuitive permettono di convincersi di cio’ rendendo evidente che la condizione descritta porta ad una perdita di controllo. Con il vincolo S.R = 0 il flip-flop RS realizza invece un dispositivo di memorizzazione affidabile, in cui lo stato delle uscite indica quale dei due ingressi si e' trovato per ultimo al livello 1. E' abbastanza evidente da questa analisi qualitativa del funzionamento del flip-flop RS che un impulso d’ingresso deve avere una durata minima se si vuole che la commutazione avvenga con si202 Capitolo V Comparatori, multivibratori e bistabili. curezza; si supponga, infatti, che S ritorni a zero prima dell'istante t3; ambedue gli ingressi del NOR 1 si troverebbero allora, almeno momentaneamente, a 0 e tenderebbero a far tornare X a 1. Il verificarsi di tale condizione renderebbe evidentemente incerto il funzionamento del circuito. Esistono ovviamente strutture piu’ complesse che non quella del flip-flop preso in considerazione. In particolare esistono i flip-flop sincroni, la cui commutazione puo’ avvenire solo in determinati istanti fissati da un segnale di sincronizzazione (clock). 5.2.2) Il multivibratore monostabile. In figura 5.15 e’ riportato lo schema di un multivibratore monostabile ottenuto utilizzando porte NOR. Per semplicita’ d’analisi si supporra’ che esse siano realizzate in tecnologia CMOS cioe’ tali da avere impedenze d’ingresso elevatissime. Si noti che l’accoppiamento tra la prima e la seconda porta e’ di tipo capacitivo, mentre quella tra la seconda e la prima e’ di tipo resistivo (nel caso in esame e’ addirittura un cortocircuito). Si ricordi poi che i MOS utilizzati (ad arricchimento) necessitano per passare in conduzione che al loro ingresso sia applicata una tensione superiore alla tensione di soglia VT>0. +VDD R vin vo1 vx vo2 C figura 5.15 All’istante iniziale sia Vin = 0; di conseguenza vo1 = VDD se anche l’altro ingresso si trova a tensione nulla. L’ingresso vx della seconda porta si trova, nelle condizioni prospettate, alla tensione VDD poiche’, se la situazione ipotizzata si e’ mantenuta inalterata per un tempo sufficientemente lungo, il condensatore C si sara’ caricato a tale tensione attraverso la resistenza R. Di conseguenza la sua uscita si trova ad un valore nullo confermando le ipotesi precedenti e permettendo di affermare che la condizione descritta e’ stabile. Se ora all’ingresso Vin è applicato un impulso positivo di trigger di ampiezza superiore a VT, l’uscita della relativa porta passa a 0. Poiche’ la tensione ai capi del condensatore non puo’ cambiare istantaneamente anche vx passa a 0 determinando la commutazione del secondo gate, la cui uscita vo2 passa a VDD. Questo segnale, riportato all’ingresso della prima porta, fa si’ che la relativa uscita rimanga a 0 anche quando l’impulso di trigger e’ terminato. A partire da tale istante tuttavia il condensatore inizia a caricarsi attraverso la resistenza R e quindi Vx tende a VDD secondo la: 203 Capitolo V Comparatori, multivibratori e bistabili. t − v x (t ) = VDD .1 − e R .C Quando vx raggiunge la tensione di soglia VT, la seconda porta commuta e vo2 passa a 0, causando a sua volta la commutazione della prima porta, secondo quanto indicato in figura 5.16. v in v o1 VDD=V(1) V>VT t t T<T1 T1 v o2 vx VDD+ V T VDD V DD VT t T1 T1 figura 5.16 La commutazione avviene quando: T − 1 v x (T1 ) = VDD .1 − e R .C = VT Risolvendo tale equazione rispetto T1 si ottiene: T1 = R.C. ln VDD VDD − VT Se VT = VDD/2, come spesso avviene con le porte CMOS, si ha: T1 = 0,69.R.C 204 t Capitolo V Comparatori, multivibratori e bistabili. Indicando con vc = vo1 – vx la tensione ai capi del condensatore C si puo’ osservare che immediatamente prima della commutazione vc =-VT. Poiche, come detto, la tensione ai capi di un condensatore non puo’ variare istantaneamente, affinche’ tale situazione si conservi dopo la commutazione, quando vo1 = VDD, si deve avere: v c = VDD − v x = − VT e pertanto vx = VDD + VT. A partire da queste condizioni iniziali il condensatore C si scarica attraverso la resistenza R con costante di tempo RC fino a che vc = 0. Per un corretto funzionamento sarebbe necessario attendere che la scarica di C si fosse completata, imponendo pertanto un vincolo abbastanza pesante alla massima frequenza degli impulsi di trigger. Inoltre la tensione che si presenta all’ingresso della seconda porta all’istante T1 e’ VDD + VT e in alcuni casi essa potrebbe essere superiore al massimo valore ammissibile. Per tali motivi molto spesso in parallelo alla resistenza R viene posto un diodo D, come illustrato in figura 5.17. +VDD R D vx C figura 5.17 Questo arrangiamento circuitale contiene il massimo valore di vx a VDD + Vγ, dove con Vγ si e’ indicata la tensione di soglia del diodo D. Se esso e’ un diodo al silicio il massimo valore di vx sara’ approssimativamente pari a VDD + 0,6 volt. Il diodo tuttavia ha anche un altro effetto positivo; esso permette infatti la scarica rapida di C riducendo pertanto l’intervallo di tempo che e’ necessario attendere prima di poter applicare il successivo impulso di trigger. 5.2.3) Il multivibratore astabile. Le porte logiche possono essere utilizzate anche per realizzare circuiti autoscillanti con uscita in onda quadra (multivibratori astabili). Si prenda, infatti, in considerazione il semplice circuito illustrato in figura 5.18, realizzato con due porte NOR utilizzate peraltro come semplici invertitori. 205 Capitolo V Comparatori, multivibratori e bistabili. vx vo1 vo2 R C vc figura 5.18 Si supponga per semplicita’ che la tensione di soglia VT sia pari a VDD/2. Si faccia poi l’ipotesi che all’istante iniziale la tensione d’uscita del primo gate vo1 commuti da VDD a 0, come e’ anche illustrato nelle forme d’onda di figura 5.19. vo2 vo1 VDD VDD T1 2T1 t T1 t vc vx VDD+ VT VDD VT VT = VDD /2 -VT 2T1 T1 2T1 T1 t 2T1 t -VT -VDD figura 5.19 L’ipotesi fatta sta anche ad indicare che nel medesimo istante la tensione di ingresso del primo gate vx e' pari a VT. Poiche’ immediatamente prima della commutazione vo2 = 0, la tensione ai capi di C in queste condizioni e’ 0 data da: v c = v x − v o2 = 206 VDD − 0 = VT 2 Capitolo V Comparatori, multivibratori e bistabili. Immediatamente dopo la commutazione vo1 = 0 e vo2 =VDD. Di conseguenza, poiche’ vc non puo’ variare istantaneamente, la tensione vx passa al valore VT + VDD. In queste condizioni la tensione ai capi del condensatore, essendo vo1 = 0 e vo2 = VDD, tende esponenzialmente al valore – VDD con costante di tempo RC. t − v c (t ) = VT − (VDD + VT ).1 − e RC La tensione vx evolvera’ quindi a partire dal valore iniziale VDD + VT verso 0 con la medesima costante di tempo. t t − − v x = vo 2 + v c = VDD + VT − (VDD + VT ).1 − e RC = (VDD + VT ).1 − e RC Nell’istante T1 in cui vx raggiunge il valore VT, la prima porta commuta nuovamente riportando la sua uscita al valore VDD e facendo di conseguenza passare l’uscita vo2 nuovamente a 0. Per le medesime ragioni gia’ viste in precedenza la tensione vx si porta al valore VT – VDD e la tensione vc tende, a partire da quest’istante, al valore VDD con costante di tempo RC. La stessa cosa avviene ovviamente per vx e al tempo T2, quando vx raggiunge nuovamente il valore VT, si ha una nuova commutazione che riporta il circuito nelle condizioni iniziali, chiudendo il ciclo. I due semiperiodi, T1 e T2, possono venir facilmente determinati tenendo presente che nel primo semiperiodo v x = (VDD − VT ).e − T RC Imponendo pertanto che al tempo T1 vx = VT e risolvendo rispetto T1 si ottiene: T1 = R.C. ln VDD − VT VT Nel secondo semiperiodo v x = VDD + (VT − 2.VDD ).e e poiche’ ancora al tempo T2 vx = VT si ottiene T2 = R.C. ln VT − 2.VDD VT − VDD 207 − t RC Capitolo V Comparatori, multivibratori e bistabili. Nella realta’ tuttavia si limita l’escursione di vx tra 0 e VDD per ragioni di sicurezza utilizzando diodi di protezione. In tal caso: T1 = R.C. ln T2 = R.C. ln VDD VT VDD VDD − VT Se poi VT, come precedentemente gia’ ipotizzato, risulta pari a VDD/2 si ottiene finalmente: T1 = T2 = R.C. ln 2 = 0,693.R.C T = T1 + T2 = 1,39.R.C Il circuito puo’ evidentemente produrre anche forme d’onda a duty cycle variabile, agendo sul valore di VDD o VT in modo che VT ≠ VDD/2, o in alternativa utilizzando il circuito di figura 5.20, che permette di caricare e scaricare il condensatore C con due costanti di tempo diverse. vx vo1 vo2 R1 R2 figura 5.20 208 C Capitolo VI Conversione A/D e D/A Capitolo VI Conversione A/D e D/A. 6.1) Introduzione. Nei moderni sistemi di misura e controllo le informazioni possono presentarsi in una di due diverse forme. Nella prima la misura di una quantita' fisica (ad esempio una temperatura o una velocita', etc.) si presenta su una singola linea sotto forma di una grandezza analogica (tensione, corrente, frequenza, etc.), la cui ampiezza rappresenta la misura della grandezza fisica stessa. Nella seconda invece la misura, e’ presentata (sia in forma seriale su un'unica linea, che in forma parallela su piu' linee) con un numero finito di bit di informazione, che costituiscono una parola digitale cui e' possibile associare il numero che rappresenta la misura della grandezza di interesse sulla base di un'opportuna unita' di misura. E' evidente che nel secondo caso la misura risulta discretizzata e la massima risoluzione che si puo' ottenere e' determinata dal passo di quantizzazione, che coincide con il valore associato al bit meno significativo della parola. Ad esempio utilizzando una parola da tre bit in numerazione binaria posizionale e associando al bit meno significativo ( o in altre parole adottando quale passo di quantizzazione) un volt, la massima risoluzione sara' appunto di un volt e potranno venir misurate tensioni comprese tra 0 e 7 volt in passi incrementali di un volt. Aggiungendo un ulteriore bit prima del piu' significativo, che in qualche modo rappresenti il segno, si potranno evidentemente rappresentare sia grandezze positive che negative, come illustrato in fig. 6.1 E' immediato osservare che rispetto alla forma analogica (di tipo continuo) la rappresentazione digitale (discreta) introduce un errore, detto errore di quantizzazione, la cui ampiezza massima e' pari alla meta' del passo di quantizzazione e la cui distribuzione di probabilita' puo' essere ritenuta uniforme. Questo errore puo' essere ridotto unicamente riducendo il passo di quantizzazione o, in altre parole, aumentando il numero di bit della parola rappresentativa a parita' di ampiezza della grandezza da misurare. Valore analogico +7 +6 +5 +4 +3 +2 +1 1111 1110 1101 1100 parola digitale 1011 1010 1001 1000 0000 0001 0010 0011 0100 0101 0110 0111 -1 -2 -3 -4 -5 -6 -7 fig. 6.1 Molti sono i motivi per cui una grandezza viene rappresentata in forma numerica. Uno di questi e' senza dubbio l'enorme diffusione dei sistemi di eleborazione, che vanno dalla 209 Capitolo VI Conversione A/D e D/A strumentazione basata sui microprocessori ai mainframe di elevatissime prestazioni, disponibili tuttavia con una certa facilita' ad una larghissima utenza. Tuttavia la motivazione piu' convincente, che ha portato alla digitalizzazione anche in quei campi che fino a pochi anni or sono sembravano dominio incontrastato della strumentazione analogica, risiede nel fatto che l'elaborazione dell'informazione per via analogica degrada l'accuratezza del dato a ciascun passo di elaborazione e che questa degradazione e' tanto piu' marcata quanto piu' elevata e' la velocita' di elaborazione richiesta, prevalentemente per l'inevitabile presenza del rumore e per l'imprecisione dei dispositivi adottati. Con le tecniche digitali invece l'accuratezza del dato e' funzione unicamente del numero di bit utilizzato per rappresentare l'informazione e, qualora si prendano le dovute precauzioni, non degrada ad ogni passo dell'elaborazione. E' ovvio che in un sistema, in cui convivano ambedue le forme di rappresentazione, devono esistere dei dispositivi che permettano il passaggio dall'una all'altra forma in ambedue i versi. Devono cioe' esistere quei dispositivi che vengono chiamati convertitore D/A e A/D. 6.2) Il campionamento. Come si e’ gia’ accennato i segnali continui, o analogici, possono venir descritti da una funzione continua del tempo. Al contrario i segnali discreti (o digitali) sono rappresentabili con una successione di numeri, che altro non sono se non la misura del corrispondente segnale analogico secondo un’opportuna unita’ di misura. E’ evidente pertanto che un segnale discreto non potra’ essere definito per qualsiasi valore di t, ma la sua descrizione funzionale sara’ valida solo in determinati istanti T1, T2, …., Tn nei quali rappresentera’ l’ampiezza del segnale analogico. Da queste considerazioni discende immediatamente che per passare da una grandezza analogica alla sua rappresentazione digitale la prima operazione da eseguire e’ quella di prelevare negli istanti T1, T2, …., Tn tale grandezza, eseguendo quello che viene chiamato campionamento del segnale. Nell’eseguire il campionamento, tuttavia, vanno adottate opportune precauzioni per consentire di ricostruire a posteriori il segnale. In altre parole la frequenza di campionamento non puo’ essere qualsiasi, ma e’ legata alla massima frequenza contenuta nel segnale da campionare. Si prenda in considerazione un segnale s(t) (figura 6.2 a) e si supponga che esso abbia una banda limitata come illustrato in figura 6.2 (b). (a) (b) s(t) s(f) t -B Tc figura 6.2 210 B f Capitolo VI Conversione A/D e D/A Dalla teoria dei segnali si sa che il segnale campionato, ottenuto prelevando un campione ogni Tc secondi, ha uno spettro che si ottiene da quello di s(t) multiplando tale spettro lungo l’asse delle frequenze a distanza fc = 1/Tc, secondo quanto illustrato in figura 6.3. s(f) 0 -f c -2 f c fc 2 fc f figura 6.3 Considerazioni anche intuitive permettono di affermare che per ricostruire il segnale s(t) i singoli spettri non devono sovrapporsi in lacuna loro parte. In altre parole la frequenza di campionamento fc deve soddisfare la condizione fc ≥ 2B In caso contrario si avrebbe il cosiddetto fenomeno dell’aliasing, con distorsioni anche notevoli del segnale ricostruito. Per assicurare che le condizioni espresse siano rispettate, all’ingresso dei sistemi di conversione A/D viene di solito introdotto un filtro passa-basso, detto filtro antialiasing, che ha lo scopo di limitare superiormente la massima frequenza del segnale analogico che deve’essere campionato. Il circuito di campionamento vero e proprio puo’ venir realizzato nella sua forma piu’ semplice con un interruttore e un condensatore, come illustrato in figura 6.4. S C v s (t) figura 6.4 211 vo Capitolo VI Conversione A/D e D/A In questo circuito la tensione ai capi del condensatore, coincidente con la tensione di uscita, segue il segnale vs(t) quando il tasto S e’ chiuso. Quando il tasto S viene aperto la tensione vo diviene costante con un valore pari a quello di vs(t) all’istante di apertura e a tale valore rimane fino alla successiva chiusura. Un sistema di questo genere, tuttavia, non e’ esente da critiche. In primo luogo la carica del condensatore C dipende dall’impedenza interna del generatore di segnale vs(t). In secondo luogo il condensatore C mantiene l’informazione solo se il circuito a valle ha un’impedenza di ingresso infinita. Per ovviare almeno in parte a questi inconvenienti il circuito campionatore puo’ venir realizzato, ad esempio, secondo lo schema di figura 6.5. - A A vs(t) + + 1 2 vo C tensione di controllo del gate figura 6.5 L’interruttore in tal caso e’ realizzato con un NMOS e quando un segnale positivo applicato al gate lo porta in conduzione il condensatore si carica al valore istantaneo di vs(t). L’inseguitore di tensione A1 ha una duplice funzione. Da un lato non carica il circuito da cui viene prelevato il segnale in virtu’ della sua elevatissima impedenza di ingresso. Dall’altro permette al condensatore C di caricarsi molto velocemente in quanto la costante di tempo relativa e’ Ro.C, dove con Ro si e’ indicata l’impedenza di uscita di A1, che, come si sa, e’ estremamente piccola. Il secondo inseguitore A2 ha il compito di separare il condensatore C dal carico presente in uscita, permettendo una ritenzione dell’informazione per tempi notevolmente elevati. E’ bene che i condensatori utilizzati siano condensatori a policarbonato, polietilene, polistirolo, mylar o teflon; abbiano cioe’ dielettrico con basse perdite. Tipi diversi di dielettrico causerebbero infatti un rapido decadimento della tensione memorizzata con costanti di tempo dell’ordine di alcuni secondi. Inoltre il fenomeno detto di assorbimento dielettrico, per effetto del quale un condensatore “ricorda” una frazione della sua carica precedente quando c’e’ una variazione della tensione ai suoi capi, introdurrebbe un errore nella grandezza memorizzata. Quand’anche polarizzazione del dielettrico e assorbimento non avessero importanza, il tempo di tenuta dell’informazione e’ limitato in quanto la corrente di perdita del MOS in condizioni di interdizione (< 1 nA) e la corrente di polarizzazione di ingresso di A2 (< 1 nA) fluiscono in C. Supponendo pertanto di utilizzare per C un condensatore da 0,5 µF, la tensione ai suoi capi presentera’ una deriva dell’ordine dei 2 mV/sec. E’ necessario poi tener conto che l’interruttore non si apre istantaneamente. C’e’ sempre un tempo, detto tempo di apertura, dell’ordine di 100 nsec e definito come il tempo che intercorre tra l’istante in cui viene applicato il comando sul gate e l’istante in cui il MOS effettivamente commuta. A questo si aggiunge il tempo di acquisizione, cioe’ il tempo necessario affinche il condensatore C si carichi dal vecchio al nuovo valore. 212 Capitolo VI Conversione A/D e D/A Se Ro e la resistenza rDS(on) del MOS fossero trascurabili, il tempo di acquisizione sarebbe determinato dallo slew-rate di A1. Indicando con I la massima corrente che A1 puo’ fornire, la variazione della tensione vc ai capi del condensatore sarebbe: dv c I = dt C Tutti gli amplificatori operazionali hanno correnti massime d’uscita relativamente limitate (dell’ordine di 25 mA) e quindi il tempo di acquisizione diviene non trascurabile. Per ovviare a questo inconveniente si puo’ ricorrere a circuiti del tipo di quello illustrato in figura 6.6. + Vcc - npn A A vs(t) + + 1 pnp porta di controllo 2 vo C - Vcc figura 6.6 In questo circuito la tensione di uscita viene riportata all’ingresso invertente di A1. Cio’ fa si’ che durante l’intervallo di campionamento vs(t) = vo. Nell’intervallo di mantenimento vo rimane invece al valore raggiunto da vs(t) alla fine dell’intervallo di campionamento, a meno della deriva dovuta alla corrente di polarizzazione di A2 e alla corrente di perdita dell’insieme che funge da interruttore. Quanto maggiore e’ il valore di C e tanto minore e’ la deriva. Tuttavia un aumento di C fa aumentare il tempo di acquisizione. Inoltre la presenza di un polo nel guadagno d’anello puo’ generare problemi di stabilita’ del sistema. C pertanto viene scelto come soluzione di compromesso tra queste tre esigenze. E’ opportuno rimarcare che il tempo di tenuta si rende necessario al fine di permettere al convertitore A/D che si trova a valle di eseguire le sue operazioni avendo in ingresso una tensione costante. 6.3) I convertitori D/A. Prima di prendere in esame la struttura dei convertitori A/D e’ opportuno soffermarsi su quei circuiti che effettuano l’operazione inversa, cioe’ sui convertitori D/A. Molto spesso infatti i convertitori A/D si avvalgono di un convertitore D/A in un loop di reazione. Un convertitore D/A e' essenzialmente un dispositivo che accetta come ingresso un segnale digitale D e un riferimento analogico R e genera un'uscita analogica A legata all'ingresso dalla relazione: 213 Capitolo VI Conversione A/D e D/A A = R.D Il numero rappresentato da D si considera sempre minore dell'unita'. D cioe' e' essere rappresentato nella forma: D = a1 .2 −1 + a 2 .2 −2 + ...........+ a n .2 − n (a i = 1,0) Pertanto l'uscita del convertitore D/A e' data da: ( A = R. a 1 .2 −1 + a 2 .2 −2 + ........... + a n .2 − n ) (6.3.1) Da un punto di vista elementare e puramente qualitativo un convertitore D/A potrebbe venir visto come un potenziometro digitale in cui R e' la tensione applicata ai capi del potenziometro e l'angolo di rotazione Θ del cursore (fig. 6.7) e' rappresentato dal numero D. VR R D D/A V A 0 Θ fig. 6.7 In tutte le considerazioni finora svolte, tuttavia, non si e' affatto preso in considerazione il segno del numero D, che e' stato implicitamente preso come positivo, al pari di R e di A. Cio' non e' sempre vero. Ritornando all'analogia con il potenziometro e' evidente che per farlo operare con ambedue i segni, ottenendo nel contempo anche un'uscita bipolare, e' necessario prendere opportuni provvedimenti. La fig. 6.8 illustra due possibili modi con cui si puo' ottenere quanto voluto. In fig. 6.8 (a) il potenziometro e' connesso tra due tensioni di riferimento, + VR e - VR, e il riferimento rispetto al quale si misurano le rotazioni e' posto a mezza corsa, in modo che quando Θ = 0 le tensione di uscita V0 sia anch'essa nulla. Per rotazioni positive la tensione di uscita sara' positiva, per rotazioni negative, negativa. Con riferimento alla fig. 6.7 (b) il segnale Θ e' rappresentato in ampiezza e segno separatamente. Un lato del potenziometro e' connesso a massa, l'altro e' commutato, in funzione del segno di Θ, sui riferimenti +VR e - VR rispettivamente. L'uscita di tale circuito e' evidentemente la stessa di quella del circuito di fig. 6.7 (a), ma per ottenere la stessa tensione di uscita la corsa del cursore dev'essere doppia. 214 Capitolo VI Conversione A/D e D/A +VR +VR -VR Θsegno V0 V0 Θ polarizzato Θ ampiezza -VR (a) (b) fig. 6.7 I convertitori D/A operano in modo del tutto simile; in altre parole e' la codifica del segnale digitale che determina la configurazione del convertitore. Il progetto e la scelta del convertitore piu' adatto ad un sistema non e' affatto semplice. Normalmente un convertitore non soddisfa tutte le specifiche ed e' necessario ricorrere a soluzioni di compromesso. I principali fattori, comuni a tutti i convertitori, da tener presenti per ottenere la migliori prestazioni in rapporto alla dimensione, al peso e al costo sono: 1. Prestazioni. Le prestazioni di un convertitore D/A devono sempre essere commisurate al costo, alle dimensioni e al peso. Ad esempio il costo di un resistore aumenta esponenzialmente in funzione della sua precisione. Da un altro punto di vista vi e' sempre un punto nella curva prestazioni-costo di un convertitore, al di sopra del quale qualsiasi miglioramento delle prestazioni, anche piccolo, comporta un costo irragionevolmente alto. Questo punto nei convertitori D/A di normale impiego si puo' ritenere situato nell'intorno della precisione dello 0.05% (pari a un numero binario di ingresso da 12 bit) su tutto il campo di temperatura di esercizio. 2. Alimentazioni di riferimento. Tutti i convertitori D/A a funzionamento bipolare richiedono delle tensioni di riferimento positive e negative, che devono essere stabili e precise entro lo 0.01% del loro valore nominale, se il convertitore deve essere preciso entro lo 0.05% del fondo scala. Tali alimentazioni di riferimento devono avere una bassa impedenza d'uscita, bassa ondulazione residua e basso rumore. In diversi casi inoltre esse devono avere la capacita' di fornire o assorbire rilevanti correnti. 3. Alimentazioni di potenza. Nella maggior parte dei convertitori D/A le alimentazioni di potenza sono necessarie solo per gli amplificatori (di norma operazionali) presenti. Pertanto il loro valore e' normalmente compreso tra ± 12 V e ± 18V. Le alimentazioni sono di regola uguali in ampiezza e stabili entro l'uno per cento, con bassa ondulazione residua, rumore e impedenza d'uscita. 4. Buffers. 215 Capitolo VI Conversione A/D e D/A All'ingresso dei convertitori sono di solito presenti dei buffers digitali in quanto i segnali di ingresso si possono ritenere validi solo in determinati istanti. Quando inoltre si operi con convertitori D/A seriali o con tecniche multiplex anche sull'uscita dovranno venir inseriti dei buffers analogici. 5. Amplificatori. Nella realizzazione dei convertitori D/A viene di solito usato almeno un amplificatore operazionale, che somma le varie componenti di corrente e le converte in una tensione di uscita a bassa impedenza. Caratteristiche essenziali di un amplificatore operazionale sono gli offset di tensione e corrente e la loro dipendenza dalla temperatura, il guadagno di tensione o di corrente, la risposta di frequenza, la velocita' di salita della tensione di uscita (slew rate) e l'ampiezza massima dell'uscita. Nei convertitori D/A solamente l'offset rappresenta un reale problema, in particolare se il convertitore deve avere una precisione dello 0.05% del fondo scala nel campo di temperatura a norme MIL (-55° C / 125° C). Cio' implica che la tensione di uscita deve mantenersi stabile entro lo 0.01% del fondo scala o entro ± 1 mV del valore desiderato. Nemmeno i piu' sofisticati amplificatori differenziali possono soddisfare queste caratteristiche e si devono quindi impiegare delle tecniche di correzione dell'offset e della deriva. Nel seguito si supporra' che tutti i convertitori che verranno presi in considerazione corrispondano alle seguenti caratteristiche, quando non verra' altrimenti specificato. • I segnali analogici di uscita saranno limitati a tensioni continue comprese, se possibile, tra + 10 e - 10 volt. I convertitori con uscita in alternata verranno trattati a parte. • I segnali digitali sanno numeri in forma seriale o parallela, codificati in complemento a 2 o binario offset, come verra' illustrato in un successivo paragrafo. • Per convenzione si fara' riferimento alla logica positiva. Pertanto nelle realizzazioni con transistori bipolari o CMOS uno zero logico sara' rappresentato da una tensione nulla, un uno logico da una tensione positiva, mentre nelle realizzazione PMOS uno zero logico sara' rappresentato da una tensione negativa, un uno logico da una tensione nulla. • Il campo di temperatura su cui il convertitore dovra' mantenere le sue caratteristiche sara' quello a norme MIL (-55° C / 125° C). • Gli amplificatori operazionali eventualmente presenti saranno corretti rispetto all'offset e alla deriva entro il ± 0.01% del loro fondo scala. Si assumera' inoltre che tutti gli altri parametri essenziali dell'amplificatore siano tali da non introdurre errori significativi. 6.3.1) Codici di ingresso. Prima di passare all'esame, sia pure sommario, di alcuni aspetti relativi alla conversione D/A e' opportuno dare un cenno sui piu' comuni codici utilizzati. E' abbastanza evidente, da quanto gia' visto, che usando la rappresentazione binaria posizionale si possono manipolare solo grandezze unipolari. Per rappresentare grandezze sia positive che negative e' necessario ricorrere a codici bipolari, in cui a uno dei bit sia attribuito il significato di segno. I codici piu' diffusi sono: • Complemento a 2 • Binario offset • Complemento a 1 • Segno e ampiezza 216 Capitolo VI Conversione A/D e D/A anche se non sono infrequenti altri codici, quali ad esempio il decimale codificato in binario (BCD) o il codice di Gray. In fig. 6.8 sono riportati i diversi codici citati con riferimento a un fondo scala pari a 7. CODICI Numero riferimento positivo riferimento negativo Segno e ampiezza Comp. a 2 Comp. a 1 7/8 6/8 -7/8 -6/8 0111 0110 0111 0110 0111 0110 1111 1110 5/8 4/8 -5/8 -4/8 0101 0100 0101 0100 0101 0100 1101 1100 3/8 2/8 -3/8 -2/8 0011 0010 0011 0010 0011 0010 1011 1010 1/8 0+ -1/8 0- 0001 0000 0001 0000 0001 0000 1001 0000 -1 0-1/8 0+ 1/8 1000 1001 (0000) 1111 (1111) 1110 (1000) 0111 -2 -3 -2/8 -3/8 2/8 3/8 1010 1011 1110 1101 1101 1100 0110 0101 -4 -5 -4/8 -5/8 4/8 5/8 1100 1101 1100 1011 1011 1010 0100 0011 -6 -6/8 6/8 1110 1010 1001 0010 -7 -8 -7/8 -8/8 7/8 8/8 1111 ------ 1001 1000 1000 ------ 0001 (0000) 7 6 5 4 3 2 1 0 0 Binario offset fig. 6.8 6.3.2) Codice complemento a 2. Si supponga di voler rappresentare un numero N con n bit. Il massimo numero rappresentabile in numerazione binaria posizionale e' ovviamente il valore 2 n − 1. Nel codice complemento a 2 si limitano i numeri positivi rappresentabili al valore 2n -1 - 1, che puo' venir rappresentato con n-1 bit, in modo che il piu' grande numero positivo rappresentato contenga sempre uno 0 al rango piu' significativo e degli 1 o degli 0 in tutte le altre posizioni. Rappresentando allora i numeri negativi con il complemento a 2n, cioe' rappresentando il numero -N (N>0) con la quantita' 2n -N e ricordando che N < 2n-1 si deduce che la rappresentazione complementata di -N sara' un valore maggiore di 2n-1 e minore di 2n. Cio' significa che nella stringa di n bit, rappresentativa del numero negativo considerato, la posizione piu' significativa, detta bit di segno, sara' sempre riempita da un 1. Uno dei vantaggi della rappresentazione complemento a 2 risiede nel fatto che tale complemento si ottiene con notevole facilita'. Dato il valore assoluto del numero (0 < N ≤ 2n -1 - 1) il complemento a 2 si ottiene semplicemente per negazione di ciascun bit della stringa, sommando poi un'unita' al risultato ottenuto. Analoga operazione va compiuta quando da un valore negativo si vuol passare al suo valore assoluto. Va notato a questo proposito che al campo dei numeri negativi rappresentabili appartiene anche quello formato da un 1 nel rango piu' significativo, seguito da tutti 0, pari al valore - 2n -1 , ma che, con le convenzioni assunte, il suo valor assoluto non e' rappresentabile su n bit. La diffusione di tale codice e' dovuta al fatto che l'uscita di molti circuiti di controllo e di calcolo e' in tale forma. La rappresentazione complemento a 2 ha infatti come ulteriore vantaggio il fatto che la differenza N1 - N2 si ottiene semplicemente sommando a N1 la rappresentazione complementata di - N2. Si ha infatti: ( ) N1 + 2 n − N 2 = 2 n + ( N1 − N 2 ) Se (N 1 − N 2 ) ≥ 0 allora il risultato dell'operazione e' maggiore o uguale a 2n e per rappresentare tale valore sarebbe necessaria una stringa di n + 1 bit. Pertanto il bit rappresentativo 217 Capitolo VI Conversione A/D e D/A del rango 2n va perso e nella stringa dei rimanenti n bit rimane pertanto rappresentata proprio la stringa N1 − N 2 . Se viceversa N1 − N 2 < 0 allora si puo' scrivere che: 2 n + ( N 1 − N 2 ) = 2 n − ( N 2 − N1 ) e ricordando che N1 − N 2 < 2 n −1 − 1 nella stringa di n bit si ha proprio la rappresentazione complementata del risultato. Infine con questo codice la rappresentazione dello zero non e' ambigua. Applicando le operazioni di complementazione descritte ad una stringa formata da tutti zero si ottiene ancora una stringa formata da tutti zero. E' evidente che se la parola di comando X del convertitore e' nella forma complemento a 2, il bit piu' significativo dovra' connettere il relativo ingresso ad un generatore di riferimento di segno opposto a quello degli altri bit. Uno svantaggio che tuttavia il codice complemento a 2 presenta risiede nel fatto che passando dal valore 0 (00......0) a quello -1 (11......1) tutti i bit della parola commutano. Con riferimento alla realizzazione circuitale dei convertitori paralleli, cio' puo' causare sia dei picchi di assorbimento dalle alimentazioni, siano esse di riferimento che di potenza, sia dei tempi di transitorio rilevanti a causa delle differenti velocita' con cui i vari bit commutano. 6.3.3) Codice binario offset. Il codice binario offset e' molto simile alla rappresentazione complemento a 2 ed e' il codice di ingresso piu' conveniente per un convertitore D/A parallelo. L’unica differenza riscontrabile rispetto al codice complemento a 2 risiede nel fatto che il bit di segno risulta negato. Da un altro punto di vista si potrebbe dire che l'offset binario e' una numerazione binaria posizionale il cui 0 coincide con il fondo scala negativo della grandezza rappresentata. Questo codice risulta particolarmente conveniente quando il convertitore debba venir utilizzato sia per grandezze unipolari che bipolari. Si passa infatti dall'uno all'altro tipo di funzionamento con semplici operazioni di spostamento dell'offset. Con riferimento alla fig. 6.9, che riporta una possibile realizzazione circuitale di principio di un convertitore D/A, risulta evidente che per lavorare in modalita' bipolare il convertitore deve venir polarizzato. Cio' puo' essere fatto semplicemente connettendo un resistore di polarizzazione Rb tra una sorgente di riferimento -VR e la giunzione somma dell'amplificatore operazionale che provvede a sommare le varie componenti di corrente e a convertirle in una tensione di uscita. Il resistore di polarizzazione viene aggiustato in modo che la corrente che lo attraversa sia in valor assoluto pari alla corrente del rango piu' significativo. In tal caso in presenza di un ingresso binario rappresentante lo zero (10......0) le correnti di polarizzazione e di ingresso hanno somma nulla, dando percio' luogo ad una tensione d'uscita nulla. Per ottenere la modalita' di funzionamento unipolare e' sufficiente non polarizzare il convertitore. E' ovvio che per avere lo stesso fondo scala sia in modalita' unipolare che bipolare e' necessario nel primo caso raddoppiare la resistenza di reazione dell'amplificatore operazionale; in tal caso tuttavia raddoppia anche il passo di quantizzazione. 218 Capitolo VI Conversione A/D e D/A +VR 20 k -I/2 a1 20 k -VR Ingresso digitale parallelo I/2 a2 20 k 40 k I/4 80 k a3 Vo I/8 a 12 40.96 M I/2 12 fig. 6.9 Uno svantaggio del codice binario offset e' che nel caso di ingresso nullo si puo' avere un'uscita non nulla se la corrente del rango piu' significativo non e' perfettamente bilanciata dalla corrente di polarizzazione. Inoltre anche con tale codice il passaggio dal valore zero (10......0) a quello -1 (01......1) porta ad una massiccia commutazione con tutti gli inconvenienti gia' descritti nel caso del codice complemento a 2. 6.3.4) Codice segno e ampiezza. Come lo stesso nome lascia intuire, in questo codice la parola e' divisa in due parti, segno e ampiezza. In altre parole la codifica per i numeri negativi e' la stessa che per i numeri positivi eccetto che per il bit di segno. L'utilizzo di questo codice risulta conveniente quando si abbia a che fare con grandezze che oscillano nell'intorno dello zero, in quanto nel passaggio da valori positivi a negativi e viceversa si ha la commutazione di uno o al piu' di qualche bit. E' tuttavia opportuno notare che questa rappresentazione si rivela poco adatta all'elaborazione numerica con sistemi di calcolo, che di solito adottano un'aritmetica complemento a 2. Esiste inoltre un'ambiguita' nella rappresentazione dello zero (00.....0 o 10.....0). 6.3.5) Codice complemento a 1. Il codice complemento a 1 e' molto simile a quello complemento a 2, ma in questo caso il complemento viene realizzato rispetto al valore 2n - 1 anziche' rispetto 2n. Esso presenta il vantaggio che un numero negativo si ottiene semplicemente negando i singoli bit del corrispondente positivo. Le operazioni aritmetiche sono tuttavia piu' difficoltose ed esistono due possibili rappresentazioni per lo zero (00......0 e 11......1). 219 Capitolo VI Conversione A/D e D/A TABELLA 6.1 Conversione tra codici da a Segno e ampiezza Complemento a 2 Segno e ampiezza Complemento a 2 Binario offset Complemento a 1 nessuna operazione Se il bit piu' significativo vale 1 complementare gli altri bit Complementare il bit piu' significativo e se il nuovo va- Se il bit piu' significativo vale 1 complementare gli altri bit e sommare 1 lore e' 1 sommare 1 Se il bit piu' significativo vale 1 complementare gli altri bit e sommare 1 nessuna operazione Complementare il bit piu' significati- Se il bit piu' significativo vale 1 somma- vo re 1 Complementare il Binario offset Complemento a 1 bit piu' significativo e se il nuovo valore e' 0 complementare gli altri bit e sommare 1 Se il bit piu' significativo vale 1 complementare gli altri bit Complementare il bit piu' significativo Se il bit piu' significativo vale 1 sommare 11......1 nessuna operazione Complementare il bit piu' significativo e se il nuovo valore e' 0 sommare 1 Complementare il bit piu' significativo e se il nuovo valore e' 1 sommare 11.....1 nessuna operazione Questa sommaria disamina non esaurisce ovviamente tutti i possibili codici. Esistono codici modificati, autocomplementanti, di Gray, etc, i cui vantaggi generalmente risiedono nelle semplificazioni che permettono di apportare alle reti di commutazione dei convertitori o nella maggior velocita' di conversione conseguibile. In tabella 6.1 sono riassunte le operazioni che permettono di passare dall'uno all'altro dei codici descritti. 6.4) I convertitori D/A paralleli. Si definisce convertitore D/A parallelo quello che accetta come ingresso un segnale binario Xp in forma parallela e utilizza tanti interruttori analogici quanti sono i bit di Xp. Ciascuna linea di ingresso di Xp aziona un interruttore che collega una tensione di riferimento VR o la massa ad un'opportuna rete resistiva, come illustrato in fig. 6.10. La rete resistiva normalmente converte la tensione presente su ciascuna linea di ingresso in una corrente di opportuna ampiezza, che viene sommata con le altre correnti, generate dagli altri interruttori e resistori. La corrente totale viene poi convertita in tensione, ad esempio facendo ricorso a un amplificatore operazionale. E' ovvio che se il convertitore fosse di tipo bipolare sono necessarie due tensioni di riferimento, l'una positiva e l'altra negativa. I convertitori paralleli sono i piu' veloci in quanto sono in grado di fornire la tensione di uscita non appena il segnale digitale di ingresso viene applicato. La velocita' di risposta e' limitata unicamente dalla velocita' degli interruttori analogici, dalle reattanze parassite associate ai resistori della rete e dalla velocita' di salita degli amplificatori eventualmente presenti. 220 Capitolo VI Conversione A/D e D/A a 1 VR Ingresso digitale parallelo a I/2 2 I/4 a3 Vo I/8 a 12 I/2 12 fig. 6.10 Per contro i convertitori paralleli richiedono che il segnale di ingresso sia presente in maniera continuativa. Poiche' molti circuiti digitali di controllo forniscono l'uscita solo a certi specifici intervalli di tempo, spesso e' necessario prevedere dei circuiti in grado di memorizzare il segnale digitale tra la presentazione di un dato e l'altro. Ingresso parallelo Comando di caricamento FF 1 FF 2 FF 3 FF n Uscita parallela (a) Comando di scorrimento Ingresso seriale FF 1 FF 2 FF 3 FF n Uscita parallela (b) Comando di scorrimento Ingresso seriale Comando di caricamento FF 1 FF 2 FF 3 FF n FF 1 FF 2 FF 3 FF n Uscita parallela (c) fig. 6.11 Per segnali che pervengono al circuito in forma parallela la memoria consiste in un flip-flop per ciascun bit (fig. 6.11 (a)) della parola binaria di ingresso. Normalmente non e' prevista alcuna tecnica di interlacciamento per il caricamento dei dati, poiche' tale operazione e' pressocche' istantanea e richiede tempi che di solito sono trascurabili rispetto al tempo di conversione. Per segnali di ingresso che pervenissero invece in forma seriale, viene invece previsto un insieme di n flip-flop connessi a formare un registro a scorrimento (fig. 6.11 (b)) e vi deve evidentemente essere un clock sincronizzato con i bit della parola seriale. E' essenziale che sia il numero degli impulsi di avanzamento che la loro temporizzazione siano esatti. 221 Capitolo VI Conversione A/D e D/A La parola binaria di uscita in forma parallela e' disponibile dopo che il processo di memorizzazione e' stato completato; e' evidente che durante le operazioni di conversione da seriale a parallelo l'uscita del convertitore D/A fornira' delle tensioni errate. Se l'uscita analogica viene usata come ingresso di sistemi a lunga costante di tempo, tale errore, generalmente di breve durata, e' di solito tollerato. In caso contrario l'uscita del registro a scorrimento viene accumulata in un buffer parallelo (fig. 6.11 (c)) in modo da evitare tale errore. Il comando di caricamento del buffer parallelo viene dato non appena l'operazione di memorizzazione nel registro a scorrimento e' terminata. 6.4.1) Convertitore D/A a resistenze pesate. Il piu' semplice e diretto metodo di conversione e' quello a resistenze pesate che fa uso di un resistore per bit, secondo lo schema di fig. 6.12 (a). Le resistenze hanno ciascuna un valore inversamente proporzionale al peso del bit cui risultano collegate. +VR -VR M.S.B. R 2R L.S.B. +VR V0A -VR V0A R M.S.B. RL RL 2R 4R L.S.B. 4R 4R resistore di terminazione (b) (a) fig. 6.12 La resistenza di uscita R0 della rete, supponendo che i generatori di riferimento approssimino sufficientemente dei generatori di tensione, e' evidentemente: 1 1 1 1 7 = + + = R R0 R 2R 4 R 4 cioe' R0 = Generalizzando al caso di n bit si ottiene: 4 R 7 1 1 1 1 2n − 1 = + + ...... + n −1 = n −1 R R0 R 2R 2 R 2 222 Capitolo VI Conversione A/D e D/A R0 = 2 n −1 .R 2n − 1 e quindi all'aumentare di n R0 tende al valore R/2. La tensione di uscita e' ovviamente funzione della parola binaria di ingresso. E' facile vedere che con l'i-esimo bit posto a 1 e tutti gli altri a 0 la tensione di uscita, con resistenza di carico infinita, vale : V0 = 1 2 . i −1 2 n −1 . VR 2n − 1 e quindi per sovrapposizione degli effetti n −1 1 1 1 2 V0 = b1 + .b 2 + .b 3 + ...... + n −1 .b n . n .VR 2 4 2 2 −1 Qualora non si possa trascurare l'effetto del resistore di carico RL la tensione di uscita sara': V0' = V0 . RL R L + R0 Spesso la rete viene modificata con l'aggiunta di un resistore di valore pari a quello del bit meno significativo, come illustrato in fig. 6.12 (b). In tal caso l'impedenza d'uscita e' sempre pari a R/2, indipendentemente dal numero di bit della parola digitale. Anche l'espressione della tensione di uscita ne risulta semplificata. Si ha che: 1 1 1 1 V0 = .b1 + .b 2 + .b 3 + ...... + n .b n .VR 4 8 2 2 Un vantaggio della rete a resistori pesati risiede nel fatto che la corrente che il generatore di riferimento deve fornire diminuisce con il diminuire della significativita' del relativo bit. D'altra parte all'aumentare del numero di bit della parola digitale il valore dei relativi resistori cresce esponenzialmente e resistori molto precisi di elevato valore sono difficili sia da realizzare che molto costosi, anche quando non si volesse tener conto delle costanti di tempo introdotte dalle capacita' parassite, che limitano la velocita' operativa, e delle conduttanze parassite fonte di errore. Non e' ovviamente pensabile di superare questi inconvenienti riducendo oltre un certo limite la resistenza relativa la bit piu' significativo. Pertanto la realizzazione a resistori pesati non viene in pratica utilizzata quando la parola digitale ha un numero di bit superiore a otto. La precisione dei convertitori a resistenze pesate e' migliore dello 0.1% del fondo scala se si assume che la tensione di riferimento abbia una tolleranza massima dello 0.01%, che la tolleranza dei resistori sia inferiore allo 0.05% e che l'errore introdotto dagli interruttori sia limitato allo 0.05%. La velocita' di conversione e' limitata, come gia' osservato, dai tempi di commutazione degli interruttori e dalle reattanze parassite. Gli interruttori usati sono di solito serie-parallelo, come quello illustrato in fig. 6.13. I due gate sono pilotati in controfase in modo che ci sia sempre uno dei due MOS in conduzione e che 223 Capitolo VI Conversione A/D e D/A l’impedenza vista dall’ingresso della rete di conversione sia approssimativamente costante sia nello stato ON che in quello OFF dell’interruttore. VR C C figura 6.13 6.4.2) Convertitore D/A con rete resistiva a scala. I convertitori D/A con rete resistiva a scala (resistor ladder D/A converter), malgrado usino un numero di componenti maggiore che non i convertitori con resistenze pesate, sono il tipo di convertitore piu' largamente diffuso. In fig. 6.14 (a) e' riportata la rete di conversione di un convertitore da quattro bit (fondo scala ± 7). Si puo' notare che vengono usati solamente due valori di resistenza, R e 2R. E' facile calcolare la resistenza di uscita, pari a R, di tale rete, supponendo che tutti gli interruttori siano connessi a massa. In tal caso infatti il circuito equivalente e' quello illustrato in fig. 6.14 (b). Questo valore di impedenza di uscita si conserva anche quando gli interruttori non sono commutati a massa, purche' l'impedenza interna dei generatori di riferimento sia trascurabile rispetto R. 2R 1 +VR -VR 4 b3 2R 2 b4 RL R 5 b2 R 2R 3 6 b1 2R (a) 4 uscita R 5 (b) R 6 2R 2R 3 2 2R 1 2R fig. 6.14 Il valore scelto per R dipende dal valore del carico RL, dalle variazioni che tale carico puo' subire e dalla precisione del sistema. Solo nel caso in cui il carico sia di valore molto elevato, al 224 Capitolo VI Conversione A/D e D/A limite un circuito aperto, il valore di R e' determinato essenzialmente da considerazioni di velocita' operativa. Quanto piu' bassa e' R tanto minore sara' l'impedenza di uscita e di conseguenza tanto meno sensibili saranno gli effetti delle capacita' e delle conduttanze parassite. La tensione di uscita a vuoto e' anche in questo caso calcolabile per sovrapposizione degli effetti considerando che solo un bit alla volta valga 1 (a parte il bit di segno che determina univocamente il segno della tensione di uscita). Con riferimento alla fig. 6.14 (a), indicando con b4b3b2b1 la parola binaria di ingresso e supponendo di operare a circuito aperto si ottiene: con b3b2b1= 100 V0 = 1 VR 2 V0 = 1 VR 4 con b3b2b1= 010 con b3b2b1= 001 1 V0 = VR 8 In definitiva: 1 1 1 V0 = .b 3 + .b 2 + .b1 .VR 4 8 2 La tensione di uscita sara' quindi compresa tra 0 e i 7/8 della tensione di riferimento VR. La rete pertanto quantizza la tensione di riferimento in un appropriato numero di passi uguali, messi in relazione con il numero rappresentato dalla parola binaria di ingresso. Estendendo quanto esposto a parole di n bit, il passo di quantizzazione diviene ovviamente 1/2n , mentre il fondo scala e' determinato dal massimo valore rappresentabile sugli n bit. Si ha cioe': ( ) V2 V0 fs = 2 n − 1 . R n In generale la tensione di uscita sara': 1 1 1 V0 = .b1 + .b 2 + ...... + n .b n .VR 4 2 2 avendo indicato con b1 il bit piu' significativo della parola digitale di ingresso. Se la resistenza RL di carico non fosse infinita la tensione di uscita che si ottiene e' ovviamente: V0' = V0 . RL RL + R 225 Capitolo VI Conversione A/D e D/A 6.4.2) Altri tipi di convertitori D/A. Oltre i tipi di convertitore D/A visti ne esistono ovviamente altri con strutture circuitali diverse. Tra essi puo’ venir citato il convertitore D/A a correnti pesate illustrato in figura 6.15, di struttura particolarmente semplice. 4/7 I V0A 2/7 I RL 1/7 I fig. 6.15 Esso si avvale di generatori di corrente comandati, che in caso di uscita unipolare sono molto facili da realizzare. Qualche difficolta’ si puo’ avere per quanto riguarda l’accuratezza dello zero a causa delle correnti di perdita in particolare quando si operi ad alta temperatura. Inoltre, quando la resistenza di carico RL assume elevati valori, puo’ diventare alquanto problematico realizzare sorgenti che abbiano resistenza d’uscita molto maggiore di quella di carico. Di conseguenza la conversione a correnti pesate risulta conveniente solo in sistemi di conversione di precisione medio-bassa in cui tuttavia si desiderino velocita’ di conversione elevate. Un’ulteriore tipologia di convertitore D/A e’ quella detta a tensioni pesate, il cui schema di principio e’ riportato in figura 6.16. VR R R R R a1 R R ingresso binario parallelo R R/2 a2 V0 R/6 a3 R R n R/(2- 2) an fig. 6.16 226 Capitolo VI Conversione A/D e D/A In esso vengono generate frazioni binarie di corrente I/2, I/4, ...., I/2n dividendo la tensione di riferimento in frazioni binarie con divisori resistivi del tutto convenzionali e sommando tali frazioni alla giunzione somma di un amplificatore operazionale. Viene usato un interruttore per ciascun bit del segnale di ingresso, controllato ciascuno da una separata linea di comando. Quando il livello del segnale di controllo e' basso (zero logico) l'interruttore e' aperto e una corrente fluisce attraverso la resistenza di ingresso fino alla giunzione somma, mentre quando e' il segnale di controllo e’ al livello alto l'interruttore e' chiuso cortocircuitando a massa il resistore di ingresso. Un convertitore D/A a tensioni pesate da 12 bit consiste pertanto di 48 resistori, di cui 36 di precisione, di dodici transistori e di un amplificatore operazionale. I dodici transistori sono pilotati direttamente dalle 12 linee che rappresentano il segnale binario di ingresso. Tali transistori sono connessi in configurazione inversa in modo da dar luogo a basse tensioni di offset. A titolo di esempio si puo' dire che con una corrente di base di 2 mA e una corrente di carico di 0.25 mA la massima tensione di offset e' minore di 1 mV sull'intero campo di temperatura. Il valore delle resistenze serie deve venir scelto come soluzione di compromesso tra l'esigenza di avere basse correnti di carico nel transistore di commutazione e quella di mantenere le resistenze le piu' basse possibili. Un valore che soddisfa abbastanza bene tali esigenze di aggira sui 40 kΩ. Le due esigenze si potrebbero in effetti conciliare diminuendo la tensione di riferimento, ma cio' introdurrebbe altri problemi, facendo aumentare il rapporto tra le tensioni da commutare e la tensione di offset. Il valore delle resistenze da inserire in parallelo puo' venir calcolato dalla relazione: R pi = R 2 −2 i = 1, 2, ...., n i che si ricava immediatamente qualora si consideri che al punto di inserzione dell'interruttore, a interruttore aperto, deve essere presente una tensione pari a: VR 2i 6.4.3) Pilotaggio di una giunzione somma. L'uscita di uno qualsiasi dei convertitori descritti in precedenza, con l’eccezione di quello a tensioni pesate, in cui tale provvedimento e’ gia’ presente nella struttura base, puo' essere connessa ad una giunzione a somma nulla che si puo' ottenere facendo si' che la corrente fornita dal convertitore D/A sia uguale ed opposta a quella fornita da altre sorgenti. Operando in tal modo si fa si' che la giunzione somma sia sempre a tensione nulla, come se l'uscita del convertitore fosse cortocircuitata a massa. Un possibile esempio e' riportato in fig. 6.17, in cui l'uscita di un convertitore a resistenze pesate e' collegata alla giunzione somma di un amplificatore operazionale. E' opportuno ricordare che se il guadagno a catena aperta dell'amplificatore e' sufficientemente elevato, la tensione presente alla giunzione somma e' praticamente nulla (massa virtuale) indipendentemente dalla tensione V0A presente all'uscita dell'amplificatore stesso. In tali condizioni ciascun bit della parola digitale di ingresso che si trovi al valore logico 1 opera come una sorgente di corrente e alla giunzione somma deve essere soddisfatta la condizione: I1 . b1 + I 2 . b 2 + I 3 . b 3 + I 4 . b 4 − I F = 0 227 Capitolo VI Conversione A/D e D/A avendo indicato con Ii la corrente entrante alla giunzione somma per effetto del bit i-esimo e con IF la corrente uscente lungo la resistenza RF. +VR giunzione somma -VR R b1 2R b2 RF K V0A massa virtuale b 4R 3 8R b4 fig. 6.17 Trasportando il tutto al caso di n bit si ottiene: b b b I F = VR . 1 + 2 + ...... + n −1n 2 .R R 2.R Poiche' V0A = - IF.RF, si ha in definitiva: e il fondo scala e' dato da: b b b V0 A = − VR .R F . 1 + 2 + ...... + n −1n 2 .R R 2.R V0 FS = − VR . RF R0 dove R0 rappresenta l'impedenza di uscita della rete di conversione. In sostanza la relazione trovata e' formalmente identica a quella che era stata ricavata in assenza dell'amplificatore operazionale. In questo caso tuttavia si consegue il vantaggio di poter scegliere entro certi limiti il valore della tensione di fondo scala scegliendo opportunamente il valore di RF e di rendere la tensione di uscita indipendente dal valore della resistenza di carico. E' bene osservare tuttavia che nelle realizzazioni integrate dei convertitori D/A molto spesso la resistenza di reazione viene essa stessa integrata nel dispositivo. E' infine opportuno illustrare un uso non del tutto convenzionale dei convertitori D/A presi in esame. Con alcune semplici considerazione si ottiene che un convertitore connesso alla giunzione somma di un amplificatore operazionale fornisce in uscita dello stesso la tensione: − V0 = VR . R F b1 b 2 b . + + ...... + nn R 2 4 2 228 Capitolo VI Conversione A/D e D/A avendo indicato con RF la resistenza di reazione e con R l'impedenza di uscita della rete di conversione. Considerato che: b1 b 2 b b .2 n −1 + b 2 .2 n − 2 + ......+ b n .2 0 B + + ...... + nn = 1 = n 2 4 2 2n 2 dove con B si e' indicato il valore rappresentato dalla parola binaria di ingresso, risulta evidente che, se all'ingresso viene applicato un segnale Vi anziche' una sorgente di riferimento VR, in uscita si ottiene una tensione: V0 = − Vi . R F .B R .2 n Si ottiene cioe' un amplificatore invertente il cui guadagno puo' essere controllato, con la precisione propria dei convertitori D/A, attraverso l'uso di una parola digitale B da n bit tra un valore nullo, quando B = 0, e il valore: R F 2n − 1 . R 2n quando B e' tutta formata da 1. Il guadagno puo' essere controllato in passi discreti di ampiezza: RF 1 . R 2n In sostanza il convertitore puo' essere visto come una resistenza variabile di valore 2n R. B E' ovvio che il convertitore D/A puo' essere inserito anche nel loop di reazione. Il tal caso l'espressione del guadagno e': 2n V0 B =− Vi Ri R. Anche in questo caso si ottiene un amplificatore il cui guadagno e' controllabile attraverso una parola binaria, ma il legame tra il guadagno e B e' di proporzionalita' inversa. Per questo motivo molto spesso in parallelo al convertitore viene connessa una resistenza fissa RF e il convertitore viene utilizzato unicamente per ottenere piccole variazioni del guadagno nell'intorno del valore nominale. Quale ultima considerazione relativa ai convertitori che fanno uso di amplificatori operazionali (in sostanza tutti i convertitori reperibili in commercio) e' necessario far notare che le caratteristiche dell'amplificatore condizionano le prestazioni globali. Le caratteristiche essenziali da prendere in considerazione in questo caso sono, come gia' accennato, gli offset di tensione e di corrente e la loro dipendenza dalla temperatura, il guadagno, la risposta di frequenza, lo slew rate e la massima ampiezza dall'uscita. 229 Capitolo VI Conversione A/D e D/A Nella maggior parte dei casi tuttavia solo l'offset costituisce un reale problema, in particolare se il convertitore deve avere una precisione dello 0.05% del fondo scala nella gamma di temperatura a norme MIL (-55° - 125° C). Cio' implica infatti che la tensione di uscita si debba mantenere stabile entro il ± 0.01% del fondo scala o entro ± 1 mV del valore desiderato. Nemmeno i piu' sofisticati amplificatori differenziali possono soddisfare questi requisiti e si devono quindi applicare opportune tecniche di correzione dell'offset e della deriva. Infine anche le alimentazioni degli amplificatori rivestono la loro importanza. Esse sono generalmente duali e nonostante il buon PSRR (Power Supply Rejection Ratio) degli amplificatori correntemente disponibili e' necessario che esse siano uguali in ampiezza, stabili entro il ± 1%, a basso rumore, a bassa ondulazione residua con un'impedenza d'uscita la piu' bassa possibile. 6.4.3) Il convertitore D/A con rete a scala invertita. Tutti i convertitori presi in esame fino a questo momento presentano una rete di resistori posta tra gli interruttori analogici e l'amplificatore operazionale (fig. 6.18 (a)). Questa disposizione circuitale da' luogo a parecchi inconvenienti. E' necessario infatti commutare tensioni relativamente elevate rendendo necessari dei piloti a tensione elevata, che sono complessi e lenti. Le correnti che attraversano i resistori variano al passaggio degli interruttori dallo stato ON a quello OFF e viceversa. Poiche' tutti i resistori presentano elementi parassiti induttivi e capacitivi, le correnti che vi fluiscono vanno a regime in un tempo che dipende dall'entita' degli elementi parassiti. Infine, come si e' gia' detto, per aumentare la velocita' i resistori dovrebbero essere di basso valore, mentre per ottenere la massima precisione tale valore dovrebbe essere elevato, in particolare rispetto all'impedenza di conduzione degli interruttori. Tutti questi problemi possono essere evitati, senza avere alcun inconveniente, se la posizione della rete resistiva e degli interruttori viene invertita come illustrato in fig. 6.18 (b). V R Interruttori ingresso digitale analogici di tensione Rete resistiva V 0 (a) V R Rete resistiva Interruttori analogici di tensione ingresso digitale (b) fig. 6.18 230 V 0 Capitolo VI Conversione A/D e D/A Se, ad esempio, nel convertitore con rete resistiva a scala la posizione degli interruttori e dei resistori venisse invertita, come illustrato in fig. 6.19, dal punto di vista del funzionamento non cambierebbe nulla tranne che per le specifiche che gli interruttori dovrebbero soddisfare. Nella configurazione normale gli interruttori connettono i resistori di ingresso a una tensione di riferimento VR o a massa. Nella configurazione invertita lo stesso interruttore, posto tra resistore e giunzione somma dell'amplificatore operazionale, permette di inviare la relativa corrente o alla giunzione somma citata o di richiuderla a massa. Connettendo la tensione di riferimento a quella che normalmente e' l'uscita della rete a scala e connettendo a massa (eventualmente alla massa virtuale dell'amplificatore operazionale) quelli che normalmente sono gli ingressi, nei resistori di ingresso circoleranno delle correnti che sono delle frazioni binarie e che vengono poi opportunamente sommate alla giunzione somma dell'operazionale. VR R R 2R 2R V0 2R 2R R 2R 2R fig. 6.19 In relazione agli interruttori si possono fare due considerazioni; innanzi tutto l'interruttore diviene un commutatore di corrente, di piu' facile realizzazione. In secondo luogo le resistenze della rete a scala possono essere grandi quanto si vuole poiche' le reattanze parassite perdono di importanza in quanto la corrente che circola sui resistori e' costante. Un convertitore del tipo descritto richiede un interruttore e due resistori di precisione per ciascun bit. Gli interruttori tuttavia risultano notevolmente meno complessi di quelli della realizzazione tradizionale. Infatti, poiche' le resistenze della rete a scala possono essere relativamente alte non e' necessario usare interruttori con impedenze di conduzione molto basse. L'unico fattore che limita il valore delle resistenze della rete e' il loro ingombro che in una certa misura puo' essere considerato proporzionale al valore resistivo. Un buon compromesso si raggiunge di solito con R = 25 ÷ 50 kΩ. Con questi valori resistivi un interruttore che abbia un'impedenza di conduzione di 75 Ω introduce un errore di non linearita' di solo lo 0.03%. Questo errore inoltre puo' essere facilmente corretto con un piccolo resistore di compensazione in serie con il resistore di reazione. 6.4.4) Precisione e accuratezza di conversione. Le relazioni, che si sono trovate per i vari tipi di convertitore descritti ai paragrafi precedenti, sono state ricavate nell'ipotesi di interruttori e resistori ideali. Nella pratica le cose vanno diversamente in quanto i valori resistivi presenteranno sempre una certa tolleranza rispetto ai loro valori nominali e gli interruttori, normalmente allo stato solido, avranno una resistenza di conduzione non nulla e una corrente di perdita anch'essa non nulla quando si troveranno nello stato OFF. 231 Capitolo VI Conversione A/D e D/A C'e' inoltre da osservare che anche il segnale di pilotaggio degli interruttori puo' in una certa misura presentarsi in uscita, introducendo un ulteriore errore. In fig. 6.20 (a), nella quale si e' fatta l'ipotesi che il bit piu' significativo della parola binaria sia al valore logico 1 mentre quello immediatamente successivo sia al valore logico 0, sono illustrati i parametri tipici che contribuiscono a diminuire la precisione di conversione. Le relazioni che sono state trovate in precedenza per la tensione di uscita erano funzione di due sole quantita'; il valore della tensione di riferimento commutata da interruttori ideali posti all'ingresso della rete resistiva ed i valori nominali dei resistori stessi. Introducendo nelle relazioni i valori reali anziche' quelli ideali per VR e R si possono valutare gli effetti sulla precisione. E' bene notare che tutte le cause di errore possono esser fatte rientrare o nella tensione equivalente di riferimento o nel valore relativo al resistore associato ad un particolare bit. Nell'esempio, che si sta trattando, gli errori che possono essere associati alla rete resistiva sono le tolleranze ±∆R e l'impedenza dinamica rs dell'interruttore definita come: v rs = ac i ac con vac tensione presente ai capi dell'interruttore in presenza di una corrente iac (a piccoli segnali), nelle condizioni di funzionamento previste. switch on VR ± ∆VR rg VOF Pilota dello switch bit piu' significativo (1) rs ± ∆R ID IR R V0A switch off switch off ± ∆ 2R 2R IR bit immediatamente successivo (0) VR rs Pilota dello switch agli altri bit switch on VOF ID (ID + I N ).rg ± ∆VR (a) (b) VOF rs ± ∆R VOF rs ± ∆ 2R 2R R agli altri bit fig. 6.20 VOF, detta tensione di offset, e' invece la tensione che esiste ai capi di diversi tipi di interruttore analogico anche in assenza di corrente. In altre parole VOF non e' funzione della corrente che 232 Capitolo VI Conversione A/D e D/A fluisce attraverso l'interruttore verso la rete resistiva, ma e' generata all'interno del circuito a causa del segnale di pilotaggio e si presenta ai suoi terminali in condizioni ON. Se ad esempio come interruttore venisse utilizzato un normale diodo al silicio, commutandolo in conduzione con una corrente di 1 mA, si avrebbe una tensione di offset VOF approssimativamente di 0.6 volt. Tale tensione va algebricamente sommata alla tensione di riferimento. Anche l'impedenza della sorgente rg deve venir tenuta in considerazione, soprattutto quando la commutazione dell'interruttore fa circolare su rg una corrente, dando luogo ad un errore nella tensione di riferimento. ±∆VR rappresenta le variazioni di VR con il tempo, la temperatura, etc. La corrente di perdita dell'interruttore OFF il piu' delle volte si puo' invece trascurare in quanto e' di modestissima entita' e circola su rs e rg che normalmente sono di basso valore. In fig. 6.20 (b) e' riportato un circuito equivalente semplificato dell'esempio precedente, in cui sono state eliminate le sorgenti di errore meno significative, come ad esempio IR. rg e' stata sostituita da una tensione equivalente di errore pari a (ID + IN).rg in serie con il riferimento. Si tenga ora presente che il bit piu' significativo contribuisce all'uscita per circa la meta' della tensione di fondo scala. Pertanto qualsiasi errore in serie con la tensione di riferimento contribuisce in uscita con un errore pari alla meta' del suo valore. Il bit successivo contribuisce con peso 1/4 e cosi' via fino al bit meno significativo, che contribuisce con un peso pari a 1/2n. E' quindi evidente che e' necessario curare al massimo tutti i circuiti relativi al bit piu' significativo per mantenere piccolo l'errore in uscita, mentre l'esigenza di elementi precisi e stabili si va via via riducendo man mano che si procede verso i bit meno significativi. Queste considerazioni sono vere anche per i resistori della rete a scala e per le resistenze serie degli interruttori, che connettono la sorgente di riferimento alla rete stessa. Per meglio chiarire le cose si supponga di avere a che fare con un convertitore da 10 bit. Il peso del bit meno significativo e' 1/1024 e quindi anche se il resistore relativo ha una tolleranza del 10% esso determina in uscita un errore che e' solamente lo 0.01% del fondo scala. Sulla base di queste considerazioni e' intuibile che l'accuratezza totale e' dello stesso ordine di grandezza di quella dei singoli resistori. Infatti, detta p l'accuratezza percentuale dei resistori e P l'accuratezza percentuale dell'uscita rispetto il fondo scala, si ha: 1 1 1 P = p. + + ...... + n ≅ p 2 2 4 6.5) I convertitori D/A seriali. Da quanto esposto ai paragrafi precedenti si puo' intuire che i convertitori paralleli sono notevolmente veloci. Essi tuttavia richiedono un considerevole numero di componenti. D'altronde spesso la loro elevata velocita' non puo' venir utilizzata poiche' il segnale di ingresso e' in forma seriale, l'amplificatore d'uscita e' lento oppure il sistema analogico che utilizza l'uscita del convertitore ha delle costanti di tempo molto grandi e quindi non e' richiesta un'elevata velocita' operativa. Per tali motivi sono stati sviluppati convertitori D/A seriali, ottenendo una maggior semplicita’ circuitale, con un minor numero di componenti e a minor costo, a spese della velocita'. Cio' non significa naturalmente che tutti i convertitori seriali siano lenti; spesse volte, come nel caso dei convertitori ciclici, essi sono rapidi almeno quanto un convertitore D/A parallelo che agisca in unione con un buffer serie-parallelo. Tutti i convertitori seriali si basano sul principio operativo illustrato in fig. 6.21. Il segnale binario di ingresso XSB controlla il funzionamento del convertitore bit per bit. Se durante il periodo 233 Capitolo VI Conversione A/D e D/A attivo di clock Ti il segnale XSB e' al valore logico 1 alla tensione Vi immagazzinata in un condensatore (rappresentato in figura dal blocco memoria analogica) viene sommata la tensione di riferimento VR e la somma risultante viene divisa per due. Se XSB e' zero allora Vi viene semplicemente ridotta a meta'. Come risultato di queste operazioni si ha una tensione Vi+1, che viene memorizzata nella capacita' in modo da essere disponibile al successivo periodo di clock Ti+1. Si ha cioe': Vi+1 = 1 .(Vi + a i .VR ) 2 dove ai e' il bit della parola binaria XSB al tempi Ti. La tensione immagazzinata nella capacita' durante l'ultimo tempo di bit rappresenta l'uscita del convertitore. Poiche' tale tensione e' disponibile soltanto durante un breve periodo durante ciascun tempo di parola e' necessario un circuito di ritenuta per ottenere una tensione di uscita costante. X SB (Ti ) +VR -VR + 1/2 Vi+1 Vi X SB (TS ) Memoria analogica fig. 6.21 I convertitori seriali usualmente operano ad una frequenza fc di clock pari a quella del segnale di ingresso. In altre parole il funzionamento del convertitore e' sincronizzato dalla temporizzazione del segnale binario di ingresso XSB. Tale segnale e' normalmente fornito direttamente al convertitore, il bit meno significativo per primo, e l'eliminazione di qualsiasi tipo di buffer realizza una considerevole economia circuitale. All'inizio della conversione e' evidentemente necessario forzare la tensione Vi a zero e tale operazione viene effettuata mediante un impulso di sincronizzazione immediatamente seguente il periodo del bit piu' significativo. Tale impulso riazzera la tensione Vi del condensatore dopo aver trasferito il valore ivi presente a un circuito di ritenuta. I convertitori D/A seriali si prestano molto bene a tecniche di multiplazione poiche' sia l'ingresso che l'uscita sono realizzati con una singola linea. Utilizzare un convertitore seriale da 12 bit per 10 segnali di ingresso richiede un commutatore elettronico ad una via e 12 posizioni, dove per ottenere la stessa cosa con un convertitore parallelo sarebbe necessario un commutatore a 12 vie e 10 posizioni. Per ragioni di semplicita', pur senza togliere nulla alla generalita' della descrizione, nel seguito verranno presi in esame solo convertitori seriali unipolari. Essi possono d'altra parte essere trasformati in dispositivi a funzionamento bipolare con semplici tecniche, che tuttavia dipendono 234 Capitolo VI Conversione A/D e D/A dal tipo di rappresentazione usato per il segnale binario di ingresso; ne' la presentazione in modulo e segno, ne' la presentazione binaria offset sono molto pratiche per convertitori seriali a funzionamento bipolare e non saranno quindi prese in considerazione. Al contrario la rappresentazione complemento a 2 o a 1 puo' essere implementata su qualsiasi convertitore seriale con l'aggiunta di un unico interruttore analogico e di una tensione di riferimento -VR, come illustrato sempre in fig. 6.21. L'interruttore analogico commuta tale tensione di riferimento all'ingresso del convertitore durante il periodo di clock Ts relativo al bit di segno. In tal modo la tensione VR viene sottratta dalla tensione Vi. Per operazioni bipolari quindi la relazione precedentemente trovata va modificata in: 1 .(Vi + a i .VR ) 2 1 Vu = .(Vis − a is .VR ) 2 Vi+1 = per i ≠ is per i = is dove is e' l'indice relativo all'ultimo bit dell'ingresso, cioe' quello piu' significativo. Con lo stesso ingresso binario l'uscita di un convertitore seriale bipolare e' sempre la meta' di quella di un convertitore unipolare. Cio' e' ovviamente dovuto al fatto che il bit piu' significativo e' utilizzato allo scopo di realizzare operazioni bipolari. 6.5.1) Il convertitore seriale Shannon-Rack. Il convertitore Shannon-Rack risolve il complesso problema della conversione D/A seriale ricorrendo a un minimo numero di componenti e sfruttando la curva esponenziale di scarica di un condensatore. Nello schema di principio di fig. 6.22 un generatore di corrente carica con una corrente costante Ic una capacita' C durante la prima meta' di ciascun periodo di clock quando il segnale binario all'ingresso rappresenta un uno logico. XSB fc G1 S1 Ic S4 Vc S2 C R V0 Cst S3 fc G2 fc Ts fc G3 fig.6.22 Durante la seconda meta' del periodo di clock la capacita' C viene scaricata sulla resistenza R mediante l'interruttore analogico S3. 235 Capitolo VI Conversione A/D e D/A Se invece durante un particolare periodo di clock il segnale di ingresso XSB e' uno zero logico la capacita' C non viene caricata, non essendo abilitato il relativo gate G1, mentre la scarica durante la seconda meta' del periodo di clock avviene comunque. La scarica esponenziale della capacita' puo' essere messa in relazione con gli impulsi della parola seriale di ingresso dalla relazione: Vc = VR .2 − k dove Vc e' la tensione ai capi della capacita' dopo il k-esimo periodo di clock e VR e la tensione iniziale ai capi del condensatore dopo la prima meta' del primo periodo si clock. Affinche' cio' sia vero e' sufficiente che: R= Tc .ln2 2 .C dove Tc rappresenta il periodo di clock. La relazione appena introdotta mostra che durante la seconda meta' di ciascun periodo di clock la tensione ai capi della capacita' C viene dimezzata. Tenendo presente che, per ciascun uno logico presente nel segnale di ingresso, la tensione ai capi della capacita' viene aumentata di VR durante la prima meta' del periodo di clock, ne risulta che alla fine di ciascun periodo tale tensione puo' essere espressa con una conveniente frazione di VR. Al numeratore di tale frazione si avra' il valore decimale rappresentato dal segnale binario di ingresso pervenuto fino a quell'istante, mentre al denominatore si avra' la potenza di due relativa alla posizione dell'ultimo bit pervenuto. In sostanza si ha: k VCk = VR . ∑ a i .2 i − k −1 i =1 dove con VCk si e' indicata la tensione ai capi del condensatore dopo il k-esimo periodo di clock mentre ai e' il bit al periodo i-esimo. A titolo di esempio si consideri l'ingresso binario da 8 bit 00101011 = 4310. In fig. 6.23 sono riportati il segnale binario di ingresso ordinato dal bit meno significativo al piu' significativo e la tensione ai capi della capacita' C in funzione del tempo. L'uscita Vu e' la tensione Vc ai capi della capacita' durante la prima meta' del nono periodo di clock ed e' proporzionale all'ingresso digitale XSB. Nello schema di principio di fig. 6.22 i componenti base del convertitore Shannon-Rack sono un generatore a corrente costante, quattro interruttori analogici, due amplificatori di separazione, due capacita' di memoria e tre gate AND. Vi e' una grande varieta' di scelta tra gli interruttori, siano essi realizzati con transistori bipolari o a FET. La scelta piu' opportuna viene a dipendere dalla logica usata nella parte bipolare di controllo. In linea di massima si puo' affermare che con logiche bipolari si rivelano maggiormente adatti i FET a giunzione, mentre con logiche MOS o CMOS vengono preferiti gli interruttori MOS 236 Capitolo VI Conversione A/D e D/A T1 T2 T3 -8 -7 -6 T9 T1 fc Ts Sincronismo 2 X SB 1 2 1 2 2 0 1 0 1 0 -1 0 2 0 -8 1 Vc 3 4 VR 11 16 43 64 VR VR 2 V R 43 3 8 VR 11 V 32 R 128 VR 43 256 VR fig. 6.23 Le funzioni svolte dai quattro interruttori dello schema di massima riportato in fig. 6.22 sono le seguenti: S1 permette la carica alla corrente costante Ic della capacita' C durante • la prima meta' di ciascun periodo Ti di clock nell'ipotesi che durante tale intervallo di tempo XSB valga 1. • S2 cortocircuita C in modo da scaricarlo durante il periodo di reset Ts. • S3 connette la capacita' C alla resistenza R durante la seconda meta' di Ti per scaricarla esponenzialmente. • S4 trasferisce durante la prima meta' del periodo di reset la tensione Vc ad un circuito di ritenuta formato dal condensatore Cst e da un amplificatore operazionale. Quale amplificatore di separazione tra la rete RC e il circuito di ritenuta viene impiegato un inseguitore di tensione, che presenta un'impedenza di ingresso estremamente elevata, rendendo superfluo l'uso di uno stadio di ingresso a FET. L'interruttore S4 in unione con Cst e un secondo inseguitore di tensione realizza il circuito di ritenuta. Tale circuito non richiede particolari caratteristiche di velocita' essendo la tensione Vc costante durante la prima meta' del periodo Ts di reset. Sebbene il convertitore Shannon-Rack sia estremamente semplice dal punto di vista circuitale, esso non e' mai stato usato in forma estensiva. La ragione risiede nel fatto che tale tipo di convertitore non e' molto preciso. Tuttavia utilizzando dispositivi FET o MOS e amplificatori 237 Capitolo VI Conversione A/D e D/A operazionali di basso offset e elevata impedenza di ingresso, appare ragionevole parlare di una precisione dello 0.1% del fondo scala. E' necessario d'altra parte prevedere una regolazione della rete RC in quanto la sua costante di tempo deve venir determinata sulla base della frequenza fc di clock. Inoltre e' molto discutibile quale sia la gamma di temperatura su cui la precisione citata puo' essere mantenuta, in quanto e' difficile e costoso produrre condensatori con coefficiente di temperatura molto basso. Infine il progetto di ogni circuito lineare e' generalmente un compromesso tra prestazioni statiche e dinamiche. Cio' e' vero in modo particolare per il convertitore Shannon-Rack, in cui la temporizzazione dei vari passi operativi e' essenziale in rapporto alla precisione statica. Per quanto riguarda la velocita' di conversione e' ovvio che essa e' determinata interamente dalla velocita' degli interruttori analogici. Ad esempio con tempi di commutazione di 300 nsec. la frequenza del clock non deve superare approssimativamente i 10 kHz se si vuole che gli errori dovuti agli interruttori analogici non superino lo 0.1%. Cio' da' luogo a un tempo totale di conversione di 1.2 msec. per parole digitali da 12 bit. 6.5.2) Il convertitore seriale “sample-hold”. Un tipo diverso di convertitore seriale e' quello sample-hold o convertitore a ritenuta, realizzato con tre circuiti S/H e il cui schema di principio e' riportato in fig. 6.24. Il principio di funzionamento di ciascuno di questi tre circuiti e' identico; quando l'interruttore S e' chiuso il condensatore C si carica alla tensione V, combinazione lineare delle tensioni presenti all'ingresso del circuito di ritenuta stesso. Quando l'interruttore S e' aperto, l'uscita del circuito di ritenuta si mantiene al valore V raggiunto. Il primo circuito di ritenuta della figura 6.24 somma una tensione di riferimento VR all'uscita V02 del secondo circuito di ritenuta e moltiplica tale somma per un fattore 1/2. Il secondo circuito di ritenuta ha un solo ingresso, al quale e' applicata la tensione V01. Il suo fattore di amplificazione e' unitario e quindi V02 e' uguale in ampiezza a V01. S1 R +VR C1 S3 R S4 C 2R S2 2 V01 2R XSB R V02 S/H 2 S/H 1 + V0 C T fc Ti G1 fc Ti G2 fig. 6.24 I due circuiti di ritenuta sono connessi ad anello e i due interruttori S3 e S4 vengono azionati alternativamente, uno nella prima meta' del periodo di clock, l'altro nella seconda meta', in modo che quando V01 varia V02 rimane costante e viceversa. Il segnale digitale di ingresso XSB aziona direttamente l'interruttore S1 in modo che in corrispondenza agli 1 logici del segnale di ingresso la tensione applicata al primo Sample-Hold sia pari a VR. Poiche' l'interruttore S3 e' chiuso durante la prima meta' del periodo di clock Ti, la tensione di uscita e': 238 Capitolo VI Conversione A/D e D/A V01 = 1 .(V02 + a i .VR ) 2 avendo indicato con ai il valore del bit della parola di ingresso presente al tempo i. La variazione rispetto al valore precedente avviene con una costante di tempo RC, dove R e C sono i valori di resistenza e capacita' inseriti sul ramo di reazione dell'amplificatore operazionale. Durante la seconda meta' di Ti la tensione V01 e' trasferita al secondo circuito Sample-Hold con la chiusura dell'interruttore S4 e la tensione V02 diventa uguale a V01. Si completa cosi’ un ciclo operativo. Le operazioni durante tutti gli altri cicli si susseguono identiche facendo si' che l'uscita del convertitore alla fine dell'intera parola di ingresso sia proporzionale al valore da rappresentato da quest’ultima. In fig. 6.25 e' riportato l'andamento delle tensioni nei vari punti del circuito in corrispondenza all'ingresso seriale 000000101011. Il formato di parola dura pertanto 12 periodi di clock, da T1 a T12; ciascun periodo viene poi considerato diviso in due parti, Ti e Ti . Si suppone inoltre che esista un impulso di reset (sincronizzazione), sempre nullo eccetto che al tempo T13 e che il tempo necessario a caricare i condensatori dei circuiti S/H sia piccolo in rapporto a Ti. Si tenga infine presente che l'interruttore S3 e' chiuso durante il semiperiodo Ti, mentre S4 e' chiuso durante il semiperiodo Ti . Il circuito di un convertitore seriale Sample-Hold consiste di quattro interruttori analogici, tre amplificatori operazionali, due gate AND a due ingressi ed alcuni componenti discreti. I due interruttori S3 e S4 connessi ai circuiti di Sample-Hold devono avere una capacita' ingresso-uscita la piu' piccola possibile, poiche' operano direttamente alla giunzione somma dell'operazionale; in caso contrario l'energia che attraverso essi si trasferisce durante le operazioni di commutazione potrebbe caricare erroneamente le due capacita' di memorizzazione C1 e C2. Nell’applicazione presa in esame, come in molte altre in cui siano usati circuiti di ritenuta, si richiede che l'uscita segua l'ingresso con l'errore massimo di un millivolt. Di conseguenza per caricare correttamente il condensatore di ingresso e' necessario che il periodo di clock sia pari almeno a nove costanti di tempo. In altre parole, se si volesse un periodo di clock di 10 µsec. la costante di tempo di carica del condensatore dovrebbe essere dell'ordine del microsecondo. Sono quindi imposte delle specifiche abbastanza pesanti ai valori di resistenza e capacita' e inoltre anche lo slew rate degli amplificatori operazionali dev'essere di buon valore. Ad esempio, con una costante di tempo di carica di 1 microsecondo, con R = 10 kΩ e C = 100 pF, l'amplificatore deve avere una velocita' di salita di 6 V/µsec. e tale specifica e' abbastanza pesante per un buon numero di amplificatori operazionali monolitici. A cio' si aggiunge che se il valore assunto per R appare ragionevole quello di C e' troppo basso. Di conseguenza si deve il piu' delle volte giungere ad un compromesso e la soluzione piu' semplice e' quella di ridurre la velocita'. A titolo di esempio, se si scegliesse un periodo di clock di 50 µsec. valori ragionevoli per il circuito Sample-Hold potrebbero essere R = 10 kiloohm, C = 500 picofarad e slew-rate di 1.2 V/µsec. Un importante vantaggio del convertitore Sample-Hold rispetto a quello Shannon-Rack e' che le sue prestazioni, entro larghi limiti, non dipendono ne' dalla precisione, ne' dalla stabilita' dei condensatori. E' questo un fattore molto importante in quanto, come gia' e' stato detto, condensatori di elevata precisione e stabilita' sono difficili da realizzare e molto costosi. 239 Capitolo VI Conversione A/D e D/A T1 T 2 T3 1 1 T12 T 13 T1 fc T13 XSB V01 0 1 3 4 VR 0 11 V 16 R 1 0 0 0 0 0 0 43 V 64 R 1 V 2 R 43 V 128 R 3 8 VR 11 V 32 R 43 V 256 R 3 4 VR V 02 43 V 43 512 R V 1024 R t 1 V 2 R 3 V 8 R t fig. 6.25 Altro importante vantaggio si ha per il fatto che i tempi di commutazione degli interruttori analogici non sono critici, poiche' essi al massimo limitano la velocita' operativa. Le prestazioni statiche e dinamiche del convertitore dipendono in pratica solo dalle prestazioni del circuito Sample-Hold usato. E' ragionevole pensare che la precisione del circuito illustrato schematicamente in fig. 6.24 sia almeno dello 0.1% del fondo scala ad una frequenza di clock di 10 kHz. La risoluzione puo' raggiungere qualsivoglia valore, semplicemente variando la temporizzazione del segnale di reset T13. Con una frequenza di clock di 10 kHz il tempo di conversione per parole binarie da 12 bit e' di 1.2 msec. E' ovvio tuttavia che sulla base delle caratteristiche di componenti piu' moderni si possono ottenere delle precisioni e delle velocita' operative considerevolmente piu' alte. 6.5.3) Il convertitore seriale ciclico. Un ulteriore tipo di convertitore D/A seriale, che evita tutti gli inconvenienti del convertitore Shannon-Rack e' quello ciclico. Esso differisce da quello Sample-Hold in quanto usa solo due amplificatori operazionale e alcune resistenze di precisione; e' tuttavia necessario un numero maggiore di interruttori analogici. Uno dei suoi pregi risiede nel fatto che e' notevolmente piu' veloce che non quello Sample-Hold. Il convertitore ciclico, illustrato in fig. 6.26, usa due interruttori S1 e S2 per collegare l'ingresso di un amplificatore A1 ad una tensione di riferimento o a terra. 240 Capitolo VI Conversione A/D e D/A T12 S3 XSB V0 Cst S1 fc VR R S2 Vk A1 fc S4 CA R fc fc S7 S5 X SB CB S8 T1 fig. 6.26 Altri tre interruttori, S3, S4 e S5, sono usati per collegare l'uscita dell'amplificatore alle capacita' di memorizzazione Cst, CA e CB. Infine altri tre interruttori, S6, S7 e S8, servono a connettere l'ingresso di A1 a CA, CB o a terra. A1 lavora come inseguitore di tensione con guadagno pari a 0.5. Chiudendo gli interruttori S1 e S8 la tensione di uscita Vk sara': Vk = VR 2 mentre chiudendo gli interruttori S1 e S6 si avra': 1 (VR + VCA ) 2 L'interruttore S1 viene azionato quando un bit dell'ingresso binario seriale XSB rappresenta un uno logico, mentre quando e' uno zero logico viene azionato l'interruttore S2. Gli interruttori connessi all'uscita S3, S4 e S5, sono controllati rispettivamente dal bit piu' significativo T12, dalla frequenza di clock fc e dalla sua negazione f c . Analogamente gli interruttori di controreazione S6, S7 e S8 sono commutati da f c , fc e T1, segnale di ingresso durante il primo periodo di clock. Vk = Un 1 logico presente al bit meno significativo di XSB da' quindi luogo alla seguente sequenza operativa: VR 2 VR Vk = 4 Vk = 241 durante T1 durante T2 Capitolo VI Conversione A/D e D/A VR durante T3 8 ................................................ V Vk = R durante T12 4096 Vk = Cio' sta ad indicare, come per i precedenti convertitori seriali, la relazione di proporzionalita’ tra l'uscita analogica e il valore espresso dalla parola binaria di ingresso. Una miglior comprensione di come il convertitore ciclico operi si puo' avere dall'esame delle forme d'onda di fig. 6.27. T1 T2 T3 T 11 T 12 T 1 T 2 fc T12 X SB 1 1 1 2 0 1 0 1 0 0 0 0 0 0 1 1 VR 3 8 VR 11 V 32 R 43 V 128 R V CA 43 V 512 R 3 4 VR 11 V 16 R 43 V 2048 R t 43 V 64 R non in scala V CB 43 V 256 R 43 V 1024 R 43 V 4096 R t fig. 6.27 Si noti che il segnale seriale di ingresso e' 000000101011, il formato della parola e' di 12 periodi di clock da T1 a T12, il tempo richiesto per caricare le capacita' di memorizzazione e' piccolo in rapporto a Ti, la capacita' di memorizzazione CA e' caricata sempre attraverso S4 durante i periodi pari di clock, mentre quella CB nei periodi dispari attraverso S5. Inoltre quando CA si carica attraverso S4, S6 e' aperto e viceversa, quando S6 e' chiuso per riportare in controreazione la tensione VCA, S4 e' aperto; analogamente, quando CB si carica attraverso S5, S7 e' aperto e quando S7 e' chiuso S5 e' aperto. Dalla fig. 6.27 si vede che durante il primo periodo di clock T1 XSB e' un uno logico. Gli interruttori S1 e S8 connettono all'ingresso rispettivamente la tensione di riferimento VR e la massa, S4 collega Vk a CA, S7 riporta all'ingresso VCB, ma poiche' anche S8 e' chiuso la capacita' CB si scarica istantaneamente in modo che nessuna tensione viene effettivamente riportata all'ingresso. Vk diventa allora pari a VR/2 e carica CA a tale valore. 242 Capitolo VI Conversione A/D e D/A Durante T2 XSB e' a 1, gli interruttori S1 e S6 connettono ad A1 rispettivamente la tensione VR e VCA, pari a VR/2, mentre S5 collega l'uscita dell'amplificatore A1 a CB. Vk diventa allora pari a 3.VR/4 e CB si carica a tale valore. Durante il periodo T3 XSB e a zero, gli interruttori S2 e S7 connettono all'ingresso di A1 rispettivamente zero volt e VCB, pari a 3.VR/4. S4 collega l'uscita dell'amplificatore al condensatore CA che si carica ad una tensione pari a 3.VR/8. Il ciclo prosegue poi in maniera analoga e le operazioni successive si possono agevolmente seguire dalla fig. 6.27 a dalla tabella 6.2. Durante l'ultimo impulso di clock, T12, l'uscita dell'amplificatore A1 viene collegata per mezzo di S3 al condensatore di memorizzazione Cst in modo da realizzare una tensione di uscita costante durante tutto il tempo di parola. Poiche' Cst deve mantenere l'uscita fissa per 12 periodi di clock essa non deve venir assolutamente caricata e il metodo piu' semplice per far si' che cio' sia realizzato, ottenendo nel contempo una bassa impedenza d'uscita, e' quello di ricorrere ad un ulteriore amplificatore di separazione. TABELLA 6.2 X T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T 11 T12 SB Interruttori chiusi VCA V CB V0 1 S1 S4 S 7 S 8 1/2 VR 0 ------ 1 S1 S 5 S 6 1/2 VR 3/4 VR ------ 0 S 2 S4 S 7 3/8 VR 3/4 VR ------ 1 S1 S 5 S 6 3/8 VR 11/16 VR ------ 0 S 2 S4 S 7 11/32 VR 11/16 VR ------ 1 S1 S 5 S 6 11/32 VR 43/64 VR ------ 0 S 2 S4 S 7 43/128 VR 43/64 VR ------ 0 S1 S 5 S 6 43/128 VR 43/256 VR ------ 0 S 2 S4 S 7 43/512 VR 43/256 VR ------ 0 S1 S 5 S 6 43/512 VR 43/1024 VR ------ 0 S 2 S4 S 7 43/2048 VR 43/1024 VR ------ 0 S1 S 3 S 5 43/2048 VR 43/4096 VR S6 43/4096 VR In sostanza quindi il circuito di un convertitore D/A ciclico a singolo canale consiste, escludendo l'amplificatore di separazione dell'uscita, in un amplificatore, otto interruttori analogici, tre capacita' di memorizzazione e due resistenze di precisione. La resistenza di conduzione di tutti gli interruttori, con l'eccezione di S3, deve essere al massimo di 100 Ω e quelle di S1 e S2 devono essere uguali a quelle di S6, S7 e S8 entro il 10% se si vuole che l'errore totale dovuto agli interruttori analogici sia minore dello 0.02% del fondo scala, quando per le resistenze del circuito si sceglie il valore di 50 kΩ. La resistenza di conduzione dell'interruttore S3 non e' critica in quanto va a influire solamente sulla costante di tempo di carica di Cst. Non e' necessario che il tempo di commutazione degli interruttori sia inferiore a 1 µsec. poiche' di solito la velocita' operativa viene limitata degli amplificatori e non dagli interruttori. E' bene far notare che gli interruttori di reazione S6 e S7 non possono essere del tipo a transistori bipolari ad accoppiamento diretto, in cui la corrente di base fluisce verso il circuito di segnale, in quanto questo fatto potrebbe alterare il valore di tensione che viene memorizzato nei 243 Capitolo VI Conversione A/D e D/A condensatori. Le specifiche possono essere soddisfatte da vari tipi di interruttori serie FET o MOS, malgrado che alcuni di essi, in particolare quelli MOS, debbano venir selezionati per limitare la dispersione della resistenza di conduzione entro il 10%. Inoltre gli interruttori MOS hanno lo svantaggio che l'impedenza di conduzione varia in funzione dell'ampiezza del segnale di ingresso. Si puo' comunque affermare che la scelta finale dell'interruttore e' determinata dal tipo di logica usata nei circuiti digitali di controllo associati al convertitore. Quando si deve operare ad elevate velocita' di conversione l'amplificatore A1, oltre ad avere bassi offset, deve avere elevato "slew rate" e deve poter fornire in uscita elevate correnti. Per una frequenza di clock di 100 kHz la velocita' di salita deve essere almeno di 6V/µsec. e l'amplificatore deve essere in grado di fornire almeno 10 mA. Fattore molto importante per la precisione e l'accuratezza della conversione e' poi la precisione del divisore di ingresso, mentre esse non sono affatto influenzate dal valore delle capacita' di memorizzazione CA, CB e Cst . Una loro eventuale variazione cambia unicamente la costante di tempo di carica e influisce di conseguenza solo sulla velocita' di conversione. Tuttavia per evitare significative perdite di carica e' bene che tali capacita' siano di grande valore rispetto alla capacita' di ingresso dell'amplificatore e alle capacita' parassite del circuito. La velocita' di conversione di un convertitore D/A ciclico puo' essere fino a 20 volte superiore a quella di un convertitore Sample-Hold. Una prima riduzione per due dei tempi si ha per il fatto che un ciclo di conversione richiede un periodo di clock lungo la meta' che non quello del convertitore Sample-Hold. La riduzione dei tempi di un ulteriore fattore 10 deriva dal fatto che le capacita' vengono caricate attraverso le resistenza di conduzione di interruttori analogici anziche' l'impedenza di controreazione dell'amplificatore S/H, che si puo' appunto ritenere mediamente maggiore di un fattore 10. Si puo' concludere quindi che la velocita' di conversione piu' alta si ottiene a spese di un amplificatore piu' rapido, in grado di fornire elevate correnti di uscita, ma senza sacrificare la precisione statica. Il prodotto precisione velocita' e' percio' venti volte piu' alto che non per il convertitore Sample-Hold e quindi per ottenere determinate prestazioni si possono usare componenti di minor qualita' e minor costo. Con un progetto accurato e con una frequenza di clock di 100 kHz il convertitore ciclico puo' raggiungere una precisione dello 0.05% del fondo scala. Il tempo richiesto per una conversione completa di parole da 12 bit e' a questa frequenza di 120 µsec. 6.5.4) Il convertitore seriale ad equalizzazione di carica. Il convertitore seriale ad equalizzazione di carica e' semplice come quello Shannon-Rack, ma non presenta gli stessi problemi. Esso implementa l'equazione fondamentale, che sta alla base delle conversione seriale, basandosi sul principio che quando un condensatore scarico viene connesso in parallelo ad uno carico si ha circolazione di corrente dall'uno all'altro finche' le tensioni ai capi dei due condensatori non siano diventate uguali. Se i due condensatori hanno lo stesso valore di capacita', la carica finale su ciascuno d'essi e' la meta' di quella accumulata inizialmente in quello carico. Il principio base e' implementato nel convertitore ad equalizzazione di carica come illustrato nello schema di massima di fig. 6.28. Vi sono due interruttori S1 e S2 che caricano la capacita' C1 alla tensione VR o la scaricano a massa in funzione del valore assunto dal XSB. Un terzo interruttore S3 collega la capacita' C1 a C2 in modo da equilibrare la carica; un quarto interruttore S4 trasferisce la carica da C2 a Cst quando la conversione e' stata completata. 244 Capitolo VI Conversione A/D e D/A fc T13 X SB fc fc Vout VR S3 S1 S2 C1 V 0 S4 C2 Cst fc X SB T13 fig. 6.28 L'interruttore S4, l'amplificatore e la capacita' Cst costituiscono il circuito d'uscita di tipo Sample-Hold. Durante il normale ciclo operativo, l'interruttore S1 o quello S2 sono sempre chiusi durante la prima meta' di ciascun periodo di clock e sempre aperti durante la seconda meta'. L'interruttore S3 e' invece sempre aperto durante il primo semiperiodo e sempre chiuso durante il secondo semiperiodo di Ti. S1 e' azionato dal segnale che si ricava dal prodotto logico di XSB e della frequenza di clock fc, S2 del prodotto logico della negazione di XSB e fc, mentre S3 e' azionato direttamente dalla negazione di fc. Il ciclo operativo inizia durante il primo periodo T1, quando e' presente il bit meno significativo di XSB. Se questo bit e' un 1 logico, l'interruttore S1 viene chiuso durante la prima meta' di T1 e la capacita' C1 si carica alla tensione VR. Durante la seconda meta' di T1 si chiude S3 e C2 si carica alla tensione VR/2. Si e' assunto evidentemente che C2 sia stato completamente scaricato prima che inizi il periodo T1. Se il successivo bit di XSB e' ancora un 1 logico, la sequenza di azionamento dei due interruttori S1 e S3 gia' illustrata fa si' che dapprima C1 si carichi alla tensione VR e successivamente C2 raggiunga la tensione 1 VR + .VR 2 = 3V R 2 4 Se invece il secondo bit e' uno zero logico dapprima viene azionato S2 poi S3 in modo che C2 raggiunga una tensione pari a 3.VR/4. Il ciclo si ripete poi in modo identico in tutti i successivi periodi di clock. Le operazioni di presentazione dell'uscita e di rimessa a zero vengono compiute durante il tredicesimo periodo di clock. La presentazione dell'uscita e' effettuata durante la prima meta' di T13, chiudendo l'interruttore S4 e caricando Cst, supposto uguale in valore a C2, al valore di VC2/2. La rimessa a zero e' fatta durante la seconda meta' di T13 chiudendo simultaneamente S2 e S3 e scaricando in tal modo sia C1 che C2. Il convertitore a equalizzazione di carica e' formato solamente da quattro interruttori analogici, quattro porte logiche, tre condensatori di memorizzazione e un amplificatore. 245 Capitolo VI Conversione A/D e D/A I quattro interruttori devono essere realizzati con transistori ad effetto di campo e devono avere la possibilita' di commutare tensioni comprese tra 0 e 10 volt. Essi devono inoltre essere tali da avere basse correnti di perdita nella condizione OFF e bassissime capacita' parassite tra ingresso e uscita. Non e' necessario invece che abbiano base resistenze di conduzione, che determinano unicamente le velocita' con cui i vari condensatori si caricano. Se, ad esempio, si assume che C1 e C2 abbiano una capacita' di 1000 pF e che per caricare con la voluta precisione tali condensatori siano necessarie 10 costanti di tempo e infine che la resistenza Ron sia di 1000 ohm, in modo tale che la relativa costante di tempo sia di 1µsec., allora ciascun periodo di clock dev'essere di 20 µsec. con una frequenza di clock di 50 kHz. Il tempo totale di conversione di una parola da 12 bit e' in questo caso di 260 µsec. I valori delle capacita' C1, C2 e Cst devono essere uguali tra loro entro lo 0.05% sull'intero campo operativo di temperatura. Il loro valore non e' critico ed e' determinato solamente dalla velocita' di conversione desiderata e dalle capacita' parassite degli interruttori analogici. 6.6) Conversione indiretta. I convertitori paralleli e seriali visti ai paragrafi precedenti possono essere classificati anche come convertitori diretti in quanto convertono direttamente un segnale di tipo digitale in una grandezza analogica. Al contrario i convertitori che verranno ora presi in considerazione devono essere visti come dispositivi indiretti in quanto in un primo tempo convertono il segnale digitale in un segnale intermedio e successivamente quest'ultimo nel segnale analogico d'uscita. Questo modo di operare consente di economizzare sui componenti circuitali, in modo particolare sui resistori e gli interruttori analogici, a scapito della velocita' di conversione. Si possono distinguere due tipi di convertitori D/A indiretti; quelli che convertono dapprima il segnale digitale in un treno di impulsi modulati in durata e successivamente tale segnale in una tensione e quelli che come segnale intermedio si avvalgono di un treno di impulsi modulati in frequenza. Il vantaggio del segnale intermedio risiede nel fatto che esso puo' essere generato facilmente dal segnale digitale e facilmente poi essere trasformato in un segnale in continua. Lo svantaggio di ambedue i tipi sta nel fatto che l'informazione non puo' essere presentata direttamente all'uscita, ma deve essere estratta dal segnale intermedio con un procedimento di media. Lo schema a blocchi semplificato di fig. 6.29 mostra che un convertitore D/A indiretto puo' essere considerato formato da due unita'; una sezione digitale che trasforma il segnale digitale nel segnale intermedio e una sezione analogica che converte il segnale intermedio in una tensione continua. Per convertire l'informazione digitale in un treno di impulsi modulati in durata si usa un normale contatore unidirezionale, che viene posizionato inizialmente al valore Xp rappresentato dall'informazione digitale. Successivamente tale contatore conta all'indietro fino a zero. Si fa si' che l'uscita sia alta per tutto il tempo di conteggio da Xp a zero. Per convertire invece il segnale digitale in un treno di impulsi modulati in frequenza si ricorre al "binary rate multiplier" che genera uno specifico numero di impulsi stretti per intervallo di tempo. Il numero degli impulsi generati per intervallo T costante e' direttamente proporzionale all'ingresso digitale Xp. La conversione da treno di impulsi a tensione continua viene fatta in ambedue i casi con lo stesso circuito. Un interruttore analogico, con pure funzioni di formatore di impulso, viene usato per ottenere degli impulsi di tensione rettangolari di ampiezza definita e costante. Il filtro passabasso ne fa la media, estraendone la componente continua in modo che la tensione risultante sia proporzionale o alla durata o alla frequenza di ripetizione degli impulsi. 246 Capitolo VI Conversione A/D e D/A Poiche' sia la durata che la frequenza degli impulsi e' in ciascun caso proporzionale a Xp anche l'uscita in continua del convertitore e' proporzionale a Xp. ingresso digitale parallelo T tx Rf modulazione di fc durata Interruttore Circuiti Digitali analogico T Sezione digitale Filtro passabasso Sezione analogica Modulazione di frequenza RB V0 -VR fig. 6.29 La conversione in impulsi e la successiva operazione di filtraggio sono operazioni lente. Ad esempio, affinche' un contatore possa contare da 212 a 0 con una frequenza di clock di 1 MHz sono necessari approssimativamente 4 msec. Ne consegue che la frequenza di ripetizione degli impulsi modulati in durata in uscita di un convertitore che operi con una frequenza di clock da 1 MHz non potra' superare 1 250 Hz. Cio' significa ancora che il convertitore fornira' al massimo 250 campioni di informazione al secondo. Per estrarre il segnale in continua sara' poi necessario un filtro con costante di tempo molto superiore al periodo T di ripetizione degli impulsi. Per questa ragione la massima frequenza del segnale di uscita del filtro passabasso non sara' che una piccola frazione della frequenza di ripetizione degli impulsi. Quindi se si suppone sia essenziale che il segnale di ingresso sia campionato 100 0 piu' volte per periodo, allora con un convertitore la cui frequenza di campionamento sia 250 Hz potranno venir trattati segnali con una frequenza massima di 2.5 Hz. Questo semplice esempio mostra chiaramente le limitazioni di velocita' della conversione indiretta. Tuttavia vi sono moltissime applicazioni in cui la frequenza del segnale di ingresso e' inferiore all'hertz e nelle quali la conversione indiretta puo' essere utilmente impiegata. Se tuttavia sono necessarie velocita' di conversione elevate vi sono diversi metodi per ottenerle. Un primo modo per aumentare la velocita' di un convertitore D/A indiretto e' quello di aumentare la frequenza di clock. Vi sono ovviamente delle limitazioni sulla massima frequenza utilizzabile. Una seconda via potrebbe essere quella di usare meno bit nella parola digitale di ingresso, ma di solito il progettista non puo' intervenire a questo livello, in quanto il numero di bit risulta fissato dalla risoluzione desiderata. E' molto piu' usuale fare ricorso a convertitori a velocita' multipla ("multi-speed"); questa tecnica tuttavia, come verra' illustrato piu' avanti, richiede dei circuiti addizionali e quindi l'incremento di velocita' viene ottenuto con un aumento di costo, complessita', dimensioni e peso del circuito. Come per i convertitori visti ai paragrafi precedenti, anche i convertitori indiretti che verranno presi in esame saranno del tipo unipolare; essi ovviamente possono essere facilmente convertiti per operazioni bipolari. 247 Capitolo VI Conversione A/D e D/A Dei vari modi atti a rappresentare segnali bipolari il piu' opportuno e' quello binario offset. Infatti da un punto di vista circuitale i segnali bipolari impulsivi sono piu' convenientemente rappresentati in forma binaria offset e in ciascuno dei convertitori che verranno esaminati esiste un amplificatore d'uscita che puo' venir usato allo scopo di eliminare la polarizzazione introdotta dalla rappresentazione. Per rimuovere tale polarizzazione e' necessaria unicamente una resistenza connessa tra ingresso dell'amplificatore e una sorgente di riferimento VR (vedi fig. 6.30). La corrente che fluisce in tale resistenza deve essere uguale alla componente continua della corrente che fluisce quando solo il bit piu' significativo di Xp vale 1. Si noti che, in corrispondenza all'ingresso 100000000000, la durata dell'impulso, quando il segnale intermedio e' un treno modulato in durata, e' uguale a meta' del periodo di ripetizione T. Si ha cioe': tx = T 2 Un segnale a modulazione di durata che presenti un'informazione bipolare nella forma descritta e' detto "polarizzato a mezza scala" o "polarizzato al 50%". Analogamente, per lo stesso segnale di ingresso Xp, la frequenza degli impulsi, nella tecnica a modulazione di frequenza, e' meta' della massima frequenza possibile, che coincide con quella fc del clock. 6.6.1) Convertitore a modulazione di durata a singola velocita’. Un convertitore D/A indiretto, che ha una notevole diffusione malgrado le limitazioni di velocita' che presenta, e' quello a modulazione di durata a singola velocita', il cui schema di principio e' riportato in fig. 6.31. Xp a12 a 11 a 10 T a1 VB 0 load clock Contatore bidirezionale da 12 bit VR tx 0 +VR Rivelatore di zero Interruttore analogico 3R R R C R V0 C fig. 6.31 Il motivo della sua diffusione puo' essere ritrovato nel fatto che esso puo' essere costruito con alcuni circuiti integrati e alcuni componenti discreti. Nella parte digitale del convertitore, il cui schema di principio e' riportato in fig. 6.32, un segnale di ingresso Xp parallelo viene applicato sotto il controllo di un segnale di LOAD agli ingressi di preset di un contatore asincrono binario da 12 bit che viene azzerato all'inizio di ciascun periodo di ripetizione T. Non appena Xp e' caricato nel contatore, l'uscita del rivelatore di zero si porta al valore logico 1 chiudendo l'interruttore che connette il clock all'ingresso di conteggio del contatore. Quest'ultimo inizia a contare all'indietro e quando lo zero viene raggiunto l'uscita del 248 Capitolo VI Conversione A/D e D/A rivelatore di zero passa al valore logico 0. A questo punto l'interruttore si riapre, interrompendo il collegamento tra clock e ingresso del contatore, che rimane quindi nello stato raggiunto finche' non vi viene caricato un nuovo dato Xp. a 12 a 11 a 10 a1 load clock preset Q T preset preset preset Q Q T T Q T fig. 6.32 Si definisce larghezza tx dell'impulso che si ottiene in uscita il tempo necessario a contare da Xp a zero. Il massimo valore di tx, che si ha per Xp = 111....1 e' pari al periodo di ripetizione T, mentre il minimo, per Xp = 000....0, e' tx = 0. Per ottenere un treno continuo di impulsi modulati in durata e' necessario che all'inizio di ciascun periodo di ripetizione all'ingresso del contatore venga presentato un dato binario parallelo. Si puo' utilizzare un buffer binario parallelo come memoria temporanea, se Xp in tale istante non fosse disponibile. Allo stesso modo se l'ingresso digitale fosse in forma binaria seriale si deve prevedere un buffer ad ingresso seriale e uscita parallela agli ingressi di preset del contatore. La porzione analogica del convertitore, illustrata nella parte destra della fig. 6.31, trasforma il treno di impulsi in una tensione continua che varia linearmente con la durata degli impulsi stessi. Questi pilotano l'interruttore analogico, connettendo una tensione positiva di riferimento VR al filtro passabasso, mentre in loro assenza l'ingresso del filtro viene collegato a massa. L'uscita dell'interruttore analogico e' quindi ancora un treno di impulsi modulati in durata, ma di ampiezza rigorosamente limitata tra 0 e VR. Il filtro passabasso estrae il valore medio dal treno di impulsi. Se la costante di tempo del filtro e' grande rispetto al periodo di ripetizione del segnale impulsivo, la tensione continua che ne risulta e' linearmente legata alla durata tx degli impulsi e di conseguenza all'ingresso digitale Xp. In questo tipo di convertitore non e' necessario fare ricorso a contatori sincroni. Infatti quando un contatore conta all'indietro e il bit meno significativo commuta a zero, tutti gli altri bit piu' significativi si trovano gia' a zero e quindi non vi possono essere segnali spuri dovuti ad alee. L'interruttore analogico del convertitore in esame deve collegare il filtro passabasso alla tensione VR o a massa con offset trascurabili e alla velocita' la piu' alta possibile. Il tipo di interruttore scelto dipende dalla logica usata nella parte digitale del convertitore, non trascurando le considerazioni legate al costo, alle dimensioni e alla facilita' di reperimento. Se la parte digitale fosse realizzata in tecnologia MOS, gli interruttori analogici potrebbero venir ricavati dallo stesso substrato. 249 Capitolo VI Conversione A/D e D/A L'implementazione piu' conveniente del filtro passabasso e' quella che fa uso di un filtro RC a due stadi le cui frequenze caratteristiche siano almeno di due ordini di grandezza inferiori della massima frequenza contenuta nel segnale impulsivo, in modo da ottenere un'attenuazione di almeno 80 dB alla frequenza di ripetizione del treno di impulsi e una rotazione di fase minima. Il valore delle resistenze del filtro e' scelto in modo da caricare quanto meno possibile l'interruttore analogico, non solo in continua, ma anche alle varie frequenze del segnale modulato. L'amplificatore operazionale all'uscita del filtro passabasso fa si' la tensione venga fornita in uscita a bassa impedenza. La precisione totale del convertitore a modulazione di durata a singola velocita' e' funzione delle caratteristiche dei componenti lineari, cioe' dell'interruttore analogico, delle quattro resistenze e dell'amplificatore operazionale. Assumendo che gli offset e la linearita' dell'amplificatore diano luogo a errori trascurabili e che il rapporto tra la somma delle resistenze di ingresso e quella di reazione sia pari a 1 entro lo 0.025%, allora la precisione totale e' funzione esclusivamente delle caratteristiche dell'interruttore analogico. Se si usa un interruttore serie-parallelo realizzato con transistori bipolari con tempo di commutazione minore di 100 nsec. e offset minore di 2 mV (valori del tutto ragionevoli per tale tipo di realizzazione) l'errore totale e' di solito inferiore allo 0.02% del fondo scala. Il tempo di commutazione di 100 nsec da' luogo ad un errore dello 0.0025%, 0.005% o 0.01% rispettivamente quando la massima durata dell'impulso e' tx max = 4, 2 o 1 msec. Si tenga presente che tx max e' funzione della frequenza di clock fc e del numero n di bit dalla parola binaria di ingresso. tx max = 2n fc Il tempo richiesto per una conversione di 12 bit e' quindi di 4 msec. con una frequenza di clock di 1.024 MHz, mentre e' di 1 msec. con una frequenza di 4.096 MHz. 6.6.2) Convertitore a modulazione di durata a doppia velocita’. Le prestazioni del convertitore a singola velocita' possono essere notevolmente migliorate con l'aggiunta di un interruttore analogico, tre resistenze e due condensatori. Il convertitore a doppia velocita' che ne deriva, puo' allora lavorare alla stessa velocita' di conversione di quello a singola velocita', ma con una frequenza di clock piu' bassa, o a parita' di frequenza di clock ad una velocita' di conversione maggiore. Questo risultato viene raggiunto, come illustrato in fig. 6.33, dividendo il contatore a 12 bit in due contatori da 6 bit ciascuno con il proprio rivelatore di zero e con il proprio controllo del clock. I sei bit meno significativi della parola binaria Xp vengono caricati nel contatore 1, quelli piu' significativi nel contatore 2. L'uscita della porta A1, che rivela il passaggio attraverso lo stato 0, e' un impulso tx1 modulato in durata, funzione del tempo necessario a contare il numero rappresentato dai bit meno significativi. L'uscita tx2 della porta A2 e' un impulso di durata proporzionale al numero rappresentato dai bit piu' significativi. In sostanza il funzionamento di ciascuno di questi due contatori e' identico a quello da 12 bit del convertitore a singola velocita'. 250 Capitolo VI Conversione A/D e D/A parola binaria X p a a 12 clock a 11 7 aa 6 a 5 1 Contatore da 6 bit Contatore da 6 bit A1 A2 VR t x2 t x1 S2 100 k 40 k 40 k C 20 k C V0 VR S1 2.56 M 2.56 M 1.28 M C C fig. 6.33 Ciascuno dei due segnali tx controlla un interruttore analogico, con funzione di formatore di impulsi. C'e' da notare, per quanto riguarda le caratteristiche di offset di questi interruttori, che esse sono le stesse dell'analogo interruttore del convertitore a singola velocita'; la rapidita' di commutazione invece deve essere notevolmente superiore in quanto la massima durata dell'impulso tx e' solamente 1/64 di quella del caso preso in esame al paragrafo precedente e se si vuole che l'errore rimanga limitato entro lo 0.05% e' necessario che le differenza tra i tempi di commutazione in salita e in discesa si mantenga molto piccola. Il modo piu' semplice per risolvere questo problema e' ovviamente quello di diminuire la frequenza di clock, ad esempio a 250 kHz. In tal caso la durata massima di tx e' 256 µsec. e la differenza massima tra i tempi di commutazione degli interruttori, tale l'errore si mantenga entro lo 0.05 %, si puo' valutare in 128 nsec, specifica che puo' venir facilmente soddisfatta da diversi tipi di interruttore analogico. Per tener conto che a parita' di durata dell'impulso le due grandezze analogiche rappresentate da tx1 e tx2 stanno tra loro in rapporto 1:64, i valori resistivi dei due filtri passabasso devono essere diversi. Cio' fa si' che, ad esempio, per uno dei filtri l'insieme delle resistenze abbia un valore pari a 100 kΩ, mentre l'altro ha un valore totale di 6.4 MΩ. Uno dei canali cioe' e' scalato rispetto all'altro di 64, valore dato dal rapporto tra qualsiasi bit del contatore 2 e il suo omologo nel contatore 1. Dal punto di vista delle prestazioni e del costo dei componenti un ragionevole compromesso si ha con una frequenza di clock di 250 kHz che permette circa 4000 conversioni al secondo. Non e' difficile in tal caso raggiungere la precisione dello 0.05% anche con interruttori analogici non eccessivamente veloci. 6.6.3) Convertitore a modulazione di frequenza a singola velocita’. Il convertitore D/A a modulazione di frequenza a singola velocita' impone agli interruttori analogici delle caratteristiche molto pesanti; d'altra parte se si usano interruttori dal costo ragionevole la velocita' di conversione e' notevolmente minore che nel caso del convertitore a modulazione di durata. 251 Capitolo VI Conversione A/D e D/A Per questi motivi il convertitore a modulazione di frequenza a singola velocita' viene in pratica usato solo in quelle applicazioni in cui il segnale modulato in frequenza e' comunque necessario per altri circuiti. Come illustrato nello schema di principio di fig. 6.34 la parte digitale del circuito e' realizzata mediante un "binary rate multiplier", i cui ingressi sono il segnale binario Xp e l'uscita differenziata del contatore principale. Esso allora genera in uscita un treno di impulsi rettangolari stretti. Larghezza e altezza di questi impulsi sono costanti, ma il numero di impulsi durante un intervallo di tempo costante T varia in funzione dell'ingresso digitale Xp. Il massimo numero di impulsi durante il periodo T e' legato alla frequenza del clock fc che alimenta il contatore principale. Il minimo numero di impulsi e' zero. a 1 a 2 a3 VR a 12 S1 Binary rate multiplier 5R 2R 2R R C f1 f 2 f3 f 12 Differenziatori digitali f c f c fc 2 4 8 T VB fc 2 12 0 tp Contatore principale da 12 bit Clock V0 C fc fig. 6.34 In questo tipo di convertitore il segnale di ingresso Xp deve essere presente in continuita' all'ingresso; se cio' non fosse possibile e' necessario ricorrere ad un buffer che memorizza il dato da inviare al "binary rate multiplier". La parte analogica del convertitore e' simile a quella del convertitore a modulazione di durata, eccetto che per l'interruttore analogico che deve essere notevolmente piu' veloce. Tale esigenza e' determinata dal fatto che, mentre per il convertitore a modulazione di durata si ha un solo impulso per periodo T con una durata massima pari al periodo di ripetizione, in quello a modulazione di frequenza delle stesse caratteristiche si possono avere fino a 4096 impulsi per periodo di ripetizione T. Se quindi il periodo di ripetizione dei due convertitori e’ uguale, ciascun impulso del convertitore a modulazione di frequenza puo’ essere fino a 4096 volte piu' breve dell'unico impulso del convertitore a modulazione di durata. E' d'altronde ragionevole e conveniente assumere un periodo di ripetizione uguale per i due tipi di convertitore in quanto e' la massima frequenza del segnale da convertire che determina il tempo massimo disponibile per ogni conversione. Per ottenere la stessa precisione dai due tipi di convertitore la larghezza degli impulsi del segnale modulato in frequenza deve essere mantenuta con la stessa precisione del segnale modulato in durata, intendendo per precisione la variazione di larghezza dell'impulso in rapporto alla sua larghezza totale. Se, ad esempio, la larghezza totale fosse di 10 µsec ± 10 nsec allora la precisione sarebbe dello 0.1%. Pertanto se si desiderasse realizzare un convertitore a modulazione di frequenza da 12 bit con un periodo T di ripetizione di 4.096 msec, allora la massima larghezza di ciascuno dei 4096 impulsi sarebbe di 1 µsec. 252 Capitolo VI Conversione A/D e D/A Per ottenere la modesta precisione dello 0.1 % sarebbe necessario controllare la durata dell'impulso entro ± 1 nsec. Chiaramente questa e' una specifica molto difficile da soddisfare per qualsiasi tipo di interruttore analogico. Piu' realisticamente, si potrebbe pensare di utilizzare interruttori analogici con errori dell'ordine di 10 ÷ 20 nsec e in tal caso per raggiungere una precisione dello 0.025% la durata di ciascun impulso del segnale modulato in frequenza dovrebbe essere almeno di 80 µsec. Ne consegue che il periodo di ripetizione per il convertitore a 12 bit sarebbe di 4096 . 80 = 320 msec. Con questa bassa velocita' di conversione (circa tre conversioni al secondo) il convertitore a modulazione di frequenza diverrebbe usabile solo per segnali la cui frequenza massima fosse di 0.03 Hz. I circuiti logici limitano a loro volta la precisione del convertitore. Infatti per realizzare impulsi entro i 20 nsec sarebbe necessaria una frequenza di clock di 50 MHz, che costringerebbe ad usare famiglie a velocita' discretamente elevata. 6.6.4) Convertitore a modulazione di frequenza a tripla velocita’. Le limitazioni operative inerenti il convertitore a modulazione di frequenza a singola velocita' possono essere superate riarrangiando il circuito pur senza complicarlo eccessivamente. Il risultato che si ottiene e' il cosiddetto convertitore a tripla velocita'. In questo convertitore il "binary rate multiplier" da 12 bit di fig. 6.34 e' suddiviso in tre elementi da 4 bit, come illustrato in fig. 6.35. a1 fc a2 a3 a4 a5 a6 a7 a8 a9 a10 a 11 a12 Contatore principale Clock f1 f1 f2 f3 S1 B.R.M. 1 Logica di generazione degli impulsi f1 f2 f3 f2 f3 f3 f4 R C 16 R 16 R C C' 2R V0 f4 S3 B.R.M. 3 f1 f2 S2 B.R.M. 2 f4 R 256 R 256 R C f4 fig. 6.35 Questo accorgimento permette di eliminare otto stadi nel contatore principale e la necessita' dei 12 derivatori digitali. Sono invece necessarie, come mostrato in fig. 6.36, tre porte logiche per produrre a partire dal contatore principale quattro treni di impulsi non sovrapposti. 253 Capitolo VI Conversione A/D e D/A T f c /2 f c /2 fc /2 fc /4 fc /4 f1 fc /2 f2 fc /8 fc /16 fc /4 f3 1 fc /8 2 3 1 f4 4 5 2 7 3 1 fc /2 6 8 4 2 f1 f2 f3 1 fc /4 f4 fc /8 fc /16 fig. 6.36 A ciascun "binary rate multiplier" vengono forniti i quattro treni di impulsi e quattro bit dell'ingresso parallelo Xp. Le relative uscite sono dei treni di impulsi la cui frequenza e' legata al numero rappresentato dai quattro bit di Xp. Il massimo numero di impulsi durante un periodo di ripetizione T e' ora solamente 16, quando tutti i bit di Xp in ingresso al "binary rate multiplier" sono degli uno logici. Il minimo numero di impulsi e' zero quando questi quattro bit sono zero. Per completare il convertitore sono necessari tre interruttori analogici e tre filtri passabasso. Cio' nonostante l'eliminazione di otto stadi di conteggio e dei 12 derivatori digitali fa si' che il circuito rimanga piu' semplice che non quello del convertitore a singola velocita'. E' evidente che per un corretto funzionamento le correnti fornite alla giunzione somma dell'amplificatore operazionale per effetto dei bit meno significativi devono essere rispettivamente in rapporto 1/16 e 1/256 con quella derivante dai bit piu' significativi. Infine per avere dei segnali di uscita precisamente sincronizzati e' opportuno che il contatore principale sia di tipo sincrono. Il circuito di generazione dei treni di impulsi di fig. 6.36 ha come ingressi le uscite del contatore principale e in uscita fornisce quattro treni di impulsi f1, f2, f3 e f4 caratterizzati dal fatto che nessuno dei loro impulsi si sovrappone. Il "binary rate multiplier", illustrato in fig. 6.37, e' realizzato con solo cinque porte logiche. La frequenza piu' elevata f1 e' controllata dal bit piu' significativo, quella immediatamente successiva f2 dal bit piu' significativo tra i rimanenti e cosi' via. Le uscite di ciascuna porta AND sono poi sommate su una porta OR. L'uscita finale del circuito e' quindi un treno di impulsi definibile come: R x = a1. f1 + a 2 . f2 + a 3 . f3 + a 4 . f4 254 Capitolo VI Conversione A/D e D/A a1 a 2 a3 a4 Rx f1 f2 f f4 3 fig. 6.37 oppure: R x = N x . fc dove Nx e' il numero rappresentato dagli specifici bit di Xp. La parte analogica del convertitore a tripla velocita' e' realizzata con tre interruttori analogici, tre filtri passabasso a singolo stadio e un amplificatore operazionale. Ciascuno dei tre filtri consiste in due parti: un primo filtro RC nello stadio di ingresso dell'amplificatore e un secondo filtro in reazione. Tale arrangiamento circuitale e' adottato in quanto si possono in tal modo eliminare tre resistenze di precisione e due condensatori. Ciascuno dei filtri deve presentare un'attenuazione di almeno 40 dB alla frequenza di ripetizione, il che equivale a dire che la loro frequenza di taglio si deve trovare due decadi piu' in basso di tale frequenza. Come nel convertitore a modulazione di durata, le prestazioni del convertitore a tripla velocita' sono determinate esclusivamente dagli errori degli interruttori analogici, se si suppone che gli errori dovuti all'offset dell'amplificatore siano trascurabili e che i rapporti tra le resistenze siano esatti entro lo 0.025%. C'e' da notare tuttavia che solo l'interruttore relativo alla velocita' piu' alta deve essere molto preciso; per le altre velocita' sono sufficienti interruttori di minori prestazioni, poiche' le correnti prodotte alla giunzione somma sono solamente 1/16 o 1/256 della corrente generata dalla catena alla velocita' piu' alta. 6.7) Conversione A/D. 6.7.1) Considerazioni generali. Effettuare una conversione analogico-digitale (A/D) significa quantizzare l'ampiezza di una grandezza fisica in un insieme di livelli discreti in modo da ottenere, tramite un'opportuna unita' di misura e una codificazione, un numero rappresentante la misura della grandezza stessa. La conversione A/D e' utilizzata negli strumenti ad indicazione numerica, nella telemetria, nella memorizzazione dei dati e soprattutto per l'elaborazione automatica. 255 Capitolo VI Conversione A/D e D/A Il principio della quantizzazione di un segnale analogico e' illustrato in fig. 6.38. Si osservi che per effetto della quantizzazione ogni valore S*i del segnale analogico compreso nell'intervallo Si ÷ Si+1 viene associato sempre al medesimo livello Ni. N quantizzazione Ni Si S*i S i+1 S segnale analogico fig. 6.38 L'intervallo Si+1 - Si = Q viene definito "intervallo o passo di quantizzazione"; si vede immediatamente che con il processo di quantizzazione si commette un errore. Se si indica con S*i il generico valore associato al livello Ni , l'errore massimo sara' pertanto pari a ± Q/2. Tale errore e' detto errore di quantizzazione. E' ovvio che quanti piu' livelli di quantizzazione si hanno a disposizione tanto minore sara' l'errore di quantizzazione; pertanto un parametro molto importante che caratterizza un convertitore A/D e' il numero di livelli di quantizzazione. Un altro parametro che caratterizza le prestazioni di un convertitore e' il tempo di conversione, che permette di stabilire se il convertitore e' in grado di effettuare le conversione di un segnale variabile nel tempo senza perdita di informazione. Dato un segnale variabile nel tempo la sequenza delle operazioni da effettuare per convertirlo in un insieme di valori discreti si puo' descrivere come segue: • Operazione di campionamento, tramite la quale vengono prelevati i valori istantanei del segnale analogico. La frequenza del campionamento deve essere tale da garantire la completa ricostruzione del segnale originale e pertanto, se F e' la massima frequenza contenuta nel segnale analogico, la frequenza di campionamento minima deve essere pari almeno a 2F. • Operazione di "ritenuta" del segnale campionato per mantenere inalterato il valore del segnale per tutto il tempo di conversione. • Operazione di conversione A/D propriamente detta e codificazione per la rappresentazione numerica del segnale. Oltre l'errore di quantizzazione appena definito vi sono altri errori che derivano dal fatto che la caratteristica reale di un convertitore A/D si discosta da quella ideale per tutta una serie di motivi. Tra di essi si possono citare i seguenti: 256 Capitolo VI Conversione A/D e D/A • Errore di zero, quando si ha in uscita una codificazione corrispondente allo zero con un segnale di ingresso non nullo. • Errore di codificazione dei livelli discreti. • Errore di non linearita'. Questi tre tipi di errore sono illustrati in maniera qualitativa in fig. 6.39. segnale digitale caratteristica ideale caratteristica reale non linearita' errore di codificazione segnale analogico errore di zero fig. 6.39 Vi sono inoltre altre cause di errore provocate da rumore, instabilita' e derive degli elementi circuitali. Tutte queste cause costituiscono il limite fisico insuperabile dal punto di vista delle prestazioni di un convertitore A/D. I convertitori A/D possono venir suddivisi in molti modi, in base alle loro modalita' di funzionamento e alle loro caratteristiche elettriche. Dal punto di vista delle loro caratteristiche funzionali si puo' parlare di convertitori "ad anello aperto", di convertitori "in controreazione" e di convertitori "veloci o flash". 6.7.1) Convertitori ad anello aperto. Rientrano in questa categoria i convertitori tensione-frequenza e quelli a rampa semplice, doppia e multipla. a) Convertitori tensione - frequenza. In un convertitore tensione - frequenza la tensione Vi da convertire viene applicata ad un blocco circuitale la cui uscita e' un treno di impulsi di frequenza F = K. Vi + F0 dove K e' una costante di proporzionalita' che dipende dal convertitore e F0 e' la frequenza d'uscita che si ottiene quando la tensione di ingresso e' nulla. Tale tipo di convertitore e' generalmente caratterizzato dalla semplicita' circuitale, ma la sua linearita', la precisione, la stabilita' e la rapidita' di conversione sono normalmente modeste. 257 Capitolo VI Conversione A/D e D/A La gamma dei possibili tipi di convertitore tensione - frequenza e' molto vasta e si va da semplici circuiti ricavati da multivibratori astabili, in cui la frequenza di uscita ha di solito un legame logaritmico con la tensione di ingresso e la cui precisione e' limitata, a complessi circuiti di prestazioni piu' che discrete. A titolo di esempio lo schema di principio di un convertitore ricavato dall'opportuna modifica di un multivibratore astabile e' riportato in fig. 6.40. +V Vi R R C C F fig. 6.40 Assumendo che la tensione di collettore dei transistori nello stato di interdizione coincida in pratica con V, cioe’ trascurando le cadute ai capi dei transistori in saturazione e le correnti di perdita, si ricava che, in prima approssimazione, il periodo T di oscillazione e': V T = 2.RC. ln1 + Vi Il legame tra tensione di ingresso e frequenza e' pertanto di tipo logaritmico; per linearizzare la dipendenza tra tensione di ingresso e frequenza di uscita si adottano configurazioni circuitali che consentono di alimentare le basi dei transistori a corrente costante, sostituendo le resistenze R con generatori di corrente. Migliori caratteristiche si possono ottenere con stadi impieganti circuiti integrati lineari secondo lo schema di principio illustrato in fig. 6.41. Vi F fig. 6.41 258 Capitolo VI Conversione A/D e D/A Come si puo' vedere, il primo operazionale e' utilizzato come stadio integratore in modo da generare una tensione a rampa la cui pendenza dipende dal valore della tensione Vi da convertire. Il secondo stadio realizza un comparatore con isteresi che commuta quando la tensione a rampa raggiunge i valori prefissati dalla rete di reazione positiva. La sua uscita e' utilizzata per scaricare periodicamente il condensatore dell'integratore tramite un interruttore che di solito viene realizzato con un FET. Quanto piu' elevata e' la tensione Vi tanto maggiore e' la frequenza di commutazione e curando la realizzazione circuitale si riescono ad ottenere elevate linearita'. Altri tipi di convertitore V/F si basano sull'impiego di FET, utilizzati in oscillatori RC come resistenze variabili in funzione di una tensione, oppure sull'impiego di diodi varicap in oscillatori LC o ancora utilizzando dei transistori unigiunzione. A titolo di esempio in fig. 6.42 viene riportato lo schema di principio di un oscillatore RC impiegante un amplificatore operazionale, in cui le resistenze della rete a scala sono costituite da FET. Vi fig. 6.42 b) Convertitore A/D a rampa semplice. Lo schema di principio del convertitore a rampa semplice e' riportato in fig. 6.43. Per semplicita' si e' omesso in ingresso il blocco di sample and hold necessario per mantenere costante il segnale applicato al convertitore durante il tempo di conversione e si e’ supposto che il segnale Vi da convertire sia esclusivamente unipolare. Conmando di conversione S generatore di rampa Q VR S R Contatore Fc Clock Vi fig. 6.43 Un impulso di comando di conversione determina l'istante di partenza delle operazioni di conversione. Tale impulso azzera il contatore, mette nello stato "ON" il flip-flop RS, consentendo 259 Capitolo VI Conversione A/D e D/A pertanto che attraverso la porta AND la frequenza di clock Fc possa pervenire al contatore stesso, e da' inizio alla generazione locale di una tensione a rampa, che viene confrontata tramite un comparatore con la tensione Vi da convertire. Finche' la tensione a rampa si mantiene inferiore a Vi l'uscita del comparatore rimane bassa; non appena la tensione a rampa supera Vi il comparatore commuta azzerando il flip-flop RS. In tal modo la porta AND viene bloccata e il conteggio degli impulsi di clock interrotto. E' facile rendersi conto che, in condizioni ideali, il numero memorizzato nel contatore e' proporzionale alla tensione di ingresso. Il diagramma di temporizzazione dei segnali nei vari punti del circuito e' riportato in fig. 6.44. comando di conversione t V R max Vi VR t Q t S t fig.6.44 Le prestazioni di un tal tipo di convertitore sono generalmente superiori a quelle dei convertitori V-F; la linearita' e la precisione dipendono ovviamente dall'accuratezza con cui viene realizzato il generatore di rampa e dalla stabilita' della base dei tempi. Nel complesso tuttavia le prestazioni rimangono modeste. Gli errori che maggiormente fanno sentire il loro effetto sono dovuti a fenomeni di non linearita' della tensione a rampa, alle incertezze nelle soglie del comparatore e ai ritardi da esso introdotti. C'e' inoltre da notare che vi e' un'elevata sensibilita' a disturbi e rumori provenienti sia dalla rete di alimentazione sia sovrapposti alla tensione da convertire. c) Convertitore A/D a doppia rampa. Prestazioni nettamente superiori a quelle dei sistemi presi fin qui in considerazione si possono ottenere con il convertitore A/D a doppia rampa, il cui schema di principio e' riportato in fig. 6.45. La tensione Vi da convertire viene applicata per un intervallo di tempo costante T0, determinato da una rete sequenziatrice in base alla frequenza di clock, ad un integratore. La tensione all'uscita dell'integratore alla fine dell'intervallo sara': T0 V1 = ∫ Vi (t ).dt 0 e se Vi e' costante si ottiene: 260 Capitolo VI Conversione A/D e D/A V1 = 1 . Vi . T0 R. C Clock Vi VR T0 C T2 Fc R V1 Contatore Comp. T1 reset Fc T2 T0 T1 Rete sequenziatrice T2 fig. 6.45 Al termine dell'intervallo T0 la tensione Vi viene sconnessa e l'ingresso dell'integratore viene collegato a una tensione di riferimento costante -VR di polarita' opposta a quella della tensione Vi, che integrata da' origine ad una rampa decrescente. Durante questo secondo intervallo di tempo (T2) la porta AND risulta abilitata e gli impulsi di clock possono raggiungere il contatore. Questa fase si interrompe non appena l'uscita dell'integratore raggiunge lo zero, condizione riconosciuta tramite il comparatore. A questo punto la porta AND viene bloccata, l'informazione viene trasmessa al circuito sequenziatore che provvede ad avviare un nuovo ciclo di conversione dopo un opportuno intervallo di tempo T1. Esiste pertanto una proporzionalita' diretta tra la tensione da convertire e il numero di impulsi conteggiati. Infatti alla fine del periodo T2 e' soddisfatta la condizione: V1 − 1 . VR . T2 = 0 R. C e ricordando l'espressione ricavata per V1 si ottiene infine: V T2 = T0 . i VR Il numero di impulsi conteggiati e' pertanto: N = T2 . Fc = T0 . Fc . Vi VR E' opportuno osservare che l'intervallo di tempo T0 viene ottenuto conteggiando un certo numero N0 di impulsi di clock. Di conseguenza: T0 = N0 Fc 261 Capitolo VI Conversione A/D e D/A che permette finalmente di ricavare l'espressione finale: Vi = VR .N N0 Questo tipo di convertitore possiede una linearita' e una precisione nettamente superiore a quella dei tipi precedentemente presi in esame. Il suo pregio piu' importante risiede nel fatto che il conteggio risulta indipendente sia dalla stabilita' del clock che da quella dei componenti della rete di integrazione. E' sufficiente infatti, affinche' la relazione appena ricavata sia valida, che la frequenza del clock e le caratteristiche dell'integratore rimangano stabili durante il tempo di conversione, specifica questa abbastanza facile da soddisfare. Anche le incertezze introdotte dal comparatore di zero si possono ritenere scarsamente influenti in quanto si ripercuotono alla stessa maniera sia durante la rampa ascendente che durante la rampa discendente. A tutto cio' si aggiunge il fatto che l'operazione di integrazione permette di ridurre l'effetto dei disturbi impulsivi e che tutti i rumori a valor medio nullo, quali ad esempio il rumore di rete, il cui periodo sia un sottomultiplo del periodo di integrazione, vengono totalmente cancellati. Unica caratteristica negativa, peraltro comune ai convertitori fin qui presi in esame, e' la lentezza dell'operazione di conversione, che non permette pertanto di trattare segnali di ingresso di frequenza elevata. d) Convertitore A/D a rampa multipla. Convertitori A/D, il cui principio di funzionamento e' simile a quello del convertitore a doppia rampa, sono quelli a rampa multipla, che nei confronti di quello a doppia rampa presentano una serie di vantaggi. In particolare hanno, con un'opportuna scelta della frequenza di clock, una maggior stabilita' e precisione, una maggiore rapidita' di conversione ed infine offrono un maggior potere filtrante nei confronti di rumori e disturbi. Per illustrarne il principio di funzionamento si fara' riferimento a quello a tripla rampa, le cui forme d'onda principale sono riportate in fig. 6.46. uscita dell'integratore t intervallo di conteggio t fig. 6.46 La tensione di ingresso Vi viene integrata per un intervallo di tempo costante T0 al termine del quale all'ingresso dell'integratore viene applicata la tensione costante di riferimento -VR, che scarica il condensatore dell'integratore in modo del tutto analogo a quanto avviene nel convertitore a doppia 262 Capitolo VI Conversione A/D e D/A rampa. La differenza con quest'ultimo risiede nel fatto che la scarica a corrente costante non si arresta quando la tensione di uscita dell'integratore ha raggiunto lo zero, ma prosegue, diventando negativa, fino all'istante di arrivo del successivo impulso di clock. In questo istante, quando l'uscita dell'integratore e' negativa, viene applicata all'ingresso una tensione fissa dello stesso segno di Vi pari a VR/10. In tal modo l'uscita dell'integratore tornera' a salire con una pendenza pari a un decimo di quella precedente. Il conteggio si arresta quando l'uscita dell'integratore raggiunge lo zero. A parte qualche lieve complicazione nella codifica del dato digitale di uscita, si puo' notare che in virtu' dei due tratti a pendenza diversa si ottengono, a parita' di frequenza di clock, risoluzioni nettamente superiori a quelle del convertitore a doppia rampa. Ad esempio con 20 impulsi di clock, 10 per il tratto a pendenza negativa e 10 per il tratto a pendenza positiva, si ottiene una risoluzione pari a una parte su 100, che nel caso di un convertitore a doppia rampa richiederebbe 100 impulsi di clock. Da un altro punto di vista si puo' affermare che il convertitore a doppia rampa a parita' di frequenza di clock impiegherebbe per ottenere la medesima risoluzione un tempo cinque volte superiore. 6.7.2) Convertitori a controreazione. Si consideri la semplice struttura circuitale illustrata in figura 6.47. Si abbia cioe’ un convertitore D/A (realizzato nel caso in esame con una rete a scala) la cui uscita piloti una giunzione a somma nulla. I 1A V 1A R Comparatore analogico 2R b1 R 2R +VR giunzione somma b2 R 2R bn 2R Logica di controllo fig. 6.47 La tensione alla giunzione somma sara’ ovviamente nulla quando: I1A = I1 b1 + I 2 b 2 + ..... + I n b n dove la generica Ii e’ il contributo fornito alla giunzione somma attraverso il ramo i dal generatore di riferimento VR. Si ricordi che: I i+1 = Ii 2 i = 1,2,...., n − 1 263 Capitolo VI Conversione A/D e D/A Questa semplice osservazione permette di individuare una tecnica atta ad effettuare la conversione analogico-digitale. Si supponga infatti che una logica programmata applichi al convertitore D/A parole digitali di diverso valore secondo un'opportuna politica (per incrementi successivi unitari, per approssimazioni successive, secondo una ricerca binaria. etc.). Solo quando la tensione alla giunzione somma sara' scesa al di sotto di un'opportuna soglia, pari alla tensione fornita dal bit meno significativo, l'operazione verra' interrotta. La parola binaria cosi' realizzata sara' l'equivalente digitale della tensione V1A. Per esaminare quantitativamente questo modo di operare si supponga che sia a 1 il bit piu' significativo, mentre tutti gli altri siano a 0. La corrente fornita alla giunzione somma e' allora: I1 = VR 2R Se invece e' il secondo bit ad assumere il valore 1 si ottiene, ricordando che l'impedenza d'uscita di una rete a scala R/2R vale R e che la tensione di uscita a vuoto nelle condizioni ipotizzate e' VR/4: I2 = VR 4R In definitiva all'equilibrio si avra': I1A = V1A VR V V . b1 + R . b 2 + ...... + Rn . b n = R 2. R 4. R 2 cioe’ b b b V1A = VR . 1 + 2 + ..... + nn 2 2 4 b .2 = VR . 1 n −1 + b 2 .2 n −2 + ..... + b n .2 0 B = VR . n n 2 2 dove con B si e’ indicato il valore rappresentato dalla parola binaria in ingresso al convertitore D/A. In definitiva si ottiene : B= V1A n .2 VR All’equilibrio quindi la parola binaria B rappresenta, nei limiti dell’errore di quantizzazione, la misura della tensione di ingresso V1A. Nella pratica un convertitore A/D in controreazione si ottiene inserendo un convertitore D/A nell’anello di reazione di un amplificatore operazionale utilizzato come comparatore, come illustrato in figura 6.48 264 Capitolo VI Conversione A/D e D/A Vi Comparatore analogico + Convertitore VR - D/A parola digitale d'uscita Logica di controllo fig. 6.48 Il convertitore D/A puo' essere di diverso tipo, anche se e' abbastanza comune che venga impiegato quello con rete a scala. La logica di controllo determina poi le modalita’ operative del convertitore A/D, permettendo di ottenere piu’ o meno rapidamente il dato convertito. In sostanza le diverse modalita’ operative influiscono solo sulla velocita’ di conversione e non sulla risoluzione e sulla precisione del convertitore. Queste ultime risultano determinate unicamente dalla struttura e dalle caratteristiche del convertitore D/A inserito nell’anello di reazione. La modalita' operativa piu' semplice e' quella che prevede l'incremento della parola digitale di un'unita' per periodo di clock. Ovviamente un tal modo di procedere fa si' che la logica di controllo sia particolarmente semplice, ma contemporaneamente costringe ad adottare tempi di conversione lunghi, rendendo il convertitore poco adatto alla conversione di segnali variabili nel tempo. Un convertitore A/D di tal tipo viene detto ad inseguimento. Una maggiore efficienza si ottiene con la politica di controllo a successive approssimazioni, in cui la tensione convertita e' ottenuta con successive fasi di tentativo e correzione a partire dal bit piu' significativo della parola digitale. In sostanza viene effettuata una ricerca dicotomica del risultato ponendo inizialmente a 1 il bit piu' significativo e osservando se la tensione ottenuta e' superiore o inferiore a quella di ingresso. In base al risultato di questo confronto la logica di controllo decide poi se mantenere a 1 tale bit o azzerarlo, ripetendo poi la stessa operazione per tutti i successivi bit fino ad ottenere in uscita il dato che meglio approssima la tensione di ingresso. La tecnica a successive approssimazioni consente di accelerare in modo considerevole le operazioni di conversione. Infatti, nella tecnica a inseguimento il tempo massimo necessario alla conversione e' 2n.T, se T e' il periodo di clock e n il numero di bit del convertitore, mentre nella tecnica a successive approssimazioni il tempo necessario e', in prima approssimazione, solamente n.T. 6.7.3) Convertitori veloci (flash). Si definiscono convertitori veloci (flash) quelli in grado di convertire segnali analogici occupanti una banda dell’ordine della decina o addirittura del centinaio di MHz. La loro caratteristica piu' importante e' il tempo di conversione definito come l'intervallo di tempo che intercorre tra l'istante in cui viene applicato il comando di inizio della conversione stessa e quello in cui il dato in uscita puo' essere considerato valido. La struttura di questo tipo di convertitori e' totalmente diversa di quella dei convertitori fin qui presi in esame. In genere il cuore di un sistema di conversione veloce e' costituito da un insieme di 265 Capitolo VI Conversione A/D e D/A comparatori, ciascuno con una precisa e prefissata tensione di soglia. Le uscite di tali comparatori vengono poi inviate ad un opportuno sistema di codifica che realizza la parola digitale di uscita secondo lo schema di principio di fig. 6.49. La velocita di questo tipo di convertitore e' limitata solamente dal tempo di assestamento dei comparatori e dalla velocita della rete di codifica. La limitazione maggiore risiede nel gran numero di resistori da utilizzare, che nel caso di un'uscita a n bit e pari a 2n, e nel gran numero di comparatori necessario, pari a 2n-1. Ogni bit in piu' pertanto porta al raddoppio del numero di resistenze e comparatori necessari. Per tale motivo i convertitori veloci realizzati secondo questo principio non hanno in genere un numero di bit superiore a 6. Strutture piu' complesse, ottenute da gruppi di comparatori multi soglia opportunamente raggruppati tra di loro, permettono di realizzare sistemi di conversione A/D veloci fino a 8 ÷ 10 bit. VR V R Rete combinatoria di codifica R uscita digitale R fig. 6.49 R 6.8) Cenni sul dimensionamento di sistemi d’acquisizione e conversione A/D. Dopo aver preso nei paragrafi precedenti in considerazione alcuni aspetti relativi alla conversione D/A e A/D si esamini ora un sistema completo, illustrato schematicamente nella figura 6.50. segnale analogico Circuiti di protezione Amplificatore/ Attenuatore Convertitore A/D Filtro PB antialiasing Convertitore D/A S/H Filtro PB Protezioni e Amplificatore segnale analogico segnale digitale figura 6.50 Ovviamente nei casi reali alcuni dei blocchi rappresentati in figura potrebbero mancare. Se, ad esempio, non si avesse interesse a riottenere un segnale analogico in uscita, il convertitore D/A, il filtro passa-basso d’uscita, le protezioni e l’eventuale amplificatore non sarebbero presenti. 266 Capitolo VI Conversione A/D e D/A I punti su cui fissare l’attenzione ai fini del dimensionamento possono essere riassunti in: • • • • Precisione e risoluzione, determinate dal numero di bit della parola di uscita; Banda del segnale, che determina la frequenza di campionamento; Dinamica del segnale di ingresso, che ha una diretta influenza sugli stadi amplificatori/attenuatori; Numero di canali del sistema, che permette di valutare il tempo massimo di conversione del convertitore A/D. L’ultima parametro preso in esame si riferisce alla possibilita’ di eseguire la conversione A/D su piu’ segnali utilizzando un unico convertitore A/D. Tale operazione puo’ venir effettuata se nella catena di conversione di figura 6.50 viene inserito un multiplexer (analogico) immediatamente prima del blocco sample-hold, permettendo di scandire ciclicamente i vari segnali di ingresso. E’ evidente tuttavia che, se in un sistema monocanale il periodo minimo di campionamento e’ determinato dalla somma del tempo di acquisizione Ta del sample-hold e del tempo di conversione Tconv del convertitore A/D, cioe’: Tc min = Ta + Tconv in un sistema multicanale con N ingressi il periodo minimo di campionamento del singolo canale sara’: Tc min = N.(Ta + Tconv ) Se, ad esempio, il sistema fosse in grado di eseguire 104 campionamenti al secondo, con un unico canale il periodo di campionamento sarebbe di 10-4 secondi. In altre parole, tenendo presente che la frequenza di campionamento deve essere almeno doppia della massima frequenza contenuta nel segnale, si sarebbe in grado di convertire segnali con frequenza massima di 5 kHz. Se viceversa i segnali di ingresso fossero invece 10, il periodo minimo di campionamento del singolo segnale passerebbe a 10-3 secondi, consentendo la conversione A/D di segnali di frequenza massima pari a 500 Hz. L’aumento del numero di canali pone quindi, a parita’ delle altre caratteristiche, un vincolo sulla massima frequenza del segnale convertibile. Quanto piu’ aumenta il numero di canali, tanto piu’ risulta limitata la banda di ciascun segnale convertibile. Con riferimento allo schema di massima di figura 6.50 i primi tre blocchi, cioe’ quelli di protezione, di amplificazione/attenuazione e il filtro passa-basso antialiasing, effettuano l’operazione che complessivamente viene detta condizionamento del segnale. E’ necessario cioe’: • • • Limitare l’ampiezza del segnale a valori tali da garantire l’integrita’ del sistema; Amplificare o attenuare il segnale in modo che il suo valore massimo sia adattato al fondo scala del convertitore. Ci si rende infatti conto che se, ad esempio, si applicasse ad un convertitore A/D con fondo scala di 10 V un segnale di ampiezza massima 0,5 V, non si sfrutterebbe convenientemente il convertitore stesso. Alcuni bit della parola digitale di uscita, per la precisione quelli piu’ significativi, rimarrebbero costantemente a zero; Limitare la banda del segnale al piu’ alla meta’ della frequenza di campionamento. 267 Capitolo VI Conversione A/D e D/A I circuiti di protezione possono venir realizzati utilizzando dispositivi di tosatura, che utilizzano diodi o zener, come illustrato in figura 6.51. +V V in Vin Vout V out -V figura 6.51 Nel caso (a) la tensione del segnale d’uscita viene mantenuta approssimativamente all’interno dell’intervallo compreso tra +V e –V, nel caso (b) tra Vz e –Vz. Un risultato analogo si puo’ ottenere utilizzando varistori, cioe’ resistenze non lineari, che, com’e’ noto, diminuiscono di valore all’aumentare della tensione applicata. Gli stadi amplificatori/attenuatori vengono di solito realizzati con amplificatori differenziali, in modo da ridurre, per quanto possibili, gli effetti dei rumori di modo comune. Molto spesso la configurazione adottata e’ quella dell’amplificatore per strumentazione 3OP, che, oltre a presentare ottime caratteristiche di reiezione di modo comune, permette di variare il guadagno agendo su un’unica resistenza. Spesso inoltre il guadagno puo’ venire programmato con un’opportuna parola digitale di controllo, come si e’ visto al paragrafo 6.4.3. Infine il filtro antialiasing e’ semplicemente un filtro passa-basso. Considerazioni anche banali, basate su quanto esposto al paragrafo 6.2, relativo allo spettro dei segnali campionati, permettono di affermare che la ripidita’ del filtro dovra’ essere tanto maggiore quanto piu’ la massima frequenza contenuta nel segnale da convertire si avvicina alla frequenza di Nyquist, cioe’ alla meta’ della frequenza di campionamento1. Il filtro va ovviamente inserito a monte dell’eventuale multiplexer. In uscita del multiplexer, infatti, si ha un segnale composito che deriva dalla commutazione ciclica sui vari canali d’ingresso. Il suo contenuto frequenziale e’ quindi diverso da quello dei singoli segnali. Che questa affermazione corrisponda a realta’ e’ facilmente intuibile facendo riferimento al seguente semplice esempio. Si consideri infatti un sistema a due canali ai cui ingressi siano presenti due tensioni continue di valore diverso, come illustrato in figura 6.52. 1 Per semplificare il filtro e’ conveniente sovracampionare, cioe’ adottare una frequenza di campionamento notevolmente superiore al doppio della massima frequenza contenuta nel segnale. E’ abbastanza usuale avere fattori di sovracampionamento che possono giungere anche a 100. 268 Capitolo VI Conversione A/D e D/A V1 t V2 t V1 MUX Vo Vo t V2 tc 2t c 3tc 4tc 5t c 6tc 7tc figura 6.52 Il segnale Vo in uscita del multiplexer sara’ un’onda rettangolare, che ad ogni istante di campionamento commuta tra i due valori V1 e V2. Si passa cioe’ da un segnale in continua (e quindi con componenti spettrali unicamente a frequenza nulla) ad un segnale che contiene anche le righe spettrali Fc = 1/tc e tutte le sue armoniche dispari. Non e’ quindi possibile eseguire il filtraggio antialiasing a valle del multiplexer, ma e’ obbligatorio realizzarlo a monte utilizzando tanti filtri quanti sono i canali di ingresso. Per quanto attiene il multiplexer esso ha il compito di connettere uno degli ingressi alla linea di uscita. Di solito la selezione viene effettuata attraverso un certo numero N di bit, detti bit di indirizzo, che permettono di scegliere la linea di ingresso desiderata. Essi vengono realizzati utilizzando un banco di interruttori, capaci di commutare segnali analogici, e con una logica di decodifica degli indirizzi che aziona il singolo interruttore. Spesso all’interno del multiplexer sono presenti anche circuiti di protezione. Parametri caratterizzanti un multiplexer sono: • • • • • Numero di canali Dinamica consentita ai segnali di ingresso Isolamento tra i canali Caratteristiche statiche degli interruttori Caratteristiche dinamiche In particolare, con riferimento alle caratteristiche statiche, una notevole importanza assume la resistenza a interruttore chiuso Ron, che per i componenti disponibili comunemente e’ compresa tra qualche decina e qualche centinaio di ohm. Tale resistenza e’ comunque definita sull’intera dinamica ammessa per l’ingresso. Analoga importanza riveste la corrente di perdita Is di un interruttore aperto. A seconda del tipo di interruttore questa corrente puo’ variare, ma e’ comunque molto piccola. Per interruttori realizzati in tecnologia MOS e’ dell’ordine del nanoampere o meno. Tra i parametri dinamici si possono citare i tempi di apertura e di chiusura degli interruttori, che, essendo elementi fisici e non ideali, hanno dei tempi di azionamento che, per quanto piccoli, non possono certamente essere nulli. Questi parametri, assieme alle capacita’ parassite, inevitabilmente presenti, permettono di valutare gli errori introdotti dagli interruttori. Gli interruttori analogici possono essere realizzati utilizzando ponti di diodi, transistori bipolari, transistori ad effetto di campo o altri dispositivi, quali ad esempio fotodiodi o fotoresistenze. In figura 6.53 sono riportate, senza alcuna pretesa di completezza, alcune strutture circuitali tipiche che realizzano interruttori analogici. 269 Capitolo VI Conversione A/D e D/A -5 VR Vc +10 +5V 0 VR V0 +15V +5 +V VR V0 -V Vc Vc 0 0 +5 -15 +12 Interruttore serie (npn) +5 VR -10 V +5 -5 -15 -12 Interruttore serie con pilotaggio a corrente costante Interruttore parallelo a singolo transistore V V0 +5 +5 VR +15 +10 V0 -10 -15 V0 +15 0 c V 0 -10 +5 Interruttore serie (pnp) VR -15 Vc -10 Interruttore serie a NFET di media velocita' Interruttore serie-parallelo +12 VR1 Vc VR2 +10 +5 +12 V01 0 V02 +5 VR Vc VR2 V0 -10 Vc -24 +15 0 -12 VR1 V0 +5 -20 Interruttore serie-parallelo a NFET di media velocita' Interruttore serie a MOS Interruttore serie-parallelo a MOS fig. 6.53 Un’importante classificazione degli interruttori permette di raggrupparli in due categorie, quella in cui uno degli elettrodi dell'elemento di commutazione e' connesso al potenziale di riferimento e quella degli interruttori “floating”. Un esempio dei primi e’ rappresentato dal circuito di figura 6.53 (b). E’ abbastanza evidente che in questo caso il pilotaggio dell’interruttore e’ particolarmente semplice; e’, infatti, sufficiente polarizzare adeguatamente la base rispetto all’emettitore, che e’ connesso a massa, per ottenere la commutazione del transistore. Piu’ difficile risulta la commutazione di un interruttore “floating”. Si consideri, ad esempio, l’interruttore MOS di figura 6.54. Vi D S G Vc figura 6.54 270 Vo Capitolo VI Conversione A/D e D/A Avendo scelto per la realizzazione un MOS ad arricchimento, per portarlo in conduzione e’ necessario applicare tra gate e source una tensione di comando superiore alla tensione di soglia VT. Poiche’ tuttavia la tensione d’uscita Vo non e’ costante, anche la tensione di comando Vc non puo’ essere resa costante, ma deve essere tale che, istante per istante, sia rispettata la relazione: Vc − Vo ≥ VT Un possibile arrangiamento circuitale che soddisfa queste specifiche e’ quello che fa ricorso ad un generatore di corrente comandato, come mostrato in figura 6.55. In questo circuito e’ sufficiente che, indipendentemente dalla tensione Vo, R i .I c > VT per mantenere in conduzione il MOS. Vi Vo R Ic figura 6.55 C’e’ da notare infine che le capacita’ parassite giocano un ruolo fondamentale sugli errori di commutazione. Si consideri, infatti, un interruttore MOS “floating”, quale quello di figura 6.56, in cui siano state evidenziate le capacita’ parassite drain-source CDS, gate-source CGS e gate-drain CGD. C DS Vi D S Vo C G C GD Vc C GS figura 6.56 Per semplicita’ si consideri poi l’interruttore chiuso su un carico capacitivo C, situazione che molto spesso corrisponde alla realta’. Si supponga ora che al gate venga applicato un gradino di comando. Poiche’ le due capacita’ CGD e C formano un partitore capacitivo, una frazione della tensione di comando verra’ riportata in uscita, determinando quello che viene chiamato errore di piedistallo. Indicando con Vc la tensione di comando, si avra’ in uscita una tensione pari a: 271 Capitolo VI Conversione A/D e D/A Vo = Vc . C GD C GD + C La capacita’ CDS determina poi un errore detto “errore di feed-trough”. Infatti, anche quando il MOS e’ in condizione OFF, una parte del segnale d’ingresso Vi viene riportata in uscita poiche’ anche in questo caso CDS e C formano un partitore capacitivo. Si ha in tal caso: Vo = Vi . C DS C DS + C Si nota immediatamente che, in ambedue i casi, un aumento di C gioca un ruolo favorevole poiché fa diminuire l’errore complessivo. Tuttavia l’aumento di C ha tutta una serie di controindicazioni. Ad esempio la velocita’ operativa dell’interruttore in fase di chiusura viene diminuita poiche’ il condensatore C si carica con una costante di tempo pari a Ron.C. L’errore di piedistallo puo’ invece venir compensato utilizzando per realizzare l’interruttore due MOS complementari anziche’ uno solo, secondo lo schema di figura 6.57. Vi Vo Vc figura 6.57 In questo modo le cariche fornite all’uscita attraverso le capacita’ parassite si bilanciano tanto piu’ quanto le caratteristiche dei due MOS coincidono. 6.9) Gli interruttori per segnali analogici. Ciascun tipo di "switch" analogico ha i suoi vantaggi e le sue limitazioni, che ne determinano il campo d’impiego. Nessun interruttore infatti e' perfetto. Per essere tale esso dovrebbe avere una resistenza nulla nello stato ON, infinita in quello OFF ed avere un'efficienza del 100%, cioe' non dissipare potenza. Dal punto di vista delle caratteristiche elettriche gli interruttori meccanici sono quelli che piu' d’ogni altro si avvicinano a questa condizione ideale, in quanto hanno il piu' alto rapporto ROFF/RON ed isolano totalmente il segnale dalla funzione di controllo della commutazione. Tuttavia la loro realizzazione meccanica fa si' che si generino rumori e instabilita' nelle commutazioni a basso livello, con rimbalzo dei contatti, avvelenamento degli stessi e suscettibilita' alle vibrazioni. Inoltre, la necessita' di spostare una massa fisica per dar luogo alla commutazione impedisce operazioni ad alta velocita' e da' di regola luogo ad una maggior dissipazione di potenza che non con gli interruttori allo stato solido. I transistori bipolari permettono di realizzare degli eccellenti interruttori per segnali digitali, ma si rivelano molto carenti nelle applicazioni di commutazione con segnali analogici a basso 272 Capitolo VI Conversione A/D e D/A livello. I loro principali svantaggi risiedono nella presenza di tensioni di offset ineliminabili e nell'impossibilita' di isolare il segnale analogico da commutare dai segnali di controllo della commutazione. Inoltre nella commutazione di segnali analogici si rivelano relativamente lenti, ad esempio rispetto a interruttori realizzati con JFET. La resistenza di conduzione RON degli interruttori realizzati con BJT e' bassa e risulta compresa tra un massimo di qualche diecina di ohm per i normali transistori di bassa potenza fino a qualche milliohm per i transistori di potenza piu’ elevata. A causa delle loro caratteristiche essi vengono quindi utilizzati quasi esclusivamente nelle applicazioni ad alto livello, dove gli offset in corrente continua assumono un'importanza trascurabile. Sotto certi aspetti dispositivi particolarmente adatti alla realizzazione di interruttori analogici sono i dispositivi fotosensibili; poiche' utilizzano quali segnali di controllo la luce, essi permettono infatti un isolamento completo tra segnale di comando e circuito di segnale. Fissando l'attenzione sulle fotocelle e sulle fotoresistenze si puo' dire tuttavia che la loro RON e' relativamente alta e il rapporto ROFF/RON non e' molto buono. A cio' si aggiunge che, anche accettando bassi valori per tale rapporto, raramente si riescono a superare frequenze di commutazione al di sopra del centinaio di Hz. Se come elementi fotosensibili si utilizzano materiali semiconduttori quali il solfuro o il seleniuro di cadmio, si ha, infatti, una notevole inerzia nel raggiungere lo stato OFF dopo l'esposizione ad un'illuminazione intensa (in qualche caso possono passare diversi secondi prima che la ROFF raggiunga valori accettabili). Switch fotoelettrici piu' rapidi possono essere realizzati con la combinazione di LED e fototransistori o fotodiodi, ma in tal caso l'inconveniente principale e' il costo. Un comportamento molto migliore viene presentato dai JFET. Essi non presentano tensioni di offset, e il rapporto tra ammettenza e capacita' di ingresso e' il migliore tra quelli dei dispositivi comunemente disponibili. Questi due parametri hanno un'importanza fondamentale per la velocita' di commutazione e nel caso dei JFET, quando anche le sorgenti di segnale hanno un'impedenza interna molto bassa, la velocita' che si raggiunge puo' essere veramente notevole. Per fissare le idee si puo' affermare che un JFET a canale N, quale ad esempio il 2N4391, ha un rapporto ROFF/RON di circa 109, una resistenza di conduzione che si aggira sulla trentina di ohm e una massima corrente di perdita a 25°C, che non supera i 100 pA. E' bene ricordare che i JFET a canale P presentano caratteristiche di velocita' inferiori rispetto a quelli a canale N a causa della minor mobilita' dei loro portatori di carica maggioritari (lacune) rispetto ai portatori dei JFET a canale N (elettroni). Il maggior inconveniente dei JFET risiede nell'estrema difficolta' che si ha nel realizzare dispositivi multicanale in tecnica integrata. I dispositivi che oggigiorno maggiormente si prestano alla commutazione a bassa potenza, soprattutto quando l'ampiezza dei relativi segnali non sia eccessiva, sono i MOS, che permettono la realizzazione di diversi canali di commutazione sullo stesso substrato, con eccellenti caratteristiche. In aggiunta anche tutti i circuiti di controllo della commutazione possono essere integrati nello stesso chip. I MOS presentano dal punto di vista elettrico diversi significativi vantaggi: • • • • La dissipazione di potenza e' praticamente nulla nella maggior parte delle applicazioni. Infatti non vi e' potenza dissipata nei circuiti di gate e la stessa potenza dissipata nello switch, quando questo si trova nella condizione ON, e' di solito trascurabile. La tensione di offset in un commutatore ben progettato e' nulla. La resistenza ON e' ragionevolmente bassa ( al massimo di qualche centinaio di ohm). La resistenza OFF e' praticamente infinita (tipicamente > 1012 ohm) e le correnti di perdita sono molto piccole (dell'ordine dei 100 pA). 273 Capitolo VI Conversione A/D e D/A • I segnali analogici sono altamente isolati dal circuito di controllo della commutazione. 6.9.1) Struttura di un interruttore MOS. Si consideri a titolo di esempio la struttura di in commutatore formato da due switch, di cui uno puo' essere in condizioni ON e l'altro in condizioni OFF, come illustrato in fig. 6.58. Ambedue i MOS hanno un substrato comune, realizzato in silicio debolmente drogato N. Uno strato di biossido di silicio, accresciuto termicamente in tecnica epitassiale, copre completamente l'intera superficie del chip, tranne nelle zone in cui vengono realizzate le connessioni, garantendo una buona protezione dei dispositivi e una buona stabilita' delle caratteristiche. Le connessioni vengono normalmente realizzate in alluminio deposto sotto vuoto. Ciascun MOS ha elettrodi di gate e di ingresso separati; le uscite invece, a seconda del dispositivo scelto possono essere separate oppure connesse ad un elettrodo comune. E' interessante notare che a seconda della metallizzazione finale con la stessa struttura e disposizione dei dispositivi attivi possono venir realizzati switch individuali, differenziali o multiplexer. I MOS utilizzati sono di solito a canale P e passano in conduzione quando una tensione negativa viene applicata tra gate e source, essendo del tipo a rinforzo. metallo depositato uscita gate 2 gate 1 ingresso 2 ingresso 1 P+ P+ P+ P+ N SiO substrato substrato ingresso 1 gate 1 uscita ingresso 2 gate 2 figura 6.58 In fig. 6.59 sono riportate le condizioni tipiche di funzionamento di un MOS usato per commutare segnali analogici compresi tra -10 e +10 V. 274 Capitolo VI Conversione A/D e D/A +10 V substrato uscita dati R S RL controllo +10 V off -10 V on ingresso dati (10 V picco) tensione di soglia 6 5 4 3 2 1 0 5 10 15 20 tensione substrato - source fig. 6.59 In ciascuna condizione operativa e' opportuno che siano rispettate le seguenti condizioni: • • • La tensione VBB di polarizzazione del substrato deve essere maggiore della massima tensione positiva del segnale analogico. Poiche' tale polarizzazione deve essere mantenuta costantemente vi e' bisogno di un'alimentazione in continua. Per portare l'interruttore nella condizioni ON e mantenere bassa la resistenza di conduzione RON la tensione applicata al gate deve essere almeno di cinque volt inferiore della massima escursione negativa del segnale analogico. Per assicurare la completa apertura dello switch la tensione di gate deve diventare almeno pari a VBB, rendendo nulla la tensione di polarizzazione di gate VGB. La prima delle condizioni enunciate dev'essere osservata per ottenere buone prestazioni dall’interruttore. Si garantisce infatti in tal modo che le giunzioni p-n parassite siano polarizzate inversamente. Inoltre quando il canale e' OFF questa condizione isola il drain dal source garantendo resistenze di isolamento molto elevate. Quando lo switch e' ON e il canale drain - source si e' formato e la zona di canale rimane isolata dal substrato da una giunzione p - n in quanto il canale si trova comunque a tensioni maggiormente positive delle altre zone e si trova quindi polarizzato inversamente. Il diagramma di fig. 6.59, che illustra l'andamento qualitativo della tensione di soglia in funzione della tensione substrato-source, chiarisce invece l'opportunita' di rispettare la seconda e la terza regola. Si vede infatti che la tensione di soglia gate-source, parametro tipico dei dispositivi MOS a rinforzo, si modifica la variare della tensione di polarizzazione substrato-source. E' noto che per creare il canale in modo che la resistenza di conduzione sia di basso valore e' necessario applicare una tensione di polarizzazione VGS maggiore della tensione di soglia; in caso contrario la resistenza di canale si manterrebbe di valore elevato e verso l'uscita potrebbe scorrere solo una corrente di qualche µA. Per ottenere lo scopo stabilito, nella commutazione ON e' quindi necessario rendere il gate ' notevolmente piu' negativo della tensione di soglia VTH determinata dalla massima escursione negativa del segnale di ingresso. 275 Capitolo VI Conversione A/D e D/A Infine nella commutazione OFF la terza regola assicura che la polarizzazione del gate sia piu' positiva di VTH, garantendo che la zona di canale ritorni nella condizione di silicio di tipo N, impedendo pertanto che vi possa essere un flusso di portatori maggioritari tra source e drain. C'e' da osservare tuttavia che le resistenze RON e ROFF variano con la tensione del segnale e con la temperatura. Un segnale di ingresso positivo infatti fa aumentare la tensione di polarizzazione VGS favorendo la formazione del canale. La minima resistenza di canale si ha pertanto in corrispondenza alla massima escursione positiva del segnale di ingresso. Se tuttavia come carico si sceglie un valore resistivo molto maggiore che non la RON gli effetti della variazione di quest'ultima diventano trascurabili, sia per quanto riguarda la precisione dell'uscita, sia per quanto riguarda la distorsione introdotta in presenza di segnali variabili nel tempo, malgrado che la RON vari in maniera non lineare. Senza approfondire eccessivamente tale argomento si puo' dire che con un carico dell'ordine del migliaio di ohm, carico il cui valore puo' essere considerato insolitamente piccolo, la distorsione introdotta per piccoli segnali e' tipicamente inferiore allo 0.5 %. Il peggiore valore per la RON si ha ovviamente per segnali d’ingresso pari a -10 V. Se si desidera minimizzare l'effetto delle variazioni di RON, diminuendone nel contempo il valore, si puo' pensare di aumentare la polarizzazione negativa del gate. Ad esempio portando la tensione di controllo ON dai -15 V precedentemente ipotizzati a -25 o -30 Volt. Cio' fa ovviamente aumentare la polarizzazione gate - substrato, che con una tensione di polarizzazione del substrato VBB= + 10 V, passa dei -25 V precedenti a -35 ÷ -40 V. E' essenziale che per questa tensione non vengano superati i limiti massimi forniti dal costruttore. In caso contrario, pur non essendoci immediate ripercussioni sull'integrita' del dispositivo, vi potrebbe essere una notevole riduzione della sua vita operativa. Se viceversa i segnali di ingresso dovessero avere escursioni piu' ridotte rispetto ai ± 10 V precedentemente ipotizzati, tutte le polarizzazioni potrebbero a loro volta essere ridotte. Se si riduce la tensione ON di gate, tutte le commutazioni diventano piu' rapide e tutti i fenomeni legati ai transitori di commutazione diventano di minor entita'. Se invece viene diminuite la polarizzazione del substrato mantenendo inalterata la tensione ON di gate si hanno effetti positivi sulla formazione del canale e si ottiene una riduzione della resistenza RON a tutti i livelli del segnale di ingresso. Quando al gate si applica la VOFF, l'impedenza tra drain e source diventa estremamente alta (≥ 1012 ohm), in quanto l'unico contributo alla conduzione e' in sostanza dato dalla corrente di perdita. Bisogna tuttavia tenere presente che questa corrente cresce molto rapidamente con la temperatura. Se, ad esempio, si avesse a che fare con un dispositivo in cui la corrente di perdita a 25° C fosse di 100 pA, a 125° C questa corrente puo' raggiungere i 100 µA. Si ha cioe' approssimativamente un raddoppio della corrente di perdita ogni 10° ÷ 11° C di incremento della temperatura. A frequenze di segnale molto elevate si puo' poi verificare un altro meccanismo di conduzione, cioe' la trasmissione di segnale attraverso le capacita' del dispositivo, come e’ gia’ stato fatto notare in precedenza. Questo fenomeno puo' essere prevenuto o comunque ridotto facendo si' che l'impedenza di uscita del circuito di pilotaggio del gate sia la piu' bassa possibile in condizioni di apertura dell’interruttore. Le due piu' significative forme di perdita in continua sono la perdita di source e drain verso il substrato e le perdita tra ingresso e uscita attraverso il canale. E' ovvio che in un multiplexer, quando tutti i canali sono OFF, la perdita totale sara' la somma delle perdite dei singoli MOS. Il circuito con cui si misurano le perdite nel caso peggiore e' riportato in fig. 6.60. 276 Capitolo VI Conversione A/D e D/A A -25 V fig. 6.60 Il terminale al quale viene misurata la corrente di perdita viene polarizzato con un'opportuna tensione negativa mentre tutti gli altri terminali vengono connessi a massa. Questo collegamento, (figura 6.60) corrisponde a polarizzare il substrato a + 25 V , applicare a tutti i gate la tensione di 25 V e lavorare con segnali di ingresso a +25 V, condizione questa che si puo' ritenere la peggiore possibile per quanto riguarda la VGS. Per quanto riguarda le perdite del canale il circuito di misura e' riportato in fig. 6.61 (a). Con la tensione di ingresso Vin = +10 V si ha la massima corrente di perdita il cui andamento in funzione della tensione di ingresso stessa e' riportato in fig. 6.61 (b). 80 pA +10 V 40 pA +10 V Vin -10 V Vin -40 pA A -80 pA (a) (b) fig. 6.61 Il progettista di un circuito di commutazione, il cui intento sia quello di ottenere delle ROFF molto alte in qualsiasi condizione di funzionamento, deve prendere in considerazione la possibilita' di perdite nelle peggiori condizioni possibili, e non quelle medie che sono considerevolmente inferiori a quelle del caso peggiore. Quale prima considerazione e' necessario notare che le correnti di perdita di ciascun interruttore dipendono dalla tensione e quindi per segnali di ingresso inferiori a 10 V diventano minori. In secondo luogo, quando le tensioni di ingresso in alcuni canali sono positive mentre negli altri sono negative, le perdite tendono a compensarsi, riducendo la corrente totale di perdita in uscita. 277 Capitolo VI Conversione A/D e D/A Infine quando un interruttore si trova in condizioni ON non contribuisce alla corrente di perdita. Assumendo che le tensioni di ingresso abbiano una distribuzione probabilistica uniforme tra +10 e -10 V la perdita totale sara' all'incirca la meta' di quella del caso peggiore. 6.9.2) Conclusioni. I circuiti di commutazione per segnali analogici di tipo MOS offrono ottime caratteristiche, soprattutto se integrati. La dissipazione e' praticamente nulla, le capacita' parassite ragionevolmente basse (dell'ordine dei 10 pF agli ingressi analogici), il rapporto ROFF/RON alto e i segnali di controllo sono altamente isolati dagli ingressi e dalle uscite. Per pilotare gli interruttori si possono utilizzare dei convenzionali transistori bipolari e molto spesso i circuiti di controllo della commutazione sono integrati sullo stesso chip degli interruttori. In tal caso l'utilizzo di circuiti di spostamento del livello di tensione associato alle costanti logiche permette di avere come segnali di comando delle tensioni TTL o DTL compatibili. Se la realizzazione e' del tipo multiplexer, anche i circuiti atti ad effettuare la scansione degli ingressi sono integrati sul chip. Le frequenze di commutazione raggiungono l'ordine dei MHz. E' opportuno tuttavia notare che i commutatori MOS sono particolarmente adatti alla commutazione di segnali a bassa frequenza. Nelle applicazioni ad alta frequenza, segnatamente nel campo delle VHF, e' usuale rivolgersi a commutatori realizzati con JFET a canale N. TABELLA COMPARATIVA DEI VARI TIPI DI SWITCH Meccanici Resistenza ON 10 -6 ohm BJT Fotocelle JFET MOS 10 ohm 1 kohm 30 ohm 100 ohm 100 pA 10 nA 100 pA 100 pA -2 0 0 0 Corrente di perdita Tensione di offset Velocita' di commutazione 10 pA 0 10 V 50 MHz 1 kHz 100 kHz 100 Hz o piu' 10 MHz 6.10) I convertitori a rapporto. Da quanto si e’ visto fino a questo momento risulta evidente che i componenti utilizzati in un sistema di conversione A/D introducono tutta una serie di errori di misura che influiscono sulla precisione di conversione. In particolare un’estrema importanza assumono la precisione e la stabilita’ delle tensioni di riferimento del convertitore A/D vero e proprio. L’uscita digitale di 278 Capitolo VI Conversione A/D e D/A qualsiasi convertitore risulta infatti inversamente proporzionale alla tensione di riferimento VR. Indicando allora con A la grandezza analogica da convertire, l’uscita digitale D sara proporzionale al rapporto tra A e VR. A D≈ VR Qualsiasi variazione di VR provoca pertanto una variazione del dato digitale D, anche nel caso in cui A rimanga perfettamente costante. Se tuttavia la grandezza A e’ fornita da un sensore che richiede esso stesso una tensione di riferimento VR' si puo’ ricorrere alla tecnica della conversione raziometrica o a rapporto, che rende il dato D indipendente dal riferimento VR. L’uscita del sensore, infatti, e’ in questo caso proporzionale a VR' A = k.VR' e se si usa la stessa tensione di riferimento sia per il sensore che per il convertitore A/D, facendo si’ che VR = VR' , allora l’uscita D diviene indipendente da VR, svincolando pertanto la precisione del sistema dalla precisione e dalla stabilita’ della tensione di riferimento. 279 Capitolo VII I sistemi di interconnessione Capitolo VII I sistemi di interconnessione. 7.1) Introduzione. Nei sistemi digitali moderni ad alte prestazioni il problema principale che si presenta e’ piu’ quello dell’interconnessione e dello scambio di informazioni, che non quelli legati ai circuiti integrati e alle tecnologie impiegate. La motivazione di quest’affermazione e’ facilmente inquadrabile da un punto di vista elementare quando si consideri che l’evoluzione tecnologica ha permesso di ridurre costantemente la dimensione λ dei dispositivi elementare (transistori, ecc.), mentre la dimensione totale del circuito integrato (chip) e’ andata via via crescendo. Risulta quindi evidente che la complessita’ del circuito integrato prodotto (cioe’ il numero di dispositivi elementari che e’ possibile collocare in un unico chip) e’ aumentata in maniera quadratica con l’aumentare del rapporto L/λ, quando con L si indichi la dimensione lineare del chip, poiche’ la complessita' e’ legata evidentemente al rapporto tra l’area del chip e la superficie occupata sul chip da ciascun dispositivo elementare. Lo scambio delle informazioni con il mondo esterno e’ viceversa, nella migliore delle ipotesi, legata linearmente al rapporto L/λ in quanto e’ necessario appoggiarsi ai dispositivi che possono essere realizzati alla periferia del chip. La complessita’ pertanto cresce molto piu’ rapidamente di quanto non cresca la possibilta’ di comunicazione. A questo aspetto si affianca poi la considerazione che i sistemi moderni ad elevata complessita’ sono normalmente realizzati con un certo numero di sottosistemi che devono colloquiare tra loro. Si intuisce di conseguenza che il miglioramento della tecnologia ha generato via via un debito nelle possibilita’ di comunicazione rispetto alle necessita’ e si puo’ anzi affermare che questo e’ uno dei fattori piu’ importanti che limitano lo sviluppo di sistemi o sottosistemi complessi. Vi e’ ovviamente un unico modo per tentare di superare questo inconveniente e cioe’ aumentare la velocita’ operativa delle interconnessioni in modo da aumentare la quantita’ di informazione trasmessa nell’unita’ di tempo. Il problema tuttavia non e’ semplice da risolvere in quanto l’aumento della velocita’ rende piu’ critico l’interfacciamento tra i diversi sottosistemi. E’ bene che sia tuttavia chiaro che i problemi descritti esistono anche all’interno di un singolo circuito integrato, anche se su una scala ovviamente diversa, e che vanno affrontati e risolti in base ad un’unica impostazione metodologica. Una prima classificazione delle interconnessioni puo’ essere condotta fissando l’attenzione su alcune loro caratteristiche fondamentali e cioe’ sul tipo dell’interconnessione stessa, sul parallelismo e sulla presenza o meno di sincronizzazione. Per quanto riguarda la prima caratteristica, cioe’ il tipo di interconnessione, esistono fondamentalmente due modi di collegamento; la modalita’ punto a punto e quella multipunto (figura 7.1). Nel primo caso il canale di comunicazione viene usato esclusivamente per connettere due oggetti ben precisi; nella connessione multipunto invece lo stesso canale viene usato per connettere piu’ di due oggetti (in tal caso si parla molto spesso di bus). In questo caso evidentemente ciascun oggetto puo’ utilizzare il canale trasmissivo per colloquiare con qualsiasi altro 280 Capitolo VII I sistemi di interconnessione connessione punto a punto connessione multipunto figura 7.1 A partire da queste due strutture fondamentali puo’ venir realizzata qualsiasi altra topologia, per quanto complessa. Ad esempio una struttura ad anello o a stella (figura 7.2) puo’ veni considerata come un insieme di collegamenti punto a punto stella anello figura 7.2 Per parallelismo o grado di parallelismo si intende il numero di linee utilizzate per scambiare le informazioni. Si possono avere connessioni totalmente parallele in cui ciascun bit utilizza una linea e in tal caso l’informazione e’ totalmente presente in un dato istante poiche’ utilizza tante linee quanti sono i bit da trasmettere; all’estremo opposto si ha un’unica linea sulla quale i vari bit di informazione vengono trasmessi in differenti istanti di tempo. Si parla in tal caso di collegamento seriale. Esistono ovviamente anche soluzioni intermedie tra i due casi citati. La sincronizzazione infine riguarda la modalita’ con cui viene effettuata la sequenza delle operazioni durante il processo di trasmissione. Le possibilita' sono sostanzialmente le seguenti: • La sincronizzazione delle operazioni dei due sistemi, trasmittente e ricevente, che si trovano alle estremita’ della linea avviene utilizzando una sequenza di ritardi fissi. Si parla in tal caso di trasmissione di tipo sincrono. • La sincronizzazione e’ ottenuta utilizzando un opportuno segnale di clock. Si ha in tale situazione una trasmissione di tipo cadenzato. • Tutte le operazioni avvengono in modo completamente asincrono. Una serie di eventi provenienti dal mondo esterno determina una risposta del sistema in corrispondenza a ciascun evento, senza che sia necessario attendere un ritardo fisso o senza che sia necessario attendere il corretto fronte del segnale di clock. 281 Capitolo VII I sistemi di interconnessione 7.2) Il modello a strati. L’insieme di regole cui gli oggetti collegati al canale di comunicazione devono obbedire per riuscire a scambiare informazioni in modo corretto costituiscono quello che viene chiamato protocollo. Il protocollo specifica tutto quanto c’e’ sul canale di comunicazione. Ad esempio il tipo e i collegamenti al connettore, le caratteristiche elettriche dei segnali, la sequenza delle operazioni elementari e cosi’ via. Il protocollo pertanto e’ alquanto complesso e fa nascere l’esigenza di individuare un qualche modo operativo che permetta di isolare le varie funzioni descritte, separandole in diversi livelli, ciascuno dei quali potra’ essere trattato in maniera abbastanza autonoma una volta che siano state specificate le condizioni di interfaccia verso gli altri livelli. Si puo’ in tal modo evitare di dover considerare il protocollo nel suo complesso, operando solamente all’interno di uno dei livelli. L’obiettivo puo’ venir raggiunto attraverso quello che viene chiamato modello a strati. Esso permette di ordinare in modo sistematico i protocolli e le tecniche di interconnessione, individuando per ciascun livello i servizi e le interfacce verso i livelli adiacenti. Nell’impostazione piu’ semplice al livello piu’ elevato il servizio che viene individuato e’ quello della comunicazione tra gli elementi terminali (A e B di figura 7.3). A comunicazione B figura 7.3 Se tuttavia si presta appena un minimo di attenzione all’argomento ci si rende conto che in realta’ nessuno dei due elementi terminali colloquia direttamente con l’altro; in realta’ ciascuno di loro parla con una qualche apparecchiatura che si trova ad un livello inferiore. Per chiarire il concetto, se si considerano due utenti che colloquiano tramite il telefono, ci si rende conto che essi interagiscono non tra loro, ma si avvalgono di un organo di trasduzione che e’ la cornetta telefonica. Pertanto la comunicazione evidenziata in figura 7.3 e’ di solito puramente virtuale e non fisica. Esiste quindi un livello sottostante, che in un certo qual modo codifica le informazioni in una forma atta ad essere utilizzata dai livelli che stanno ancora piu’ in basso. La situazione andrebbe allora schematizzata come in figura 7.4. A adattamento dei segnali comunicazione scambio di segnali elettrici figura 7.4 282 B adattamento dei segnali Capitolo VII I sistemi di interconnessione Tuttavia anche il sistema descritto non e’ affatto generale in quanto nella maggior parte dei casi vi e’ la necessita’ di effettuare un collegamento non solo tra i dispositivi A e B, ma tra tutta una moltitudine di elementi terminali, sia nel caso di collegamento sia del tipo punto a punto sia nel caso del multipunto. Pertanto anche a livello di adattamento dei segnali il servizio offerto e’ ancora un servizio virtuale, che potrebbe essere definito come lo scambio di segnali elettrici tra due apparecchiature. A livello ancora piu’ basso esiste un ulteriore servizio virtuale che preoccupa dell’instradamento dei segnali, come illustrato in figura 7.5 A adattamento dei segnali verso altri utenti comunicazione scambio di segnali elettrici B adattamento dei segnali instradamento instradamento instradamento verso altri utenti figura 7.5 Per fare riferimento all’esempio precedente del collegamento telefonico, gli apparecchi individuali non comunicano direttamente tra loro, ma sono tutti connessi alle centrali telefoniche responsabili dell’instradamento. Infine al livello piu’ basso si ha il vero e proprio mezzo trasmissivo, che puo’ essere di vario tipo (doppino telefonico, cavo coassiale, collegamento a radiofrequenza, fibra ottica, ecc.). Molto spesso per utilizzare il canale trasmissivo e’ necessario sottoporre il segnale a ulteriori manipolazioni, che, pur mantenendo inalterato il contenuto informativo, modificano la natura fisica del segnale. Sempre rimanendo nell’ambito dell’esempio telefonico precedente, se il collegamento tra le centrali fosse realizzato, ad esempio, con un ponte radio, sarebbe necessario passare da un segnale elettrico a un’onda elettromagnetica opportunamente modulata. Al livello piu’ basso esiste pertanto un ultimo strato il cui servizio e’ quello di gestione del canale trasmissivo. In generale quindi ciascun strato utilizza un livello sottostante in termini di servizio e offre un servizio al livello superiore. Questo modo di inquadrare il problema complessivo permette di isolare meglio i singoli problemi di ciascun livello, consentendo di affrontarli in maniera largamente svincolata da quelli dei livelli adiacenti. In questa prospettiva pertanto un modello a strati per sistemi digitali potrebbe essere schematicamente il seguente: LIVELLO SERVIZIO APPLICAZIONE TRANSAZIONE CICLO ELETTRICO Esecuzione di programmi Trasferimento di istruzioni e dati Trasferimento di informazioni Trasferimento di bit 283 Capitolo VII I sistemi di interconnessione Il livello applicazione offre come servizio l’esecuzione di programmi, intesi ovviamente in senso lato e non necessariamente legati alla presenza di un calcolatore “general purpose”. Essa richiede tuttavia che dal livello sottostante, denominato transazione, vengano forniti servizi quali ad esempio il trasferimento di istruzioni e dati verso la memoria e le unita’ periferiche. A sua volte il livello ciclo deve curare il trasferimento di informazioni tra i moduli. La differenza tra il livello transazione e ciclo risiede nel fatto che a livello transazione l’informazione e’ chiaramente etichettata, permettendo di distinguere tra istruzioni e dati, mentre a livello ciclo si opera senza distinguere tra queste due categorie e non ci si preoccupa di quale sia il tipo di informazione che si sta trattando. Infine il livello elettrico offre come servizio in maniera non ambigua la trasmissione vera e propria delle unita’ informative, cioe’ i singoli bit. Si potrebbero, in effetti, introdurre anche altri livelli, sia al di sopra che al di sotto di quelli presi in considerazione, ma per quanto riguarda gli sviluppi successivi essi non rivestono particolare importanza. Per quanto riguarda l’interconnessione si puo’ anzi affermare che i livelli maggiormente interessanti saranno i due piu’ bassi, il ciclo e quello elettrico. Riepilogando quanto esposto si puo’ quindi affermare che: • A livello elettrico il servizio offerto e’ il trasferimento di bit (valori 1 o 0) e le grandezze trattate sono le tensioni e le correnti usate per la rappresentazione degli stati logici. • A livello di ciclo le variabili logiche vengono combinate in pacchetti di informazione atti ad essere trasmessi. • A livello di transazione ai pacchetti di informazione viene associato un significato (dati, indirizzi). • A livello di applicazione il servizio reso all’utente e’ l’esecuzione di un programma o, in altre parole, l’elaborazione dell’informazione. 7.3) Il livello elettrico. A livello elettrico per consentire la trasmissione corretta di dati elementari e’ necessario prendere in considerazione: a) Gli elementi fisici, cioe’ i fili, le piste, i transistori, i circuiti integrati di pilotaggio delle linee (driver), quelli ricevitori di linea (receiver), ecc. b) I parametri del sistema, cioe’ le correnti, le tensioni, i componenti attivi e passivi (R, L, C), l’impedenza delle linee e i tempi di propagazione. c) Il servizio offerto, cioe’ la trasmissione di variabili logiche, tenendo in considerazione sia i ritardi di propagazione che l’imprecisione con cui tale ritardo puo’ essere definito (skew). Il livello elettrico puo’ venire rappresentato dal modello semplificato di figura 7.6. Esso comprende quanto racchiuso nel tratteggio e comprende l’uscita del driver, l’interconnessione e l’ingresso del ricevitore. A monte del driver e a valle del receiver si ragiona in termini di stati logici, ma a livello di interconnessione l’attenzione deve venir spostata su tensioni e correnti. Le caratteristiche da studiare sono sia di tipo statico che dinamico. Le prime riguardano il trasferimento di stati logici stabili, trascurando completamente quanto avviene nel passaggio da uno 284 Capitolo VII I sistemi di interconnessione stato logico all’altro. Riguardano pertanto, a similitudine di quanto gia’ visto per le famiglie logiche, la corrispondenza tra stati logici e livelli elettrici e la compatibilita’. Driver Receiver stati logici stati logici Interconnessione livelli di tensione figura 7.6 L’attenzione va quindi indirizzata sui livelli di tensione VOH, VOL, VIH, VIL, sulle corrispondenti correnti IOH, IOL, IIH, IIL e sui relativi margini di rumore. Tutti i concetti gia’ espressi in precedenza conservano lo stesso significato e tutte le grandezze vano utilizzate allo stesso modo. Quando viceversa si passano ad esaminare i problemi in regime dinamico e’ necessario mettere a punto anche per l’interconnessione degli opportuni modelli elettrici, poiche’ l’interconnessione stessa non puo’ piu’ essere considerata come se fosse un semplice cortocircuito. Resistenza, capacita’ e induttanza, distribuite lungo la linea hanno un’influenza determinante sui segnali, deformandoli e ritardandoli in misura anche considerevole. I modelli che si possono mettere a punto possono essere sia a parametri concentrati che distribuiti e il loro intento e’ quello di definire il tempo di propagazione del segnale sulla linea, dovuto alla velocita’ finita con cui esso viaggia, e valutare con sufficiente approssimazione l’attenuazione e soprattutto la degradazione dei fronti del segnale. Lo studio in regime dinamico del livello elettrico richiede pertanto, almeno in una prima fase, che vengano messi a punto: • • Modelli lineari del driver e del receiver. Modelli RC, LC, RLC (cioe’ modelli a parametri concentrati) dell’interconnessione. I segnali di prova che vengono utilizzati sono a gradino e la risposta viene analizzata al fine di definire e misurare il tempo di trasmissione, analogo a quello che e’ stato definito come tempo di ritardo delle porte. Il tempo di trasmissione rappresenta il tempo necessario per trasferire l’informazione dall’estremita’ trasmittente della linea a quella ricevente. Il piu’ semplice modello a parametri concentrati con cui si puo’ avere a che fare e’ riportato in figura 7.7. In questo modello la linea di trasmissione e’ rappresentata da una semplice rete RC che tiene conto sia della resistenza distribuita della linea, sia delle capacita’ parassite inevitabilmente presenti (capacita’ distribuite lungo la linea e capacita’ presente all’ingresso del ricevitore). 285 Capitolo VII I sistemi di interconnessione Receiver Driver Interconnessione stati logici (1,0) Ro Va stati logici (1,0) C B Rp VB Cp VC Ri livelli di tensione figura 7.7 Con riferimento a questo semplice modello si supponga che, a partire dalla condizione in cui Cp risulta completamente scarico, la tensione Va passi a gradino da 0 a V. Immediatamente dopo la commutazione al punto B si avra’ la tensione VB = V. Rp Rp + Ro mentre per t → ∞ la tensione al punto B raggiungera’ il valore: VB = V. Rp + Ri Ro + Rp + Ri Poiche’ il sistema preso in considerazione e’ un sistema del primo ordine, il raccordo tra queste due condizioni estreme sara’ di tipo esponenziale. Si ha in definitiva che: Ri + Rp Rp R i + R p − τt .e VB (t ) = V. + − R i + R p + R o R p + R o R i + R p + R o avendo indicato con τ la costante di tempo τ = C p . R i .(R p + R o ) . Ri + Rp + Ro La tensione di uscita al punto B non e’ quindi immediatamente disponibile; all’istante iniziale se ne avra’ solo una frazione che dipende dall’impedenza di uscita del driver e dalla resistenza della linea. In modo analogo al punto C la tensione partira’ da 0 e tendera’ per t → ∞ al valore VC = V. Ri Ro + Rp + Ri sempre con la medesima costante di tempo. 286 Capitolo VII I sistemi di interconnessione Il tempo di trasmissione Tt puo' allora essere definito come il tempo che intercorre tra l'istante in cui la tensione VB raggiunge la tensione di soglia Vt, cioe' quella che in prima approssimazione determina la transizione tra stato basso e stato alto, e quello in cui Vc raggiunge il medesimo valore Vt. Il tempo di trasmissione, illustrato in figura 7.8, in sostanza e' il ritardo con cui una variazione di stato logico all'estremita' trasmittente della linea viene riconosciuto all'estremita' ricevente. VB Vt t VC Vt t Tt figura 7.8 Anche utilizzando il semplicissimo modello a parametri concentrati e' evidente che il tempo di trasmissione dipende dall'impedenza di uscita del driver, dalla resistenza e dalla capacita' distribuite della linea di trasmissione e dall'impedenza di ingresso del ricevitore. E' anche facilmente intuibile che, a parita' di tutti gli altri parametri, il tempo di trasmissione aumenta all'aumentare della lunghezza della linea e che esiste una lunghezza limite, superata la quale l'attenuazione introdotta dalla linea non permette piu' che Vc raggiunga e superi Vt. Si tenga inoltre presente che non si e' in grado di garantire un valore ben preciso del tempo di trasmissione. Esso, infatti, puo' variare per effetto delle variazioni della costante di tempo, di quelle della tensione di soglia Vt e inoltre l'elemento trasmittente non fornisce un gradino di tensione compreso tra 0 e V, ma semplicemente una variazione di tensione maggiore o uguale alla distanza tra i due valori garantiti V0L e V0H. Pertanto e' possibile fornire solamente un malore massimo e uno minimo per il tempo di trasmissione e in sede di progetto si deve ragionare in termini di "skew". I parametri che vengono forniti di solito sono il tempo di trasmissione medio e lo skew. In linea di massima si puo' affermare che e' lo skew il parametro piu' importante ed e' sulla sua base che vengono definiti i protocolli di trasmissione. Il modello a parametri concentrati utilizzato non e' tuttavia in grado di rappresentare in maniera adeguata tutti i fenomeni coinvolti nella trasmissione dei segnali, in particolare quando si abbia a che fare con linee di una certa lunghezza. In primo luogo esso trascura completamente la presenza dell'induttanza distribuita della linea. Pertanto un modello piu' appropriato sarebbe quello di figura 7.9. 287 Capitolo VII I sistemi di interconnessione L R C . figura 7.9 Da un altro punto di vista si dovrebbe poi tenera conto delle perdite della linea, inevitabilmente presenti, introducendo una resistenza di perdita in parallelo alla capacita' C. Il limite principale che tuttavia i modelli a parametri concentrati presentano risiede nel fatto che nella realta' resistenza, capacita' e induttanza sono distribuite uniformemente lungo la linea e non concentrate in un unico punto. Si puo' pertanto pensare di suddividere la linea in tanti spezzoni, per ciascuno dei quali si puo' costruire un modello a parametri concentrati, come illustrato in figura 7.10. L R L R L C . R C . C . figura 7.10 Andando al limite, considerando cioe' un numero infinito di celle di lunghezza infinitesima, si ottiene il modello a parametri distribuiti che prende il nome di modello delle linee di trasmissione. Le caratteristiche principali di una linea di trasmissione sono: • La velocita' U di propagazione del segnale lungo la linea. La velocita', infatti, non e' infinita, ma e' limitata superiormente dalla velocita C della luce. A seconda delle caratteristiche della linea la velocita U puo' essere anche considerevolmente inferiore a C e tale fatto assume una notevole importanza in presenza di linee lunghe. • L'impedenza caratteristica Zo della linea, cioe' il rapporto v(t )/ i(t ) , che risulta costante lungo tutta la linea. Il tempo di propagazione lungo una linea di lunghezza L e' evidentemente pari a: 288 Capitolo VII I sistemi di interconnessione tp = L U E' opportuno far notare che il tempo di propagazione dipende unicamente dalle caratteristiche della linea e non va confuso con il tempo di trasmissione precedentemente definito e dipendente da tutta una serie di altri parametri. Il tempo di propagazione e' quello necessario per spostare un'onda elettrica da un punto ad un altro di una linea di trasmissione, mentre il tempo di trasmissione e' quello necessario per accorgersi senza ambiguita' di una variazione di stato logico. Dalla teoria delle linee di trasmissione si ricava che: Z o = L ' / C' dove L' e C' sono rispettivamente induttanza e capacita' per unita' di lunghezza della linea stessa. Analogamente la stessa teoria afferma che: U= 1 L'.C' Le relazioni appena introdotte sono valide per linee senza perdite, condizione abbastanza ben approssimata nella maggior parte dei casi reali. In questo caso l'impedenza caratteristica e' puramente ohmica, come e' facile verificare. Essa inoltre e' indipendente dalla frequenza. Aumentando la capacita' diminuiscono sia l'impedenza caratteristica che la velocita' di propagazione, mentre aumentando L' aumenta l'impedenza caratteristica e diminuisce ancore la velocita' di propagazione. Se si fa riferimento a piste di circuito stampato aumentare C' corrisponde a realizzare piste piu' larghe, diminuire la loro distanza dai conduttori di massa, connettere un maggior numero di ingressi sulla linea ecc., mentre aumentare L' coincide sostanzialmente con il realizzare piste piu' sottili. Le linee tuttavia possono essere di diverso tipo: cavi coassiali, piste su stampato (generalmente con una delle facce dello stampato utilizzata come piano di massa, in modo da garantire una costanza delle caratteristiche della linea), doppini ritorti, cavi piatti, ecc. Ciascuna di loro presenta una ben precisa impedenza caratteristica e una velocita' di propagazione ben definita. L'impedenza caratteristica Zo tuttavia e' compresa di solito tra i 50 e i 100 Ω per i cavi e tra 20 e 200 Ω per le piste, mentre il doppino ritorto ha normalmente un'impedenza di 600 Ω. La velocita' di propagazione e' normalmente compresa tra 0,6 C e 0,8 C. Nel grafico di figura 7.11 e' riportata l'impedenza di linee realizzate con piste di circuito stampato in funzione delle loro dimensioni e dello spessore e della natura del dielettrico, quando una delle facce venga usata quale piano di massa. 289 Capitolo VII I sistemi di interconnessione Z0 ohm Impedenza caratteristica di strip lines w 100 h εr 10 εr = 6 εr=4 ε r = 2,5 1 1 0.1 10 100 w/h figura 7.11 L'utilizzo del modello a parametri distribuiti si rende necessario solamente quando il tempo di propagazione diventa paragonabile con i tempi di salita e di discesa del segnale. In sostanza, quando la lunghezza della linea di interconnessione supera i 60 cm per gli elementi TTL standard, i 25 cm per gli elementi ALS, la decina di cm per quelli TTL Schottky e i 5 ÷ 6 cm per gli elementi ECL. Con linee piu' corte, infatti, tutti i punti della linea possono essere considerati equipotenziali, mentre in caso contrario questa ipotesi non e' piu' accettabile. In tale situazione il cambiamento di stato potrebbe essere gia' stato completato in un punto della linea, ma in punti piu' distanti potrebbe non essere stato ancora avvertito a causa dalla velocita' finita di propagazione. Quanto piu' veloce e' la commutazione e tanto minore e' la lunghezza di linea entro la quale e' utilizzabile il modello a parametri concentrati; ad esempio, all'interno di un circuito integrato, dove spesso le commutazioni sono estremamente rapide, accade spesso che anche connessioni dell'ordine del millimetro debbano essere considerate linee di trasmissione. Si prenda ora in considerazione il modello di una connessione in cui il mezzo trasmissivo debba essere considerato una linea (figura 7.12). Zo Ro B C tp VA VC VB VA t figura 7.12 290 RT Capitolo VII I sistemi di interconnessione La linea sia chiusa su una resistenza di terminazione RT e il segnale di ingresso VA sia un segnale a gradino. Nell'istante di applicazione dell'ingresso il generatore VA vede come carico un oggetto per il quale V/I = Zo. Le considerazioni sono del tutto analoghe a quelle gia' fatte per il modello a parametri concentrati e di conseguenza la tensione disponibile al punto B nell'istante t = 0 sara' data da: VB = VA . Zo R o + Zo Pertanto in uscita sara' disponibile solamente una frazione della tensione VA, dipendente dai valori di Ro e Zo. Il gradino di tensione di ampiezza VB si propaga poi lungo la linea e dopo il tempo tp giunge all'estremita' opposta dove e' connessa la resistenza di terminazione RT. Per questo bipolo tuttavia esiste il vincolo che il rapporto tra tensione applicata e corrente che vi circola sia pari a RT, mentre il segnale applicato proviene da un bipolo per il quale V/I = RT. Senza utilizzare considerazioni piu' accurate, patrimonio della teoria delle linee, si puo' pensare che i vincoli vengano rispettati se si suppone che in C si generi quella che viene chiamata onda riflessa, che si somma a quella gia' presente. Quest'onda si propaga a sua volta lungo la linea verso l'estremita' B. La discontinuita' presente in C genera quindi un'onda, che si propaga in direzione opposta a quella dell'onda diretta e che arriva in B dopo un tempo pari a 2tp. Anche all'estremo B tuttavia puo' esistere una discontinuita' in quanto non e' affatto garantito che Ro sia uguale a Zo. Per i medesimi motivi, che sono appena stati presi in considerazione, si genera una nuova onda, che si somma a quella presente in B e si propaga nuovamente lungo la linea e giunge in C al tempo 3tp. Ragionando in tal modo si puo' quindi affermare che all'estremo B si avra' tutta una serie di variazioni di tensione negli istanti ntp con n = 1,2,4 … , cioe' in multipli pari del tempo di propagazione, mentre all'estremo C le variazioni di tensione si avranno ai multipli dispari di tp. L'andamento complessivo della tensione agli estremi della linea assume una caratteristica forma a gradinata, come illustrato in figura 7.13. VB VA t VC VA tp 2t p 3t p 4t p t figura 7.13 A ciascun estremo della linea le variazioni risulteranno intervallate di 2tp, come risulta evidente dalle considerazioni precedenti. 291 Capitolo VII I sistemi di interconnessione L'ampiezza Vr dell'onda riflessa e' legata a quella Vi dell'onda incidente da un coefficiente K detto coefficiente di riflessione. In altre parole Vr = K.Vi con K= R T − Zo R T + Zo Conviene prendere in considerazione tre situazioni particolari: RT = Zo linea adattata, cioe' chiusa su una resistenza di valore pari all'impedenza caratteristica K=0 VR = 0 RT = ∞ linea aperta K =1 VR = Vi RT = 0 linea cortocircuitata K = -1 VR = -Vi Nel caso della linea adattata il rapporto V/I e' identico sia sulla linea che sulla resistenza di terminazione e di conseguenza non c'e' alcuna onda riflessa. L'onda diretta giunge alla fine della linea e quindi dopo un tempo tp si raggiungono le condizioni di regime. Con la linea aperta invece il coefficiente di riflessione vale 1 e quindi l'onda riflessa ha lo stesso segno e la stessa ampiezza di quella incidente, mentre con la linea cortocircuitata l'onda riflessa deve valere -Vi, in quanto ai capi di un cortocircuito la tensione deve essere nulla. Il coefficiente di riflessione pertanto vale -1. La determinazione del coefficiente di riflessione e' relativamente semplice. Si consideri infatti una linea connessa alla sua resistenza di terminazione RT, come mostrato in figura 7.14. vi , i i Zo , v,i iT , vr , i r vT RT figura 7.14 Indicando con vT la tensione di terminazione all'estremita' della linea, nella resistenza RT circolera' una corrente pari a iT e per la legge di ohm si avra' che: 292 Capitolo VII I sistemi di interconnessione RT = vT iT In qualsiasi sezione della linea invece dovra essere soddisfatta la: v, = Zo i, dove con v' e i' si sono indicate rispettivamente tensione e corrente nella sezione. Normalmente RT e Zo sono diverse tra loro e vi e' quindi un'evidente discontinuita' quando si giunge alla terminazione. Per superare questa, che a prima vista puo' sembrare un'incongruenza, e' sufficiente pensare che sulla linea sia presente un segnale che si propaga verso la terminazione (onda incidente), caratterizzato dai valori ii e vi, e una seconda onda (segnale riflesso), che viaggia in direzione opposta ed e' caratterizzata dai valori ir e vr. Per ambedue queste onde il rapporto tra tensione e corrente e' pari a Zo. vi v r = = Zo ii ir (7.1) Il sistema preso in considerazione tuttavia e' lineare e quindi vale il principio di sovrapposizione degli effetti. Pertanto al morsetto di uscita si ha: vT = vi + v r iT = ii − i r Si ottiene di conseguenza che: vi + v r = RT ii − i r Sostituendo in questa relazione i valori che di ii e ir che si ottengono dalle (7.1) si ha che: vi + v r = RT vi v r − Zo Zo Si ricava pertanto v i .Z o + v r .Z o = v i .R T − v r .R T Esprimendo vr in funzione di vi si ottiene finalmente v r = vi . R T + Zo R T − Zo 293 Capitolo VII I sistemi di interconnessione Il rapporto tra onda incidente e onda riflessa, cioe' quello che in precedenza e' stato definito come coefficiente di riflessione K vale pertanto: K= R T − Zo R T + Zo E' interessante notare che, se la resistenza di terminazione RT e' maggiore di Zo, l'onda riflessa e' in fase con quella incidente (K > 0), mentre, se RT e' minore di Zo, l'onda riflessa e' in opposizione di fase con quella incidente. Si consideri ora il caso in cui anche l'impedenza del generatore che alimenta la linea sia pari a Zo. Con riferimento alla figura 7.12, all'istante t = 0 la tensione disponibile al punto B sara' pari a Va/2. Dopo un tempo tp l'onda giunge al punto C e se la linea e' aperta l'onda riflessa sara' in fase con quella incidente facendo si' che: Vc = Va Va + = Va 2 2 L'onda riflessa d'altra parte si propaga verso l'estremita' trasmittente (punto B) e pertanto al tempo t = 2tp anche la tensione VB diventa uguale a VA. Poiche' l'impedenza del generatore e' pari a Zo, la linea vede un carico adattato, non si ha nessuna ulteriore riflessione e le condizioni di regime sono a questo punto raggiunte. L'andamento della tensione alle due estremita' della linea e' riportato in figura 7.15. VB VA t VC VA tp 2t p 3t p 4t p t figura 7.15 Una situazione analoga si verifica quando la linea e' cortocircuitata. Unica differenza risiede nel fatto che l'onda riflessa e' in questo caso in opposizione di fase con quella incidente. Le relative forme d'onda (evidentemente in forma idealizzata, come in tutti i casi precedenti) sono riportate in figura 7.16. 294 Capitolo VII I sistemi di interconnessione VB VA t VC VA tp 2t p 4t p 3t p t figura 7.16 Quando il generatore non e' adattato la situazione si complica a causa delle riflessioni multiple e del valore del coefficiente di riflessione, compreso tra + 1 e - 1. Ci si rende quindi conto che in una situazione generale, in cui ne' il generatore, ne' il carico sono adattati e in cui e' necessario tener conto che la linea reale non e' priva di perdite e di conseguenza introduce un'attenuazione del segnale, l'analisi del comportamento diventa estremamente difficoltosa. A queste considerazioni si aggiunge poi il fatto che l'impedenza interna del generatore e il carico di terminazione non sono affatto costanti, dato che il generatore e' l'uscita di una porta logica e pertanto presenta impedenze diverse nello stato ON e in quello OFF, mentre il carico di terminazione altro non e' se non l'ingresso di una porta logica, che molto spesso presenta caratteristiche non lineari. Si possono a questo punto tirare alcune conclusioni. Quando il driver commuta la tensione immediatamente disponibile al punto B (figura 7.12) e': VB = VA . Zo Zo + R o E' ovviamente desiderabile che la tensione VB sia superiore alla tensione di soglia VT con cui un dispositivo logico avverte il cambiamento di stato. Pertanto e' opportuno che Ro sia la piu' bassa possibile o, in altre parole, che il driver sia in grado di fornire elevate correnti IoL e IoH. Quando VB e' immediatamente superiore a VT il tempo di trasmissione all'estremita' B e' nullo, mentre quando questo non avviene e' necessario attendere l'onda riflessa e il tempo di trasmissione diviene un multiplo pari del tempo di propagazione tp. Se la soglia VT e' attraversata con il primo gradino si dice che il driver e' in grado di far commutare il sistema sulla prima transizione dell'onda incidente (incident wave driver). Se tuttavia, anziche' soffermare l'attenzione sulla sola estremita' trasmittente della linea, si considera la linea nel suo complesso, si possono fare ancora altre considerazioni relative ai dispositivi ricevitori distribuiti lungo la linea stessa. La prima osservazione, che appare evidente, e' che i ricevitori devono avere una bassa capacita' di ingresso, per non abbassare eccessivamente l'impedenza caratteristica. Si sa infatti che: Zo = 295 L' C' Capitolo VII I sistemi di interconnessione Se quindi lungo la linea vengono connessi elementi con alta capacita' di ingresso, l'impedenza caratteristica si abbassa ed e' piu' difficile raggiungere la condizione di commutazione sull'onda incidente. Sono disponibili sul mercato opportuni dispositivi (normalmente in tecnologia BiCMOS) con bassa resistenza di uscita e bassa capacita' di ingresso, in grado di assicurare una connessione ottimale con la linea. E' necessario inoltre tener conto di tutte le discontinuita' presenti sulla linea, ciascuna delle quali genera un'onda riflessa. Per limitare queste riflessioni e' necessario adattare, per quanto possibile, la linea in corrispondenza a queste discontinuita', inserendo le cosiddette resistenze di terminazione. Si e' gia' visto in precedenza che, se la resistenza di terminazione RT ha un valore pari a Zo (si ricordi che se le linea e' priva di perdite Zo e' puramente resistiva) non si ha alcuna riflessione. La terminazione tuttavia e' un carico statico che assorbe corrente; se, ad esempio, la linea avesse un'impedenza caratteristica di 50 Ω (valore tipico per i cavi coassiali) e la tensione VH fosse non inferiore a 2,4 V (valore minimo garantito per la famiglia TTL) la corrente circolante in RT = 50 Ω sarebbe come minimo pari a 48 mA, che e' un valore certamente non trascurabile e altrettanto certamente superiore al valore IoH = 0,4 mA garantito dal costruttore. Si puo' in pratica concludere che in pratica nessuna porta appartenente alle famiglie logiche che si sono prese in considerazione in precedenza e' in grado di pilotare una linea adattata. Si evidenzia pertanto una volta di piu' la necessita' di ricorrere ad appositi dispositivi (piloti e ricevitori di linea). Le resistenze di terminazione vengono di solito chiuse su una tensione prossima alla VoH o addirittura sulla tensione di alimentazione anziche' essere connesse a massa. Questa disposizione e' giustificata dal fatto che l'elemento pilota ha normalmente una IoL > IoH e di conseguenza la connessione citata permette di sfruttare meglio le caratteristiche del dispositivo, come appare evidente dalla figura 7.17. (a) (b) IT IT Vcc RT Vo Vo RT caso Vo = V oH VoH (a) I T= (b) I T∼ =0 RT Vo = V oL ( per un corretto funzionamento deve essere IT < I oH ) I T∼ =0 I T= Vcc - VoL RT ( per un corretto funzionamento deve essere I < IoL ) T figura 7.17 296 Capitolo VII I sistemi di interconnessione Le terminazioni tuttavia possono sfruttare disposizioni circuitali diverse che non la singola resistenza. Tra queste una disposizione comune e' quella a partitore, illustrata in figura 7.18 (a). Vcc R1 R R = R // R 1 2 V = Vcc . 2 R2 R + R2 1 (a) (b) figura 7.18 Per Thevenin questo tipo di terminazione equivale al circuito illustrato in figure 7.18 (b). Se ad esempio fosse R1 = R2 = 2Zo, si avrebbe V = Vcc/2 e R =Zo. Nello stato alto quindi il driver dovrebbe erogare una corrente pari a IT = VoH − Vcc 2 Zo mentre nello stato basso la corrente assorbita sarebbe Vcc − VoL 2 IT = Zo Con un'oculata scelta dei valori R1 e R2 e' possibile quindi ridurre a valori modesti la corrente IT nei due stati rispetto alla corrente che si avrebbe nel caso della terminazione realizzata con la singola resistenza. RT C figura 7.19 297 Capitolo VII I sistemi di interconnessione Esistono poi le terminazioni attive, in cui la resistenza di terminazione viene connessa ad appositi regolatori di terminazione a basso consumo. Esse vanno tuttavia utilizzate con precauzione e consistono nella connessione della resistenza ad una capacita' anziche' a massa o alla tensione di alimentazione, come illustrato in figura 7.19. Per quanto riguarda il transitorio di commutazione il sistema si comporta come se RT fosse connessa a massa o a VoH, a seconda che la commutazione sia quella low-high o high-low. A regime viceversa non circola alcuna corrente il che giustifica il nome di terminazione a basso consumo. A questo punto rimane da prendere in esame come l'adattamento possa venir realizzato nel caso di collegamento punto a punto e in quello di collegamento a bus. Si consideri dapprima la situazione relativa ad un collegamento punto a punto illustrato in figura 7.20, in cui la linea e' pilotata ad un estremo e caricata all'altro estremo da una resistenza di alto valore. In prima approssimazione si potra' considerare la linea come se fosse aperta. Zo Ro C B VA vu = vi + vr Vi figura 7.20 In questa caso il coefficiente di riflessione K e' pari a 1 e l'onda riflessa vr e' uguale a quella incidente vi. Si supponga inoltre che Ro sia molto minore di Zo per soddisfare le esigenze messe in luce precedentemente. Il coefficiente di riflessione al lato trasmittente pertanto e' negativo e nel caso al limite in cui Ro = 0 (generatore di tensione) K = -1. Le forme d'onda di vi e vu assumono allora gli andamenti del tipo illustrato in figura 7.21 ( nell'ipotesi Ro = 0, RT = ∞ e con la linea priva di perdite ). Ci si rende pertanto conto che l'andamento di vu diviene oscillatorio, dando luogo ad attraversamenti multipli della tensione di soglia. Viene di conseguenza a mancare la commutazione sulla prima transizione e il tempo di transitorio (finito in quanto nella realta' la linea non e' priva di perdite) viene prolungato anche notevolmente. Vi VA t Vu 2VA vr vi tp 2t p 3t p figura 7.21 298 4t p 5t p t Capitolo VII I sistemi di interconnessione Quando infatti l'onda riflessa all'estremita' C ritorna in B, essa viene ulteriormente riflessa verso C, cambiata di segno; quando poi giunge in C si ha un'ulteriore riflessione con K = 1 e di conseguenza Vu si annulla. Questa nuova onda riflessa, di ampiezza pari a - VA, ritornando in B viene ulteriormente riflessa, con cambiamento di segno, e giungendo in C riporta l'uscita nella condizione che gia' si era verificata all'istante tp. Per eliminare l'inconveniente si puo' pensare di adattare la linea all'estremo remoto (ricevente) in modo da eliminare la riflessione. Si va incontro tuttavia in tal modo ad un maggior consumo statico in quanto il driver dovra' fornire la corrente necessaria alla resistenza di terminazione. Se invece si adatta la linea all'estremita' trasmittente, inserendo in serie all'uscita del driver una resistenza R tale che R + Ro = Zo, allora all'estremita' B non si ha alcuna riflessione e di conseguenza la tensione raggiunta al punto C alla prima transizione (t = tp) si mantiene poi costante. La tecnica di adattamento descritta prende il nome di terminazione serie, ma non e' possibile adottarla quando il collegamento e' una connessione a bus. In questo caso infatti la situazione tipica e' quella in cui la linea viene pilotata in un punto intermedio (figura 7.22). Zo Zo Zo 2 driver figura 7.22 In queste condizioni il driver vede un'impedenza pari a Zo/2 e di conseguenza la sua impedenza d'uscita deve essere la piu' bassa possibile, esigenza sentita in misura maggiore che non nel caso in cui la linea viene pilotata ad un estremo. Se l'uscita di uno dei due spezzoni di linea viene lasciata aperta, l'onda incidente viene riflessa con coefficiente K=1. Quando tuttavia l'onda riflessa ritorna al driver, essa viene nuovamente riflessa, come si e' gia' visto, con coefficiente K = −1 , innescando il fenomeno di oscillazione (ringing). Nella realta' tale oscillazione va smorzandosi in quanto le linee reali presentano anche caratteristiche dissipative, ma lo smorzamento puo' essere notevolmente lento. L'adattamento al lato driver con terminazione serie in questo caso non e' possibile, poiche' al nodo cui e' connesso il driver e' collegato anche l'altro spezzone di linea. In tal caso quindi l'adattamento va fatto all'estremita' ricevente rendendo necessario porre su ogni terminazione una resistenza di valore pari a Zo. Nei bus tuttavia, oltre alla necessita di terminare correttamente la linea, vi e' tutta una serie di accorgimenti di cui bisogna tener conto. Poiche' sulla linea sono collegati molti oggetti e' necessario limitare per quanto possibile il carico capacitivo. Questo risultato puo' essere raggiunto interponendo elementi separatori tra il bus e il circuito che ad esso viene connesso. Anziche' fornire 299 Capitolo VII I sistemi di interconnessione direttamente il segnale presente sul bus a tutti gli elementi ad esso collegati si utilizzano dei buffer o piu' propriamente dei transceiver (combinazione di trasmettitore e ricevitore di linea) secondo quanto illustrato in figura 7.23. bus transceiver al resto del circuito figura 7.23 In questo modo il bus viene caricato solo dal transceiver che a sua volta e' in grado di pilotare adeguatamente il resto del circuito. I transceivers vanno montati il piu' possibile vicini al punto di connessione al bus vanno scelti anche in riferimento al tipo di involucro in modo da avere parametri parassiti ( in particolare capacita' ) quanto piu' piccoli possibile. I circuiti stampati infine vanno realizzati nell'esecuzione multistrato, in cui uno o piu' dei piani viene destinato a piano di massa. Si possono ottenere in tal modo linee di connessione omogenee e di caratteristiche ben definite, realizzando nel contempo un'efficace schermatura tra linee appartenenti a piani diversi dello stampato. Anche tra linee appartenenti allo stesso piano si puo' realizzare una schermatura di una certa efficacia intercalando linee di segnale e linee di massa in modo da minimizzare l'accoppiamento capacitivo che si puo' instaurare tra linee che viaggino parallele per un certo tratto. Si riduce in tal modo l'interferenza reciproca (diafonia) che, in particolare in circuiti veloci, puo' dare origine a notevoli inconvenienti. I migliori risultati possono essere ottenuti utilizzando le microstriscie (microstrip), che consistono in linee di segnale intercalate a linee di massa e racchiuse tra due piani di massa. Come conclusione su questa breve trattazione relativa al livello elettrico si puo' dire che il servizio offerto e' il trasferimento di bit (1,0) tra due elementi del sistema. Al variare delle condizioni operative della linea il tempo di trasmissione tT varia ed e' comunque sempre definito con una certa incertezza (skew), che verra' indicato con tx. Lo skew puo' venir ridotto, ma mai eliminato, progettando opportunamente il sistema di interconnessione, scegliendo cioe' driver, ricevitori e tipo di linea. 7.4) Forme e modalita' operative dei circuiti di trasmissione dati. I circuiti di trasmissione dati si presentano in due forme principali; circuiti con trasmissione su linea sbilanciata e circuiti che utilizzano la trasmissione differenziale su linea bilanciata. 300 Capitolo VII I sistemi di interconnessione Trasmettitore Ricevitore RS linea di segnale Ingresso R IN VN V Vo Uscita VR VGS ritorno comune di terra figura 7.24 La trasmissione su linea sbilanciata utilizza una linea di segnale e una linea comune di terra per il ritorno del segnale stesso (figura 7.24). Il suo piu' evidente vantaggio risiede nella semplicita' in quanto e' necessario un unico filo per circuito. Gli svantaggi sono determinati dalla sensibilita' al rumore VN e agli spostamenti del potenziale di terra VGS. I rumori indotti sono causati da accoppiamenti magnetici o capacitivi con linee di segnale adiacenti o con altri generatori di rumore. Gli spostamenti del potenziale di massa sono dovuti alle cadute nel circuito di massa per effetto della circolazione di corrente, essendo tale circuito dotato di resistenza e induttanza finite anziche' nulle. I due disturbi VN e VGS si sommano al segnale prodotto dal trasmettitore e il ricevitore non e' in alcun modo in grado di discriminare tra segnale e disturbo. L'immunita' al rumore di un circuito sbilanciato puo' tuttavia essere aumentata adottando le seguenti precauzioni: 1) Aumentare la tensione di uscita del trasmettitore. Tale accorgimento ha tuttavia lo svantaggio di far salire la dissipazione di potenza. 2) Usare cavi schermati e ridurre la resistenza del circuito di massa. Tale precauzione tuttavia, pur riducendo il livello del disturbo, fa lievitare i costi. 3) Aggiungere un'isteresi al lato ricevitore. Si ottiene in tal modo un aumento del margine di rumore in continua, ma si introduce nel contempo una distorsione temporale sul segnale. ricevitore differenziale trasmettitore differenziale ingresso VN VN VGS figura 7.25 301 Vdiff uscita Capitolo VII I sistemi di interconnessione Un circuito differenziale bilanciato, illustrato in figura 7.25, usa per ogni circuito una coppia di fili intrecciati, un ricevitore e un trasmettitore differenziali. La linea bifilare ritorta e' in grado di eliminare le correnti indotte per accoppiamento magnetico. I disturbi che invece si generano per accoppiamento capacitivo hanno lo stesso effetto per ambedue i conduttori e costituiscono quindi per il ricevitore un segnale di modo comune. Anche lo spostamento del potenziale di terra puo' essere considerato un segnale di modo comune. Se il ricevitore, come normalmente avviene, ha un'elevata reiezione di modo comune, esso e' in grado di separare il segnale dal disturbo, permettendo una corretta trasmissione delle informazioni anche in ambienti che non consentono l'utilizzo di linee sbilanciate. Vi sono poi due modalita' operative per i circuiti di trasmissione dati, simplex e multiplex. Il circuito di tipo simplex permette il flusso dei dati in una sola direzione. Un circuito di tipo multiplex permette un flusso non contemporaneo di dati nelle due direzioni (half-duplex), contemporaneo (full-duplex) o multidirezionale (bus o party line). In generale un circuito multiplex ha due o piu' coppie di trasmettitori e ricevitori sulla stessa linea, con il vincolo che solo un trasmettitore puo' essere attivo a un determinato istante. Alcune soluzioni possibili per la trasmissione multiplex sono riportate in figura 7.26. I sistemi simplex sono piu' semplici da realizzare e minimizzano i problemi di temporizzazione, mentre quelli multiplex sfruttano meglio il mezzo trasmissivo, ma sono piu' difficili da progettare. uscita d trasmettitore Ro R0 2 R0 2 trasmettitore uscita c R0 2 ricevitore R0 2 half duplex ricevitore uscita a uscita b bus di distribuzione uscita a c b d R0 2 R0 2 ingresso a b c d abilitazione bus dati figura 7.26 7.5) Effetto delle linee nelle comunicazioni a lunga distanza. Le linee che sono state prese in esame sino a questo momento sono sempre state considerate ideali. Si e' supposto cioe' che esse fossero prive di perdite (componente resistiva nulla) e addirittura 302 Capitolo VII I sistemi di interconnessione che i fronti del segnale in corrispondenza all'estremita' ricevente della linea non fossero alterati rispetto a quelli all'ingresso della linea stessa. Nella realta' le linee di trasmissione, anche quando vengono perfettamente adattate, si comportano nei confronti del segnale come un filtro passa basso con perdite. Un fronte ripido del segnale applicato all'ingresso della linea si arrotonda e assume un andamento esponenziale via via che si propaga; in aggiunta le perdite danno luogo a una riduzione dell'ampiezza del segnale. Questi due effetti pongono un limite alla velocita' con cui i dati possono essere trasmessi, in funzione del tipo e della lunghezza della linea. Tuttavia l'effetto maggiormente limitante e' la deformazione del segnale; se infatti un nuovo dato viene inviato in linea prima che il transitorio relativo al bit immediatamente precedente sia esaurito, possono verificarsi spiacevoli inconvenienti, quali uscite dipendenti dal pattern ricevuto, "jitter" o addirittura perdita di qualche impulso. Questo fenomeno viene chiamato interferenza intersimbolo ed e' dovuto al fatto che, quando il ricevitore e' un dispositivo a soglia, come normalmente avviene, il precedente bit di dati causa uno spostamento temporale del bit di dati attuale. L'interferenza intersimbolo si genera ogni volta che la durata di un bit e' inferiore al tempo di salita o discesa all'estremita' ricevente. La figura 7.27 illustra tale effetto. ingresso del trasmettitore tensione alla fine della linea soglia uscita del ricevitore figura 7.27 Un segnale di clock non soffre di interferenza intersimbolo essendo un pattern altamente simmetrico e quindi predicibile. Un pattern di dati casuale invece ne puo' soffrire e si definisce durata minima di bit quella di un singolo bit e' preceduto e seguito da una lunga stringa di bit di polarita' opposta. Per misurare l'ammontare dell'interferenza intersimbolo e l'entita' del "jitter" che in tal caso viene generato si devono usare delle lunghe sequenze casuali o pseudocasuali. Un circuito utile a visualizzare l'interferenza intersimbolo e' riportato in figura 7.28. Poiche' l'oscilloscopio con cui viene osservata la forma d'onda all'estremita' della linea viene triggerato ogni volta che un nuovo dato viene generato dal circuito pseudocasuale, sullo schermo si vedra' la sovrapposizione di lunghe sequenze di uni e zeri e cioe' la transizione uno/zero o zero/uno seguite da diversi pattern di dati. Il circuito illustrato e' in grado di generare sequenze pseudocasuali con ripetizione pari a 220-1; una sequenza di tale tipo e' sufficientemente lunga per permettere la visualizzazione dell'interferenza intersimbolo causata dai pattern precedenti fino a una profondita' di 20 bit. 303 Capitolo VII I sistemi di interconnessione PE J CP P0 P1 P2 P3 4 bit shift register Q3 9300 K MR Q 0 Q 1 Q 2 Q 3 1/2 9614 line driver D5 clock CP all'oscilloscopio D0 D1 1/2 9328 Q7 8 bit shift register 250 MR linea sotto test Vcc D5 CP 22 k D0 D1 Q 1/2 9328 7 8 bit shift register MR inizializzazione figura 7.28 In figura 7.29 e' mostrato come la sovrapposizione delle forma d'onda misurate all'estremita' ricevente della linea origini una visualizzazione stabile sullo schermo. "1" isolato "0" » "1" » "0" "0" isolato "1" » "0" » "1" "0" » "1" sovrapposizione di segnali 1 bit 1 bit "1" » "0" figura 7.29 La figura prodotta prende il nome di "pattern binario a occhio" per la sua somiglianza con la sagoma stilizzata di un occhio. 304 Capitolo VII I sistemi di interconnessione Tale pattern e' un mezzo molto semplice per misurare la qualita' dei segnali. La dispersione del pattern in corrispondenza al livello di soglia del ricevitore permette di misurare il "time jitter" percentuale dovuto all'interferenza intersimbolo. Con riferimento alla figura 7.30 il jitter sara' dato percentualmente da: Jitter percentuale = ∆t TUI dove con TUI si e' indicato l'intervallo unitario di bit. Se poi il livello di soglia e' spostato rispetto al suo valore ottimo, situato a meta' dell'escursione di tensione prodotta dal trasmettitore, allora il dato sara' affetto oltre che dalla distorsione intersimbolo, anche da un'ulteriore distorsione di tempo. Tui Livello di soglia ∆t figura 7.30 Lo spostamento del livello di soglia verso il livello 1 fara' si' che gli uni ricevuti saranno relativamente piu' brevi degli zeri. Analogamente uno spostamento verso lo zero accorcera' gli zeri ricevuti. Tale effetto e' chiamato distorsione di polarizzazione. L'apertura del pattern binario a occhio fornisce direttamente il margine di rumore del sistema. Quando l'occhio e' completamente chiuso allora per quella lunghezza di linea e alla velocita' di trasmissione di prova non risulta possibile una trasmissione priva di errori senza ricorrere a tecniche di equalizzazione. Usando il pattern ad occhio per indicare la qualita' del segnale, si puo' costruire, per ciascuna particolare linea, un grafico da cui si puo' ricavare il jitter percentuale in funzione della lunghezza della linea e della velocita' di trasmissione, una volta che sia stata assegnata la codifica impulsiva utilizzata (NRZ, RZ polare, modulazione digitale binaria di fase, ecc.). In figura 7.31 e' riportato un esempio per la codifica NRZ, rappresentativo delle prestazioni ottenibili con la coppia ritorta. Il grafico mostra il "caso peggiore" cioe' il massimo jitter che ci si puo' aspettare con una data lunghezza di linea e un'assegnata velocita' di trasmissione, ma si puo' ritenere valido solo quando siano soddisfatte le seguenti condizioni: 1) I livelli dell'uno e dello zero del trasmettitore sono stabili. 2) La soglia del ricevitore e' equidistante da tali livelli. 3) La linea e' terminata perfettamente in modo da evitare riflessioni. 305 Capitolo VII I sistemi di interconnessione Se una qualsiasi delle precedenti condizioni non e' soddisfatta la qualita' del segnale e' minore di quella che si ricava dal grafico. Di conseguenza il periodo di bit deve essere almeno quattro volte maggiore del tempo di salita e di discesa alla terminazione di linea per tener conto delle tolleranze dei circuiti integrati con cui trasmettitore e ricevitore sono realizzati. Se la linea viene pilotata in tensione e non e' correttamente terminata, le curve di qualita' del segnale vanno spostate verso sinistra (cioe' verso lunghezze minori a parita' di velocita' di trasmissione). Verifiche sperimentali hanno permesso di determinare che il coefficiente di riduzione e' circa 1/3. In altre parole una linea non terminata di 100 metri si comporta nei confronti dell'interferenza intersimbolo come una linea di 300 metri chiusa sulla sua impedenza caratteristica. 10000 100 % occhio binario chiuso - dati probabilmente non ricostruibili 50 % 30 % 1000 jitter percentuale 20 % La resistenza del cavo causa una perdita nel segnale di circa 6 dB V 10 % 5% lunghezza della linea (piedi) REGIONE OPERATIVA RACCOMANDATA 100 t ~t = 2 t d ui r t d ritardo della linea a 1.7 nsec/piede pari approssimativamente a 2 volte il tempo di salita del segnale 10 10 k 100 k tui=4 t r minima durata dell'impulso pari a 4 volte il tempo di salita del segnale 1M 10 M 100 M velocita' dei dat i NRZ (bit per secondo) figura 7.31 Quando, stabilite una certa velocita' di trasmissione e una certa lunghezza della linea, si va a cadere tra la linea TUI = 4.Tr e la linea del jitter percentuale del 100 % si rende necessaria una misura diretta sul sistema con il metodo del pattern binario ad occhio. Tale procedura e' raccomandabile anche quando la codifica di trasmissione e' diversa dalla NRZ. 7.6) Scelta dei trasmettitori e dei ricevitori di linea. Il problema della scelta di un particolare trasmettitore o ricevitore di linea viene a dipendere piu' dalle caratteristiche desiderate per il sistema che dalle caratteristiche elettriche dei dispositivi. Le prestazioni complessive del sistema dipendono infatti essenzialmente dalla forma e dalle modalita' operative scelte per la trasmissione e solo in seconda istanza dal tipo di trasmettitore e ricevitore. E' necessario che il progettista tenga nella giusta considerazione le relazioni esistenti tra rumore esterno e margine di rumore, qualita' del segnale e lunghezza della linea, struttura seriale o parallela e costo e prestazioni. Nei paragrafi precedenti si e' accennato ai principali problemi che si 306 Capitolo VII I sistemi di interconnessione devono affrontare nel progetto di un circuito di comunicazione. Vi sono tuttavia alcune considerazioni aggiuntive da fare. 1) Quando si lavora con linee lunghe (maggiori di 15 metri) il fattore che maggiormente limita la velocita' di trasmissione e' il tempo di salita e di discesa del segnale sulla linea. L'uso del pattern binario ad occhio permette di valutare agevolmente la qualita' del segnale. 2) Le linee bilanciate sono preferibili rispetto quelle sbilanciate. Optoisolatori e trasformatori permettono di operare con tecniche di modo comune e nel contempo offrono un ottimo isolamento da terra. E' abbastanza comune in tal caso usare codifiche prive di componente continua e autosincronizzate quali la RZ polare o la modulazione digitale binaria di fase. 3) E' necessario limitare il numero totale di porte di un sistema multiplex in modo tale che la combinazione in parallelo delle impedenze di ingresso dei ricevitori e di quelle di uscita dei trasmettitori disabilitati risulti comunque molto maggiore dell'impedenza caratteristica della linea. 4) Per il corretto funzionamento dei trasmettitori e dei ricevitori si rende necessario un ritorno comune di terra. Esso puo' venir realizzato collegando lo schermo della linea ai piedini di terra degli integrati ad essa collegati. 5) Per velocita' di trasmissione superiori a 10 Mbit/sec. e' necessario utilizzare elementi ECL anziche' TTL. I trasmettitori e i ricevitori TTL compatibili hanno infatti ritardi di propagazione eccessivi, compresi tra 20 e 50 nsec. 6) Le alimentazioni dei ricevitori e dei trasmettitori di linea vanno disaccoppiate con condensatori di valore compreso tra 10 e 100 nanofarad. E' di solito sufficiente un condensatore ogni 2/4 dispositivi. 7.7) I protocolli. A livello immediatamente superiore a quello elettrico (che assicura la trasmissione della singola unita’ di informazione [bit]) si trova il livello che riguarda i protocolli, sia par quanto riguarda il protocollo di ciclo, con la definizione di protocollo sincrono, asincrono e cadenzato, sia per quanto riguarda il protocollo di transazione. In questo livello il servizio offerto e’ il trasferimento di informazione. Si ricordi tuttavia che, a parte il tempo di trasmissione necessario al trasferimento del segnale lungo una linea, il cambiamento di stato logico viene comunque rilevato con un’indeterminazione (skew) tx, come illustrato in figura 7.32. A AR T receiver driver AT AR tr tx figura 7.32 307 Capitolo VII I sistemi di interconnessione Si noti che, a differenza di quanto avviene a livello elettrico, ora l’attenzione e’ puntata su quanto avviene all’ingresso del driver e all’uscita del ricevitore. Si trascurano quindi completamente tutte le considerazioni relative alle riflessioni e all’adattamento delle linee. Tutte le informazioni relative a quanto accade sulla linea sono ora racchiuse nel concetto di skew e nel tempo di trasmissione. 7.7.1) Il protocollo di ciclo. Si prenda in considerazione un sistema formao da due linee in parallelo, sulle quali siano presenti due segnali A e B (figura 7.33). A T tsu (T) lato driver B T figura 7.33 Sia tsu(T) l’intervallo di tempo (tempo di setup) che intercorre all’estremita’ trasmittente tra la variazione di A e quella di B . Al lato ricevente, dopo che i due segnali si sono propagati sulle linee, la distanza tra i fronti risulta alterata per effetto dello skew. Si consideri infatti la situazione complessiva di figura 7.34. AT tsu (T) lato driver B T AR t su(R) lato receiver B R t=0 t A tB figura 7.34 Con riferimento all’istante t = 0, evidenziato in figura 7.34, l’istante tB e’ facilmente determinabile come somma di tsu(T) e del tempo di trasmissione minimo tT(min) del segnale B. t B = t SU (T) + t T (min) 308 Capitolo VII I sistemi di interconnessione L’istante tA viceversa e’ dato da: t A = t T (max) dove con tT(max) si e’ indicato il tempo di trasmissione massimo. Di conseguenza t SU (R ) = t SU (T) + t T (min) − t T (max) = t SU (T) − t x In sostanza il tempo di setup al lato trasmettitore puo’ venir diminuito al lato ricevitore di una quantita’ pari allo skew. Questo risultato assume importanza quando si abbia a che fare con segnali che devono rispettare precisi vicoli di temporizzazione. La situazione diviene particolarmente evidente quando l’elemento ricevente sia un registro o un flip-flop, per i quali e’ necessario rispettare ben precisi vincoli sul tempo di setup e dei hold. In sostanza, per questi elementi e’ necessario che i segnali permangano costanti per un tempo minimo prima e dopo il fronte attivo di clock. Il protocollo a livello di ciclo deve garantire che vengano rispettati i vincoli di temporizzazione nonostante la presenza dello skew. Si consideri allora un’operazione di trasferimento da una sorgente (buffer) ad una destinazione (registro). Le tecniche base usate dai protocolli a livello di ciclo, che garantiscono il soddisfacimento dei vincoli di temporizzazione, cono sostanzialmente di due tipi: • Cadenzare la sequenza operativa alla sorgente in modo da garantire che in ricezione le temporizzazioni siano comunque rispettate; • Stabilire un colloquio tra sorgente e destinazione in modo che la sorgente passi all’operazione successiva solamente quando la destinazione lo consente. Nel primo caso la sequenza delle operazioni avviene a tempi fissi, scelti opportunamente, mentre nel secondo i tempi possono essere variabili, ma sotto certi aspetti si opera con maggiori garanzie di sicurezza. La struttura base cui fare riferimento e’ riportata in figura 7.35. sorgente bus dati destinazione D controlli figura 7.35 309 Q Capitolo VII I sistemi di interconnessione Nella sua piu’ semplice espressione il sistema e’ composto da un’unica linea dati e il controllo e’ un segnale di clock (strobe) che abilita la memorizzazione del dato in un flip-flop di tipo D. Nel protocollo a tempi fissi (sincrono) la sorgente invia l’informazione, attende un tempo fisso per garantire il tempo di setup tSU, invia il segnale di strobe e attende un ulteriore tempo fisso per garantire il tempo di hold e quindi rimuove dalle linee sia il dato che il segnale di strobe. Riassuntivamente le operazioni sono cadenzate nel modo che segue: SORGENTE DESTINAZIONE invio dato tA invio strobe skew arrivo del dato skew arrivo dello strobe tB> tsu tempo Poiche’ il tempo tB dev’essere maggiore o uguale al tempo di setup del flip flop il tempo tA va determinato sulla base di quest’ultimo e dell’indeterminazione dovuta allo skew al lato destinazione. Si ottiene che: t A ≥ t SU + t x (max) − t x (min) Quando anziche’ con un unico flip flop si avesse a che fare con un insieme di elementi riceventi e’ necessario far riferimento ai vincoli imposti dall’elemento piu’ lento. Analoghe considerazioni vanno condotte in relazione al tempo di hold dell’elemento ricevente pere valutare l’intervallo di tempo che deve intercorrere tra l’istante in cui viene inviato lo strobe e quello in cui strobe e dati possono essere rimossi dalle linee. Nel protocollo asincrono invece, come si e’ gia’ accennato, si stabilisce un colloqui tra elemento trasmittente e ricevente in modo che la sequenza operativa prosegua solo quando le condizioni lo consentano. In tal caso la sequenza operativa e’ la seguente: • • • • Invio del dato Invio dello strobe senza l’inserimento di alcun ritardo rispetto al tempo di presentazione del dato Attesa della conferma di dato ricevuto (segnale ACK) da parte dell’elemento destinazione Rimozione dalle linee di informazioni e strobe. Lo strobe in questo caso puo’ venir inviato contemporaneamente ai dati poiche’ sara’ l’elemento ricevente che inserira’ i ritardi necessari ad assicurare i tempi di setup. Operando in tal modo non si’ quindi obbligati a dimensionare il sistema facendo riferimento all’elemento piu’ lento del sistema, ma ciascun elemento ricevente utilizzera’ un suo adeguato tempo di ritardo. Anche il 310 Capitolo VII I sistemi di interconnessione tempo di hold viene soddisfatto a livello ricevitore ed al termine delle operazioni viene restituito al trasmettitore il segnale ACK. Nel protocollo asincrono non e’ quindi necessario conoscere i ritardi di cui hanno bisogno gli elementi riceventi per progettare il sistema. La sequenza operativa si adatta di volta in volta ai moduli che interagiscono tra di loro. Il diagramma di temporizzazione del protocollo asincrono e’ riportato in figura 7.36. dati strobe ACK figura 7.36 Questo tipo di protocollo prende anche il nome di protocollo con “handshake” o “fullhanshake”. Poiche’ il fine ultimo e’ di solito non quello di trasferire un unico dato, ma un intero pacchetto di dati, e’ necessario combinare l’uno o l’altro dei due cicli descritti in un’opportuna sequenza. Le cose sostanzialmente non cambiano; l’unica preoccupazione che in tal caso si deve avere e’ quella di riportare i segnali di comando (ad esempio in segnale ACK nel protocollo asincrono) nel loro stato non attivo, cioe’ in quello presente all’inizio del ciclo. Esistono anche altri tipi di ciclo oltre a quelli descritti. Vi e’, ad esempio, il ciclo semisincrono, che procede come il sincrono salvo che non ci sia una richiesta di attesa da parte di qualche elemento del sistema, tramite un opportuno segnale (WAIT). Un tipico diagramma di temporizzazione e’ riportato in figura 7.37. dati strobe WAIT figura 7.37 Quando il segnale di WAIT passa allo stato attivo la sequenza viene interrotta, i dati e lo strobe rimangono costanti al loro valore e vengono eliminati dalle rispettive linee solo quando il segnale di WAIT ritorna al suo stato di riposo. Anche in questo caso la velocita’ viene adattata a quella degli elementi riceventi. Una tecnica che puo’ venir applicata sia ai protocolli sincroni che a quelli asincroni o semisincroni e’ quella dei protocolli cadenzati. Nei protocolli cadenzati i cambiamenti di stato possono avvenire solo in istanti che siano multipli interi del periodo di un opportuno segnale di 311 Capitolo VII I sistemi di interconnessione clock. Questa modalita’ operativa permette di semplificare la realizzazione delle macchine a stati che realizzano la temporizzazione del protocollo. Si noti che nel campo dei protocolli i termini sincrono e asincrono hanno un significato diverso da quello utilizzato per una macchina a stati finiti. Un protocollo sincrono e’ quello che opera a tempi fissi, mentre uno asincrono e’ quello in cui l’avanzamento e’ determinato dal passaggio di un segnale ACK allo stato attivo. Gli istanti di commutazione possono poi essere qualsivoglia o essere fissati da un opportuno segnale di clock e in questo caso si parla di protocollo cadenzato. Nella tecnologia attuale dei protocolli cadenzati la frequenza di clock e’ relativamente bassa in quanto il clock stesso deve venir distribuito a tutti gli elementi che costituiscono il sistema, con tutti i problemi che sorgono quando le linee di distribuzione sono relativamente lunghe. Tutti i cicli fino ad ora descritti erano cicli di scrittura, in cui il comando di scrittura (strobe) viene emesso dallo stesso elemento del sistema che invia i dati. Esistono tuttavia anche i cicli di lettura. In tal caso, considerando due moduli A e B a colloquio, come in figura 7.38, la sequenza operativa sara’ la seguente: richiesta (REQ) A dati B figura 7.38 Il modulo A richiede all’elemento B un dato e quest’ultimo risponde inviando sulle linee di comunicazione l’informazione richiesta. Ovviamente in questo caso dati e comandi viaggiano in direzioni opposte. Sostanzialmente non cambia nulla rispetto ad un ciclo di scrittura, salvo che il ciclo inizia con un segnale di richiesta (REQ) anziche’ con lo strobe. Le tecniche di sincronizzazione rimangono le stesse. 7.7.2) Il protocollo a livello transazione. Dal protocollo a livello di ciclo si puo’ ora passare al protocollo a livello transazione. E’ tuttavia opportuno introdurre a questo punto due nuove definizioni. In un sistema verra’ chiamato master l’elemento che da’ inizio ad un’operazione di trasferimento, mentre verra’ detto slave quello che partecipa al trasferimento stesso su richiesta del master. Non e’ affatto detto che il master debba coincidere con la sorgente dell’informazione. I servizi disponibili a livello ciclo sono: • Trasferimento di unita’ di informazione (byte, parole, etc.) con la certezza che siano correttamente ricevute. • I cicli che possono essere di lettura o di scrittura. Riassumendo pertanto quanto esposto fino a questo punto si puo’ affermare che: • A livello elettrico grandezze elettriche (tensioni e correnti) vengono utilizzate per rappresentare stati logici e il servizio offerto e’ il trasferimento di bit. • A livello ciclo le variabili logiche sono combinate in pacchetti di informazione, senza tuttavia preoccuparsi di quale sia il loro significato. I relativi protocolli si preoccupano unicamente di garantire le corrette temporizzazioni per fare in modo che ciascuna unita’ di informazione sia correttamente ricevuta. 312 Capitolo VII I sistemi di interconnessione A livello transazione ai pacchetti di informazione viene associato un significato, distinguendo pertanto tra dati veri e propri, indirizzi, vettori di arbitrazione, etc., in modo da offrire al successivo livello (livello applicazione) la possibilita’ di eseguire un’elaborazione dei dati. Per transazione si intende la sequenza di uno o piu’ cicli di trasferimento organizzati in modo da trasferire unita’ di informazione cui viene associato un significato. Si consideri allora la piu’ semplice situazione possibile (figura 7.39) in cui gli elementi che si scambiano informazione sono solamente due e sono chiaramente definiti. A Master Bus B Slave figura 7.39 A ben guardare la struttura illustrata e’ quella di un collegamento punto a punto e non sarebbe necessario definire a livello transazione un protocollo adatto ad un bus di trasferimento, ma sarebbe sufficiente considerare un protocollo a livello ciclo. Nel trasferimento punto a punto (ad esempio tra un computer e una stampante secondo il protocollo CENTRONICS) il colloquio avviene secondo un protocollo asincrono che utilizza un doppio handshake attraverso i due segnali di ACK e BUSY (occupato) di figura 7.40. ciclo DATI STROBE ACK BUSY Figura 7.40 La sopralineatura che compare nei segnali di STROBE e ACK sta ad indicare che tali segnali sono attivi allo stato basso. Il segnale di STROBE viene applicato con un lieve ritardo rispetto all’istante in cui i dati vengono collocati sul bus. Dopo un ritardo, che dipende dalle caratteristiche dell’elemento ricevente, compare il segnale ACK, che conferma che il dato e’ stato ricevuto. Rispetto ai casi presi in considerazione in precedenza vi e’ tuttavia anche il segnale di BUSY. Questo segnale diviene attivo non appena l’elemento ricevente (la stampante) inizia ad elaborare il dato, avendo identificato 313 Capitolo VII I sistemi di interconnessione il segnale di STROBE, mentre ritorna alla condizione di riposo quando viene emesso il segnale ACK. A questo punto il ciclo e’ concluso e puo’ iniziare il ciclo successivo. In sostanza il protocollo coincide con quello a livello di ciclo in modalita’ asincrona. Quando invece il collegamento e’ multipunto e utilizza veramente una struttura a bus il protocollo a livello transazione puo’ diventare piu’ complesso e si avvale di cicli specializzati. E’ evidente che la prima operazione da compiere e’ individuare i moduli che si scambiano informazioni. In particolare e’ necessario indirizzare lo slave e allocare il canale di comunicazione all’elemento master, che in un certo qual modo ne prende possesso. Solo dopo che queste operazioni siano state effettuate puo’ aver inizio il vero e proprio trasferimento di dati. E’ ovvio che l’indirizzamento dello slave e’ necessario solo in quei sistemi in cui ci siano piu’ slave. Quando poi sono presenti piu’ master con un’operazione di allocazione si deve anche scegliere quale sia quello che presiedera’ alle operazioni di trasferimento. Si ricordi che in un sistema a bus vi e’ un unico supporto fisico che regge tutte le comunicazioni del sistema, che ciascun modulo connesso al bus ha un’unica porta di comunicazione, che sul bus si puo’ effettuare un unico trasferimento di informazioni per volta e che le condizioni elettriche con cui si opera sono variabili, in quanto sono influenzate dal numero di oggetti collegati al bus. In un collegamento punto a punto invece vi sono piu’ porte per modulo, ma le condizioni elettriche sono ben definite. I collegamenti punto a punto, pur essendo maggiormente costosi per la presenza di piu’ interfacce, permettono di ottenere maggiori velocita’ o di effettuare collegamenti piu’ lunghi in quanto, sulla base della migliore conoscenza dei parametri caratteristici, e’ possibile ottimizzare il sistema. I sistemi a bus tuttavia presentano il vantaggio che la configurazione puo’ essere variata aggiungendo o rimuovendo schede. Si e’ cioe’ in presenza di un sistema modulare aperto. In particolare la dizione “aperto” sta ad indicare che le specifiche di interconnessione al bus sono note e permettono a chiunque rispetti tali specifiche di progettare moduli. Parametri caratteristici di tali specifiche sono, ad esempio, il massimo numero di schede collegabili, la velocita’ operativa delle transazioni, il grado di parallelismo, il tipo di connettore e la posizione dei vari segnali su di esso, il formato dei dati, i livelli di tensione e quant’altro. Come gia’ accennato una transazione puo’ essere vista come una sequenza di cicli elementari. Nel caso piu’ generale possibile, in cui ci siano piu’ master e piu’ slave (figura 7.41), dovranno essere presenti almeno tre cicli elementari: • Allocazione del bus al master. • Indirizzamento dello slave • Trasferimento vero e proprio dei dati MASTER A B C D E SLAVE 1 2 3 4 5 BUS figura 7.41 314 Capitolo VII I sistemi di interconnessione La prima operazione da compiere e’ evidentemente la selezione del master (arbitrazione del bus) con la quale il master prescelto assume la funzione di controllore del sistema. Con l’indirizzamento si seleziona poi uno slave e di conseguenza il sistema a bus diviene in pratica un collegamento punto a punto in quanto gli altri moduli, pur essendo ancora fisicamente presenti, non parteciperanno alle operazioni di trasferimento, che avverranno con le stesse modalita’ gia’ viste per i sistemi punto a punto. E’ bene tuttavia far notare che esistono due tipologie di bus; quelli totalmente paralleli e quelli multiplati. In un bus totalmente parallelo ogni segnale utilizza una connessione separata e un suo driver di linea, occupa una ben precisa posizione sul connettore, una pista sullo stampato, un suo ricevitore e una sua terminazione. Si noti che con il parallelismo attuale i dati, tranne casi particolari, possono avere fin a 64 bit, gli indirizzi 16/32 bit e quindi il numero totale di linee di un bus completamente parallelo puo’ superare abbondantemente il centinaio. Per limitare il numero di linee, in particolare al fine di ridurre la dissipazione totale di potenza, di cui la parte preponderante e’ data dalle terminazioni, e per ridurre le dimensioni fisiche del bus si puo’ ricorrere alla tecnica della multiplazione. In questo caso lo stesso canale fisico e’ utilizzato in tempi diversi per trasmettere informazioni diverse. In sostanza in un bus totalmente parallelo dati e indirizzi utilizzano gruppi di connessioni diversi e possono coesistere nello stesso istante. In un bus multiplato dati e indirizzi (ed eventualmente altri segnali) utilizzano le stesse connessioni in istanti di tempo diversi. Un possibile diagramma di temporizzazione per un bus parallelo e’ riportato in figura 7.42. transazione indirizzi ciclo ciclo dati figura 7.42 Indirizzi e dati viaggiano su gruppi di linee separate e l’operazione illustrata e una tipica operazione di lettura. Vi e’ un certo tempo tra la presentazione dell’indirizzo e l’istante in cui i dati sono disponibili. Se l’operazione fosse invece stata una operazione di scrittura allora dati e indirizzi sarebbero comparsi sul bus in pratica contemporaneamente. In un bus multiplexato il diagramma di temporizzazione sarebbe stato, sempre per un’operazione di lettura, quello di figura 7.43. ciclo informazioni ciclo indirizzo 1 dato 1 indirizzo 2 dato 2 transazione figura 7.43 Sulle stesse linee a tempi diversi compaiono indirizzi e dati. A differenza di cio’ che puo’ sembrare a prima vista il ricorso ad un bus multiplexato non riduce la velocita’ operativa. Infatti le due operazioni di indirizzamento e lettura o scrittura vanno comunque condotte sequenzialmente e pertanto un bus multiplexato non e’ piu’ lento di uno totalmente parallelo di pari tecnologia. In 315 Capitolo VII I sistemi di interconnessione compenso un bus multiplexato presenta il vantaggio di una dissipazione di potenza notevolmente inferiore e di conseguenza la maggior parte delle strutture moderne di comunicazione si e’ orientata in questa direzione. Per poter accelerare i trasferimenti si possono usare nei protocolli a livello transazione opportune tecniche, combinando e intercalando i cicli in maniera opportuna. La valutazione delle prestazioni di un bus avviene infatti attraverso la quantita’ di informazione scambiata in un tempo definito e viene indicata con il termine troughput. Essa dipende sia dalla velocita’ con cui la transazione ha luogo che dal grado di parallelismo del bus. Definito quindi il grado di parallelismo, determinato sia da esigenze tecniche (ingombro, dissipazione, etc.) che da considerazioni di costo, l’unico modo di aumentare le prestazioni e’ agire sulla velocita’ della transazione. La velocita’ di trasferimento di ciascuno dei cicli che formano la transazione viene a dipendere dal protocollo di interconnessione i cui parametri caratteristici sono il tempo di trasmissione tT e lo skew tX e dal numero di transizioni presenti nel protocollo, che, nel caso peggiore, portano alla somma degli skew delle singole transizioni. Da questo punto di vista quindi un protocollo che preveda un maggior numero di transizioni e’ intrinsecamente piu’ lento. Esistono poi i parametri dei moduli connessi al canale, che possono aver influenza sulla durata del ciclo. In particolare contano i tempi di set-up, di hold, di lettura o di scrittura di un dato e cosi’ via. Per aumentare il troughput mantenendo invariate le altre caratteristiche del sistema si possono usare diverse tecniche, quali: • Cicli con handshake a due fronti • Trasferimento a pacchetti (trasferimento a burst) • Cicli sincroni a burst entro transazioni asincrone. Un handshake normale ha un diagramma di temporizzazione quale quello illustrato in figura 7.44. informazione strobe tc ACK figura 7.44 Nel ciclo vi sono quattro cambiamenti di stato logico. Dopo la presentazione dei dati viene attivato il segnale di strobe; con un ritardo tc, che dipende dal tipo di modulo ricevente, viene restituito il segnale ACK che informa il sistema dell’avvenuta ricezione del dato. Solo a questo punto il segnale di strobe puo’ venir riportato al suo stato di riposo e in immediata sequenza essere azzerato il segnale ACK. L’handshake a due fronti presenta invece il diagramma di temporizzazione di figura 7.45 in cui le due ultime transizioni sono sparite. In questo caso l’informazione di strobe e di ACK sono legate non ai livelli dei rispettivi segnali, ma alla loro transizione, indipendentemente dal fatto che questa sia basso-alto o alto-basso. E’ evidente il vantaggio che se ne consegue, con l’eliminazione di due delle quattro transizioni dell’handshake normale che permette un piu’ rapido avvio di un successivo ciclo. Una modalita’ del tipo descritto puo’ venir definita solamente nell’ambito di un protocollo a livello transazione, in quanto riguarda due cicli in successione. E’ altrettanto ovvio che 316 Capitolo VII I sistemi di interconnessione e’ conveniente che la transazione contenga un numero pari di cicli in modo che alla fine i vari segnali siano riportati nella loro condizione normale. informazione strobe tc tc ACK figura 7.45 Se cio’ non avvenisse si potrebbe comunque ovviare all’inconveniente inserendo alla fine della transazione un ciclo vuoto (dummy) che non da’ luogo ad alcun trasferimento di informazione. Una seconda variante di protocollo di transazione che permette di giungere comunque ad un aumento del troughput e’ quella che prevede il trasferimento a “burst”. In questo caso il trasferimento avviene trasmettendo un pacchetto di dati, per i quali tuttavia si assegna solamente l’indirizzo del primo. I dati successivi vengono memorizzati (o letti) negli indirizzi immediatamente seguenti. E’ questa una situazione tipica che si presenta quando il trasferimento avviene da o verso una memoria. Il relativo diagramma di temporizzazione e’ riportato in figura 7.46. ciclo 1 indirizzo ciclo 2 dato 1 ciclo 3 ciclo n dato 2 dato n-1 transazione figura 7.46 Per gestire una transazione di questo tipo la memoria deve tuttavia avere alcune particolari caratteristiche. Il puntatore alla locazione indirizzata deve poter essere incrementato automaticamente a partire dall’indirizzo trasferito all’inizio della transazione in corrispondenza a ciascun dato ricevuto. Il vantaggio del trasferimento a burst risiede nel fatto che, a parita’ di altri fattori, in un determinato intervallo di tempo il numero di dati trasferiti in pratica raddoppia. Un protocollo a livello di transazione tuttavia non presiede solamente alle operazioni descritte, ma detta anche le regole necessarie all’allocazione del bus, alla gestione delle interruzioni (quando siano presenti), provvede alla distribuzione delle alimentazioni e del clock, gestisce le inizializzazioni, considera funzioni speciali quali la gestione di eventuali memorie cache e a quella degli errori e cosi’ via. E’ bene precisare che esistono bus proprietari e bus standard. Nel primo caso le caratteristiche e i protocolli del bus sono stabilite da una particolare azienda, che ne cura la documentazione e la 317 Capitolo VII I sistemi di interconnessione manutenzione. Nel secondo caso le specifiche vengono definite e sono reperibili presso enti normativi internazionali (CEI, UNINFO, ANSI, etc.) o professionali (IEEE). 7.8) Caratteristiche principali di alcuni bus reali.. 7.8.1) I bus dei personal computer. I bus presenti nei personal computer hanno seguito, sia pure piu’ lentamente, la crescita tecnologica dei processori. A partire dal primo bus AT (ISA) da 8/16 bit presenti con i processori 8086, 8088 e 80286 si e’ passati poi al bus EISA a 32 bit per giungere al bus PCI con parallelismo 64. In aggiunta a fianco del bus principale di sistema sono stati aggiunti poi uno o piu’ bus locali specializzati. La struttura tipo dei bus in un personal computer e’ illustrata in figura 7.47. CPU e memoria cache bus di CPU RAM, Video, LAN, SCSI local bus Periferia I/O lenta bus di I/O figura 7.47 E’ possibile identificare un certo numero di livelli; in prossimita’ della CPU e’ presente un primo bus detto bus di sistema o bus di CPU cui e’ connessa la CPU stessa e il piu’ vicino possibile la memoria cache in modo da favorire trasferimenti veloci tra questi due elementi. Attraverso un’opportuna interfaccia si giunge poi ad un secondo livello di bus, presente in tutti i personal computer moderni, al quale sono connesse la memoria RAM, l’interfaccia video, le eventuali interfacce per reti locali, le interfacce (ad esempio SCSI) per le periferiche veloci. Questo bus, pur essendo piu’ lento di quello di CPU, e’ tuttavia ancora in grado di gestire dispositivi abbastanza veloci, com’e’ intuibile dal tipo di unita’ appena citate. Ancora attraverso un’interfaccia si giunge al cosiddetto bus di I/O, cui sono connesse le unita’ relativamente lente, quali possono essere ad esempio nastri magnetici, modem, interfacce A/D e D/A, etc, per le quali le esigenze di velocita’ sono poco stringenti. Tutti questi bus sono identificati da un certo numero di sigle, il cui significato e’ riportato nella seguente tabella. 318 Capitolo VII I sistemi di interconnessione ISA Industry standard architecture EISA Extended industry standard architecture MCA Microchannel architecture VESA Video electronic standard architecture VLB VESA local bus PCI Periferal component interconnect SCSI Small computer system interface ISA e EISA sono stati i primi bus utilizzati, sono tra loro compatibili e l’unica differenza tra di loro consiste nel fatto che il bus EISA raddoppi il parallelismo. Nelle macchine che utilizzano i processori ‘486 e’ notevolmente diffuso il bus VLB, progettato per far fronte alle esigenze delle interfacce video nelle applicazioni di tipo grafico, situazione nella quale le mole di informazioni da trasferire e’ notevole. Infine il bus PCI porta il parallelismo a 64 bit ed opera piu’ velocemente. Riassuntivamente le principali caratteristiche di questi bus sono: BUS Parallelismo Clock ISA 8/16 bit 8 MHz EISA 32 bit MCA 32 bit VLB 32 (64) bit 33 (50) MHz PCI 32 (64) bit Dotato di buffer E’ interessante notare che la presenza di un buffer nel bus PCI permette in media di accelerare la operazioni. La CPU in sostanza puo’ proseguire nelle sue elaborazioni anche se il bus non ha completato i suoi trasferimenti, a differenza di quanto accade con tutti gli altri tipi di bus. Tutti i bus citati utilizzano un connettore di tipo diretto. Le piastre di circuito stampato sono cioe’ dotate di un pettine di contatti, realizzato in modo opportuno per ridurre l’usura e le ossidazioni, che va a diretto contatto con i pin del connettore. 7.8.2) Il bus VME. Il bus VME e’ un bus di tipo industriale, utilizzato in applicazioni di controllo di processo, di impiantistica, adatto ad operare in ambienti ostili (ad esempio per quanto riguarda le escursioni di temperatura, le vibrazioni, i rumori, etc.). Il VME e’ nato come bus a 8 bit, ma si e’ via via evoluto passando a 16, 32 e infine a 64 bit. Le caratteristiche del protocollo VME base sono: • • • Protocollo asincrono (e quindi con handshake) Completamente parallelo (almeno nelle versioni a 8, 16 e 32 bit) Connettore di tipo indiretto e schede di dimensione standard (formato Europa). La dizione connettore indiretto sta ad indicare che il connettore e’ formato da due corpi, il primo dei quali appartenente al bus, mentre il secondo viene montato sulla scheda. 319 Capitolo VII I sistemi di interconnessione • Tecnologia TTL standard per il backplane. Dalla definizione originale, che prevedeva un solo connettore per la scheda e un parallelismo per dati e indirizzi a 16 bit, il bus VME si e’ evoluto prevedendo un doppio connettore con parallelismo a 32 bit e in tempi successivi lo stesso protocollo a livello transazione e’ stato modificato, in modo da aumentare il troughput. Si e’ passati infatti ad un protocollo multiplexato con parallelismo 64, sono state utilizzate tecniche di handshake a due fronti e trasferimenti a burst, ottenendo in tal modo un notevole aumento dalle prestazioni. I segnali principali e i relativi nomi del bus VME a 32 bit sono: • • • • • • • • Indirizzi Strobe dell’indirizzo Dati Ciclo di scrittura Strobe dei dati Operazione a 32 bit Conferma dei dati Errore nei dati A01 ÷ A31 AS D00 ÷ D31 WRITE DS0 − DS1 LWORD DTACK DERR Si noti la mancanza del bit di indirizzo A00 e la presenza di due segnali DS0 e DS1 di strobe per i dati. Questi due segnali sono rispettivamente lo strobe per il byte pari e dispari nei trasferimenti a 32 bit ed assorbono la funzione del bit meno significativo dell’indirizzo. Anche i segnali di acknowledge sono in numero di due. Il primo DTACK segnala il corretto trasferimento dei dati. In alternativa, quando un qualsiasi errore avviene nel ciclo di trasferimento, viene attivato il segnale DERR, errore di bus. Il segnale LWORD permette infine di distinguere tra operazioni eseguite su 16 bit e quelle su 32 bit. Esistono ovviamente anche altri segnali, quali ad esempio quelli che permettono l’arbitrazione del bus; tuttavia, poiche’ nel seguito l’attenzione verra’ concentrata sui trasferimenti di dati, sara’ in questa sede sufficiente citarne i piu’ importanti. • AM0 ÷ AM6 Estensione dell’indirizzo gestione dell' arbitrazione Allocazionedel bus Richiesta del bus e daisy chain Richiesta di interrupt Gestione degli interrupt Segnali di abilitazione a catena per gli interrupt 320 BBSY ; BCLR BR i ; BGI / BG 0 IRQ (8) IACKI ; IACK0 i = 1,4 Capitolo VII I sistemi di interconnessione • SYSRESET Inizializzazione del bus Per l’allocazione del bus le richieste indipendenti possono essere quattro, mentre per gli interrupt le richieste indipendenti possono essere fino ad otto e il soddisfacimento e’ realizzato con un arbitro a catena (daisy chain). Le operazioni principali sono quelle di lettura e di scrittura, realizzate secondo il diagramma di temporizzazione semplificato di figura 7.48. LETTURA A01 - A031 SCRITTURA indirizzo 1 indirizzo 2 AS WRITE dato 1 D00 - D31 dato 2 DS0 - DS1 DTACK (DERR) transazione transazione figura 7.48 Il ciclo e’ il normale ciclo asincrono con handshake. All’inizio del ciclo vengono presentati gli indirizzi e immediatamente dopo, quando essi si sono stabilizzati, viene emesso l’address strobe, attivo a livello basso. Nel ciclo di lettura il segnale WRITE viene mantenuto a livello alto, mentre in quello di scrittura viene portato a livello basso. Durante l’operazione di lettura poi viene portato a livello basso lo strobe dei dati (in effetti gli strobe sono due, DS0 e DS1, ma sul diagramma di temporizzazione se ne e’ visualizzato uno solo per ragioni di semplicita’). Lo slave in risposta presenta il dato e con un certo ritardo, necessario per garantire i tempi di guardia (setup e hold), porta allo stato attivo (basso) il segnale di acknowledge, o in alternativa, se vi e’ stato qualche errore, il segnale DERR. Si ha infine la consueta chiusura del ciclo, che riporta al livello non attivo tutti i segnali. In modo analogo procede il ciclo di scrittura, mettendo comunque in evidenza il classico ciclo di un protocollo asincrono. L’estensione al bus multiplexato a 64 bit prevede invece un protocollo notevolmente piu’ complesso. In questo caso il trasferimento viene effettuato a blocchi, con dati e indirizzi multiplexati. Si ricordi che in un trasferimento a blocchi viene fornito solo l’indirizzo iniziale del blocco di n dati che si vuole trasferire e che tale indirizzo viene poi incrementato automaticamente dato per dato. I dati a loro volta vengono presentati sulle relative linee di collegamento a tempi fissi (figura 7.46). Ovviamente durante un trasferimento a blocchi le linee di indirizzo rimangono inutilizzate e si puo’ allora pensare di sfruttare tali linee per trasferire altri dati, raddoppiando in pratica il parallelismo, in modo da portarlo al desiderato valore di 64. Analogamente nel primo ciclo le linee dati possono venir utilizzate per trasferire indirizzi in modo da arrivare a indirizzi a 64 bit. Un ulteriore provvedimento utile per aumentare il troughput e’ quello di operare utilizzando il trasferimento a blocchi con protocollo sincrono (SSBLT: Source Sincronous Block Transfer). In questo caso, oltre all’utilizzo multiplexato delle linee di indirizzo, durante il trasferimento dati il 321 Capitolo VII I sistemi di interconnessione segnale DS0 di strobe dei dati viene utilizzato sui due fronti senza che sia necessario riportarlo alla condizione non attiva dopo che ciascuna coppia di dati e’ stata trasmessa o ricevuta. L’handshake DTACK a sua volta non viene gestito ciclo per ciclo, ma viene utilizzato a livello di transazione. Esso viene portato a livello attivo in risposta alla fase di indirizzamento, che e’ quella iniziale di ciascuna transazione e in tale stato rimane fino al termine delle operazioni. L’handshake pertanto opera a livello transazione e non ciclo per ciclo, riducendo la necessita’ di comunicazione tra le due unita’ terminali. All’interno della transazione il protocollo e’ pertanto sincrono; tuttavia se si verifica un errore e’ necessario ritrasmettere l’intero blocco. Le specifiche elettriche pertanto sono piu’ stringenti per limitare le possibilita’ di errore. Le tensioni VIH e VIL anziche’ essere 2.0 V e 0,8 V, come nello standard TTL, sono rispettivamente 2,6 e 0,4 V. Si ottiene in tal modo un margine di rumore piu’ ampio, come d’altronde e’ auspicabile, dovendo il bus VME operare in ambienti che da questo punto di vista non sono particolarmente favorevoli. D’altro canto si ottiene anche una riduzione dello skew, cioe’ dell’indeterminazione dei ritardi di trasmissione. Tutti questi accorgimenti, cui si e’ accennato in maniera molto elementare, permettono di portare il troughput da 40 Mbyte/sec a 160 Mbyte/sec. Un’altra unita’ di misura atta a valutare le prestazioni di un bus e’ il Megatransfer/sec (MT/sec), cioe’ il numero di trasferimenti che il bus e’ in grado di eseguire in un secondo. Da questo punto di vista il bus VME a 32 bit e’ in grado di eseguire 10 MT/sec (si ricordi che 32 bit = 4 byte), mentre quello a 64 bit ha una capacita’ di 20 MT/sec, ma per ciascuna transazione trasferisce 8 byte. Il raddoppio a 20 MT/sec deriva dal fatto che si e’ eliminata la necessita’ di trasferire ad ogni ciclo un indirizzo, ma e’ sufficiente un solo indirizzo per ciascuna transazione. A conclusione di questa breve disamina delle principali caratteristiche del bus VME e’ conveniente prendere in considerazione alcuni esempi di interfacce; in sostanza prendere in esame i problemi che si incontrano quando al bus si vuole connettere qualche unita’. Un primo esempio, tra i piu’ semplici, puo’ essere quello di una scheda di memoria. Le caratteristiche desiderate siano: • • • • • • Memoria statica (RAM, ROM, EPROM) Parallelismo 16 bit Indirizzamento a 24 bit Posizionamento variabile nella scheda nello spazio di memoria Utilizzo di dispositivi pin to pin compatibili Ritardi di handshake programmabile in modo da consentire l’utilizzo di componenti con tempi di accesso diversi Sulla base di queste poche specifiche e’ possibile individuare per la scheda un certo numero di blocchi funzionali. Dovra’ certamente essere presente un decodificatore dell’indirizzo di scheda, cioe’ quella parte circuitale in grado di riconoscere che e’ proprio quella scheda che si vuole utilizzare. Vi dovra’ poi essere un selettore di banco, cioe’ quella parte circuitale che all’interno della scheda individua la posizione di memoria da utilizzare. Poiche’ il parallelismo dei dati e’ 16, mentre normalmente i chip di memoria sono organizzati a byte, si supporra’ che un banco della scheda sia formato da due chip di memoria. Sara’ altresi’ necessaria quella parte circuitale che gestisce i segnali di chip select (CS) e di write enable (WE) che permettono di abilitare il chip desiderato e compiervi l’operazione di lettura o scrittura. 322 Capitolo VII I sistemi di interconnessione Dovra’ essere presente il circuito di gestione dell’handshake e quello che fornisce i segnali di controllo dei buffer dati bidirezionali con cui la scheda si connette al bus. I banchi di memoria sono semplici da realizzare e non presentano alcuna complicazione in quanto utilizzano componenti con segnali di controllo ben definiti. L’unico problema da affrontare e’ quello di scegliere il componente che si rivela il piu’ opportuno in relazione alle prestazioni desiderate. Si supporra’ nel seguito che la dimensione minima di ciascun componente utilizzato sia 32 K. Lo schema a blocchi semplificato della scheda di memoria e’ riportato in figura 7.49. bit bassi Ai banco n AM i Ai BUS VME BUFFER DECODIFICA INDIRIZZI SCHEDA banco 3 banco 2 banco 1 bit alti Abilitazione AS selezione di piastra Ai CE, OE, WE DS0/1 WRITE C DTACK D00 - D15 BUFFER DATI bidirezionali bus dati figura 7.49 Il decodificatore di indirizzi della scheda riconosce quando l’operazione sul bus interessa la scheda stessa e riceve segnali, quali possono essere ad esempio gli “address modifier” (Ami), che forniscono informazioni sul tipo di operazione (a ciclo singolo, a blocchi, etc.) in modo da poter verificare che la scheda sia in grado di assolvere a quanto richiesto, e un certo numero di bit di indirizzo Ai (normalmente i piu’ significativi), che identificano il segmento di memoria presente sulla scheda. Sulla base di tali dati il decodificatore di indirizzi sintetizza un segnale di selezione che viene abilitato in AND dal segnale di address strobe (AS). Si ottiene in tal modo il segnale di selezione di piastra che abilita il funzionamento di tutto il resto del circuito. L’unita’ di controllo C, che verra’ esaminata con maggior dettaglio nel seguito, riceve in ingresso i data strobe (DSi) e il segnale di WRITE unitamente ad un certo numero di bit di indirizzo Ai, generando in uscita i segnali di controllo verso le memorie (chip enable CE, out enable OE, write enable WE) e i segnali per il controllo dei buffer dati (i circuiti separatori interposti tra le linee dati della scheda e le analoghe linee del bus VME). Infine il blocco C genera anche il segnale di acknowledge DTACK, necessario per la gestione asincrona del bus. Sono poi presenti i veri e propri banchi di memoria, che ricevono i segnali di controllo da C, il segnale di abilitazione e in base a cio’ si collegano con il bus dati interno alla scheda. Ai banchi di memoria giungono inoltre, sempre attraverso elementi buffer, questa volta monodirezionali, i rimanenti bit di indirizzo Ai. 323 Capitolo VII I sistemi di interconnessione Si ricordi che in un bus VME con parallelismo 32 il numero di bit di indirizzo e’ 24. E’ possibile pertanto indirizzare una memoria da 16 Mbyte. Si supponga allora che la scheda possa accogliere solo 512 Kbyte, per indirizzare i quali sono necessari 19 bit di indirizzo e che ogni banco abbia una dimensione di 64 Kbyte. In totale vi saranno quindi 8 banchi. In definitiva dei 24 bit di indirizzo i 5 piu’ significativi (supponendo che la memoria presente sulla scheda sia realizzata come un blocco di posizioni contigue) formeranno l’indirizzo di scheda e abiliteranno o meno la scheda stessa in funzione dei valori presenti sul bus. Dei rimanenti 19 i tre piu’ significativi verranno utilizzati come indirizzo di banco, in modo da selezionare il banco su cui si vuol compiere l’operazione, mentre i rimanenti 16 verranno applicati direttamente ai chip di memoria per individuare all’interno del banco la locazione di memoria desiderata. Si ricordi tuttavia che il parallelismo dei dati in questo caso e’ 16 e che il bit di indirizzo A00 non e’ presente, in quanto la sua funzione e’ assorbita dai data strobe DS0 e DS1. Nella tabella che segue sono riportati i vari bit di indirizzo e l’uso che di essi se ne fa. Gli address modifier (AM0 ÷ AM5) sono utilizzati dal decodificatore di indirizzo di scheda e sono programmabili utilizzando un circuito comparatore. NOME Funzione Origine AM0 ÷ AM5 A23 ÷A19 A18 ÷A16 A15 ÷ A01 DS0 – DS1 Tipo di operazione Indirizzo di scheda Indirizzo di banco Indirizzo di cella Selezione di byte basso e alto Programmabili con comparatore Programmabili con comparatore Ottenuti con selettore Applicati direttamente ai chip Applicati direttamente al chip Il decodificatore di scheda puo’ essere realizzato con due comparatori, ad esempio con due comparatori da 8 bit ACT xx521, ed ha il compito di verificare che gli address modifier e la parte alta dell’indirizzo corrispondano all’indirizzo e al tipo di operazione che la scheda e’ in grado di eseguire. Il relativo schema e’ riportato in figura 7.50. AM0 AM1 1 19 2 18 3 17 4 AM2 AM3 ACT 521 A22 14 7 13 8 12 A20 da eseguire AM5 AM4 11 1 19 2 18 3 17 4 5 A21 dell'operazione 15 6 9 A23 ai dip switch 16 5 16 ACT 521 15 6 14 7 13 8 12 9 abilitazione 11 A19 ai dip switch di programmazione dell'indirizzo di scheda figura 7.50 324 al resto del circuito Capitolo VII I sistemi di interconnessione I dip switch, non visualizzati sullo schema, permettono di programmare il tipo di operazione che la scheda e’ in grado di eseguire, abilitando la scheda stessa quando sui bit AM0 ÷ AM5 compare la combinazione coincidente con quella programmata, mentre sul secondo comparatore, sempre tramite dip switch puo’ essere fissata la porzione di memoria presente sulla scheda. Il piedino 1 e’ un ingresso di enable (attivo basso), che consente di mettere in cascata piu’ comparatori, mentre quello 19 e’ la relativa uscita che si porta a livello basso quando le due parole di ingresso coincidono. Il segnale di abilitazione viene poi trasferito al selettore di banco, che puo’ venir realizzato ad esempio con un integrato ACT 138, decoder da 3 bit, come illustrato in figura 7.51. abilitazione +V address strobe AS 4 15 5 14 6 13 out 0 out 1 out 2 out 3 12 ACT 138 A16 A17 A18 11 1 10 9 2 7 out 4 out 5 out 6 out 7 3 figura 7.51 I piedini 4 e 5 sono due ingressi di abilitazione, il primo attivo alto, il secondo attivo basso. Il comparatore riceve anche il segnale di address strobe e viene quindi abilitato solo quando sul bus e’ presente un indirizzo valido. I segnali di uscita utilizzati per abilitare i vari banchi sono a loro volta attivi bassi. I banchi di memoria possono venir realizzati utilizzando ad esempio dispositivi della famiglia “byte wide”, che, indipendentemente dal tipo di memoria (RAM, ROM, EPROM) e dalla taglia del componente (da 2 Kbyte fino a 1 Mbyte), hanno un parallelismo 8 e sono pin to pin compatibili. L’unica differenza all’aumentare della capacita’ del chip e’ l’involucro e il numero di piedini utilizzati per indirizzare il singolo byte all’interno del chip. Tutti questi dispositivi sono controllati attraverso un certo numero di segnali, che, ricordando che la sopralineatura sta ad indicare un segnale attivo basso, sono: • • • CE OE chip enable output enable • WE write enable Abilitazione del chip Abilitazione dell’uscita (usato nei cicli di lettura) Usato nei cicli di scrittura 325 Capitolo VII I sistemi di interconnessione Si e’ gia’ visto che i segnali di chip enable sono ricavati dal selettore di banco. I rimanenti due segnali possono ancora essere ricavati utilizzando un doppio decodificatore da 2 a 4 linee ACT 139, secondo lo schema di figura 7.52. abilitazione ENA ENB DS0 INA0 INA1 1 12 15 11 OUTB0 WE1 OUTB1 OE1 2 3 DIRA ACT 138 DS1 WRITE DIRB INB0 13 5 INB1 14 4 OUTA1 OUTA0 OE0 WE0 figura 7.52 Il dispositivo, abilitato con un livello basso applicato ai piedini 1 e 15 quando la scheda viene indirizzata, riceve i segnali di data strobe DS0 e DS1 e il segnale di WRITE e viene in questo caso utilizzato come una pura logica combinatoria. Le relative uscite servono sia a generare i segnali OE e WE, sia a realizzare i segnali di controllo per i buffer con cui la scheda colloquia con il bus. In particolare esistono due segnali di out enable (WE1 e WE2) in quanto il parallelismo dei dati e’ 16, mentre quello dei chip di memoria e’ 8. Ciascun banco di memoria e’ pertanto realizzato con due chip e mantenendo separati i segnali di abilitazione, secondo lo schema di figura 7.53, si puo’ abilitare la lettura o la scrittura sul singolo byte o sull’intera parola. BANCO i byte basso CE OE byte alto WE CE OE WE CE agli altri banchi OE0 WE0 OE1 di memoria WE1 figura 7.53 326 Capitolo VII I sistemi di interconnessione I due segnali DIRA e DIRB vengono poi utilizzati assieme al segnale di abilitazione della scheda per determinare la direzione di transito nei buffer bidirezionali di connessione delle linee dati al bus. Si possono quindi gestire comunicazioni bidirezionali sul singolo byte o sull’intera parola da 16 bit. Si ricordi che tutte le linee di connessione al bus sono bufferate, ma di esse solo quelle relative ai dati, che possono viaggiare nelle due direzioni, utilizzano dispositivi bidirezionali. L’ultima parte circuitale su cui conviene soffermare l’attenzione e’ quella che sintetizza il segnale di aknowledge DTACK, necessario per la gestione dell’handshake sul bus VME. Tra le specifiche era stato imposto che il ritardo con cui il segnale DTACK veniva restituito fosse programmabile in modo da poter utilizzare dispositivi di memoria con tempi di accesso diversi. Malgrado che tali specifiche appaiano a prima vista di complessita’ non indifferente, il relativo circuito e’ piuttosto semplice ed e’ riportato in figura 7.54. A abilitazione DTACK AS DS0 ritardo programmabile DS1 AR figura 7.54 Quando la scheda e’ abilitata, e’ presente il segnale di address strobe ed e’ presente o DS0 o DS1 o ambedue. Nel punto A viene pertanto sintetizzato un valore logico alto. Questo segnale viene ritardato con un elemento a ritardo programmabile ottenendo il segnale AR. A e AR sono infine messi in NAND tra di loro, dando origine al voluto segnale DTACK. Il relativo diagramma di temporizzazione e’ riportato in figura 7.55. abilitazione AS DS0 - DS1 A Ritardo AR DTACK figura 7.55 Quando poi il master avverte la presenza di DTACK, i segnali AS e DSi vengono rimossi dal bus, facendo ritornare a livello basso i segnali A e DTACK. Il ciclo di acknowledge viene in tal modo chiuso. Pertanto riassumendo si ha: 327 Capitolo VII I sistemi di interconnessione • • • la comparsa del segnale Dti genera il segnale DTACK con un certo ritardo quando il master avverte la presenza di DTACK rimuove dal bus i sdegnali AS e DSi In conseguenza a cio’ DTACK ritorna al suo livello non attivo e la medesima cosa fa il segnale di abilitazione di scheda, concludendo il ciclo di handshake. Rimane da chiarire come venga realizzato il ritardo programmabile. In termini generali tale ritardo dovrebbe essere generato ricorrendo ad una macchina a stati di tipo sincrono (ad esempio un contatore con il quale, a partire da un clock, il ritardo puo’ venir generato con elevata precisione). Nel caso in questione tuttavia non sono richieste elevate precisioni in quanto il bus utilizzato e’ di tipo asincrono e i tempi da rispettare sono affetti da un notevole skew. Inoltre in una macchina a stati sarebbe sempre presente un tempo di latenza pari ad un periodo di clock, che rappresenta il ritardo minimo realizzabile. Si intuisce pertanto che per superare quest’ultimo inconveniente sarebbe necessario ricorrere a frequenze di clock notevolmente elevate. Sulla base di queste considerazioni si puo’ allora pensare di realizzare il ritardo con una catena di porte logiche, prelevando poi il segnale in un opportuno punto della catena in modo da realizzare il ritardo desiderato. 328