Smitizzare il computer Pietro Montini 1983 Indice : Valigetta Schede : ……………………………………………………………………...pag. 2 Sistema Decimale : …………………………………………………………………… pag. 3 Sistema Binario : ……………………………………………………………………….pag. 4 Sistema Esadecimale : …………………………………………………………………pag. 5 Scheda Binary : ………………………………………………………………………...pag. 8 Scheda Display : ……………………………………………………………………….pag. 9 Scheda Counter : ……………………………………………………………………….pag. 10 Scheda Comparatore e Shift Register : …………………………………………………pag. 12 Scheda Multivibratori : …………………………………………………………………pag.14 Scheda Memories : ……………………………………………………………………..pag. 25 Eproms : ……………………………………………………………………………….. pag. 32 Alimentatore in C.C. : …………………………………………………………………..pag. 33 Tastiera ………………………………………………………………………………….pag. 41 Video : aggiornamenti nel 1986……………………………………………………...…pag. 45 Mouse …………………………………………………………………………………...pag. 50 Tabelle ASCII ………………………………………………………………………….pag. 53 1 Valigetta Schede Flat Cable : I Flat Cable ad 8 linee, che uniscono le varie schede, sono crimpati su speciali zoccoletti degli integrati in modo che gli 8 conduttori facciano contatto con gli 8 pin degli zoccoletti che fungeranno poi da connettore. 2 Sistemi di numerazione Breve introduzione tra i sistemi di numerazione : Decimale, Binario, Esadecimale Sistema Decimale Sappiamo che il sistema di numerazione decimale si avvale di 10 simboli, per cui ha come base il numero 10. I simboli sono : 0 1 2 3 4 5 6 7 8 9 I valori maggiori di 9 si formano accostando tali simboli in diverse combinazioni. Ad esempio nel numero 888, dove compare un solo simbolo ripetuto tre volte, la cifra di sinistra vale 800, quella centrale 80, quella più a destra 8. Il valore del numero si desume dalla seguente relazione : 10² centinaia 8 x 10² + 8 x 10¹ + 8 x 10° 10¹ decine = 10° unità 800 + 80 + 8 = 888 Altro esempio : 10³ migliaia 10² centinaia 10¹ decine 10° unità Alle potenze di 10 si dà il nome di “Pesi”. Infatti 10° ha peso 1 perché 10 elevato alla potenza zero dà come risultato 1. 10¹ ha peso 10 e così via. Per quanto riguarda i numeri frazionari, i pesi attribuiti alle cifre che si trovano a destra della Virgola. Sono potenze con esponente negativo poiché le stesse cifre hanno significato di decimi, centesimi, millesimi, etc. Così, ad esempio, sarà : 423,758 = 4 x 10² + 2 x 10¹ + 3 x 10° + 7 x 10⁻¹ + 5 x 10⁻² + 8 x 10⁻³ che dà : 400 + 20 + 3 + 7/10 + 5/100 + 8/1000 Portando lo spostamento della virgola verso destra o verso sinistra di uno, due, tre, ecc. posti, equivale a moltiplicare o dividere il numero per 10, 100, 1000, ecc. 3 Sistema Binario Ha come base il numero 2, pertanto si avvarrà di due simboli : 0 ed 1 Le cifre dei numeri binari vengono posizionate dai relativi “pesi”, che naturalmente sono potenze di due. Ad esempio il numero binario : 100111 (leggi : uno, zero, zero, uno, uno, uno) Può essere espresso nel seguente modo : 2⁵ 2⁴ 2³ 2² 2¹ 2° 1 0 0 1 1 1 = 1 x 2⁵ + 0 x 2⁴ + 0 x 2³ + 1 x 2² + 1 x 2¹ + 1 x 2° Quindi, il valore decimale corrispondente a tale numero binario è dato dalla somma di tutti i prodotti dei Bit ad 1moltiplicato per i pesi relativi, ossia 1 x 2⁵ + 1 x 2² + 1 x 2¹ + 1 x 2° = 32 + 4 + 2 + 1 = 39 Ciò appare evidente in quanto un qualsiasi numero moltiplicato per zero sarà uguale a zero. I numeri frazionari vengono rappresentati con criteri analoghi a quelli osservati per i numeri frazionari del sistema decimale. Anche in questo caso, lo spostamento della virgola verso destra o verso sinistra raddoppia o dimezza il valore degli stessi. Consideriamo, ad esempio, il numero binario : 1, 1 0 0 1 0 Il suo equivalente decimale è : 1 x 2° + 1 x 2⁻¹ + 0 x 2⁻² + 0 x 2⁻³ + 1 x 2⁻⁴ + 0 x 2⁻⁵ = 1 + ½ + 1/16 = 25/16 Infatti : 1 x 2° = 1 1 x 2⁻¹ = 1 x ½ = ½ 1 x 2⁻⁴ = 1 x 1/16 = 1/16 0 x 2⁻² = 0 x ¼ = 0 0 x 2⁻³ = 0 x 1/8 = 0 0 x 2⁻⁵ = 0 x 1/32 = 0 Spostando la virgola di un posto verso destra, il numero diventa : 1 1, 0 0 1 0 Mentre i suo equivalente decimale deve essere 50/16, infatti : 1 1, 0 0 1 0 = 1 x 2¹ + 1 x 2° + 0 x 2⁻¹ + 0 x 2⁻² + 1 x 2⁻³ + 0 x 2⁻⁴ che darà = 2 + 1 + 1/8 = 3 + 2/16 = 50/16 Il risultato è infatti raddoppiato !! 4 5 6 7 Sistema esadecimale Questo sistema lo si vedrà utilizzato nella scheda “Display”, e non è altro che una rappresentazione facilitata di un numero binario. Ha come base il numero 16, ossia le cifre che compongono il numero esadecimale si susseguono secondo la potenza di 16 (analogamente, come abbiamo visto, ai sistemi decimale e binario le cui cifre si susseguono secondo le potenze di 10 e 2 rispettivamente). Ovviamente, per questo sistema di numerazione saranno necessari 16 simboli, da far corrispondere ai numeri tra 0 e 15. I primi dieci simboli del sistema esadecimale sono le consuete cifre da 0 a 9, per le successive si dovrà ricorrere alle lettere dell’alfabeto. Si hanno così le seguenti corrispondenze : Esadecimale Decimale 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 I numeri risulteranno perciò composti da cifre e lettere. Esempio : 12516 = 29310 Quanto scritto si legge : uno, due, cinque in base sedici, che è uguale a 293 in base dieci Notare l’indicazione della base, necessaria per evitare confusione. Il calcolo del valore corrispondente al 125 si fa in modo analogo al sistema binario, tenendo conto della successione dei “pesi” in base 16. 12616 = 1 x 16² + 2 x 16¹ + 5 x 16° = 256 + 32 + 5 = 293 Invece il numero : A20C sarà uguale a : 10 x 16³ + 2 x 16² + 0 x 16¹ + 12 x 16° = 40.460 + 512 + 0 + 12 = 41.484 La trasformazione di un numero Binario nel corrispondente Esadecimale viene effettuata suddividendo il numero Binario in gruppi di 4 cifre a partire da destra (cioè dalla parte dei numeri con i “pesi” meno significativi) e completando eventualmente con zeri il gruppo più a sinistra. A questo punto si scrivono le cifre esadecimali corrispondenti a ciascun gruppo e la trasformazione è terminata. Ad esempio : 111110100101001 Dividendolo in gruppi di 4 cifre, partendo da destra : 0111 1111 0010 1001 Nel gruppo alla sinistra, lo zero è stato aggiunto per completare il gruppo. Il numero Esadecimale corrispondente diverrà : 7D29 8 che è sicuramente meno laborioso da pronunciare perché, se ci esprimessimo in linguaggio binario, dovremmo dire del numero precedente : zero uno, uno uno, uno, uno, zero, zero, etc…. e non riusciremmo a memorizzarlo. La base dell’Algebra dei circuiti venne gettata da Claude Elwood Shannon (1916 -2001, fisico americano, uno dei fondatori della storia dell’informazione), partendo dalle leggi della logica binaria formulate da Gottfried Wilhelm Leibniz (1646 - 1716, presidente dell’Accademia Prussiana delle scienze), George Boole (1815 – 1864, matematico inglese), ed altri matematici. Il motivo che ha determinato l’utilizzazione nel computer della matematica binaria e quindi dell’ algebra booleana , è dato dal fatto che la tecnologia attuale non permette di riconoscere con precisione i dieci “livelli “ utilizzati dalla matematica decimale. Infatti, ad ogni livello da 0 a 9 dovrebbe, nel computer, essere attribuito un diverso livello di tensione, in modo tale che ognuno di questi 10 numeri possa essere sicuramente riconosciuto, e come tale, utilizzato nelle operazioni matematiche interne. Dal punto di vista tecnico, sarebbe anche possibile riuscire a discriminare i diversi livelli di tensione, ma risulterebbe troppo complesso e laborioso. Vediamo perché : Nella figura qui sopra è stata rappresentata la suddivisione di una tensione di 5 Volt (come quella che alimenta le nostre schede) utilizzando varie rappresentazioni matematiche. Al crescere del numero dei gradini, si può notare come diventi sempre più piccola la sicurezza con la quale possono essere riconosciti i vari gradini e come ci si avvicini sempre più all’andamento continuo del segnale. Prendiamo ad esempio dei classificatori per dimostrare come diminuisca la “sicurezza di riconoscimento” di un segnale al crescere nel numero dei gradini : 9 Talvolta, per riconoscere in numero d’ordine dei raccoglitori, si usa incollare una striscetta colorata sul dorso in modo che, andando da un estremo all’altro, la strisciolina venga a trovarsi sempre più in alto. Si rende così immediatamente riconoscibile un eventuale scambio di posizione fra due raccoglitori. Questo può avvenire facilmente nel caso di due o tre raccoglitori, ma allorché essi aumentano, la distanza fra le striscioline diminuisce a tal punto da rendere via via più difficile la loro collocazione. E così lo sarebbe allorché una tensione venisse suddivisa in più parti dove ciascuna di esse avesse un ben preciso significato. Si è ricorsi così alla matematica binaria che si basa semplicemente su due numeri (0 ed 1) che vengono denominati BIT (abbreviazione delle parole inglesi Binary Digit, ovvero, cifra binaria), e da qui la “logica digitale”. È quindi facilmente intuibile come ciò renda più facile il suo accostamento all’elettronica. Al numero 0 si attribuisce, ad esempio, il livello di tensione 0 o mancanza di tensione. Al numero 1 si attribuisce invece la presenza di tensione o circuito chiuso. Non ci addentreremo nella matematica binaria. Ci basterà sapere che quando un Dato della linea 0, come nel caso della scheda “Binary” ha il relativo “led” acceso (ossia ad 1), il suo valore assume un certo “peso” a seconda della posizione che esso occupa sulla linea. Viene assunto, come si è visto, che il numero meno significativo si trovi alla destra (o verso il basso, come sulle schede) e raddoppi man mano che ci si sposta verso sinistra (o verso l’alto). 128 64 32 16 8 4 2 1 successioni delle potenze di un numero binario o “pesi” 7 6 5 4 3 2 1 0 b7 b6 b5 b4 b3 b2 b1 b0 N° di linee o bit La cifra in alto è quindi il valore che si assume allorché il rispettivo bit della linea sottostante ha valore 1 (o led acceso) e che, sommato a tutti gli altri pesi, i cui bit sono ad 1, dà il valore della linea, che nel caso di 8 bits, viene anche chiamata Byte. Quindi, vediamo un esempio su 4 bit : Si nota che il 1° ed il 3° interruttore sono chiusi per cui, circolando corrente in quei due rami, le rispettive lampadine sono accese. Se noi volessimo trasformare questa rappresentazione in codice binario, avremo che : 0 1 0 12 = 0 + 4 + 0 + 1 = 510 10 Scheda Binary Componenti : SW1 = switch a 8 vie LD1 = led rossi R1 R8 = 180 ohm IC1 – IC2 = SN 7400N quadruplo NAND Premendo un interruttore di SW1 verrà visualizzato sul relativo led il codice binario corrispondente. IC1 ed IC2 servono ad impedire che, a switches aperti, il segnale “volante” venga codificato come segnale vero. LED : sono diodi emettitori di luce usati per indicare lo stato od altre informazioni all’utente. Questo diodo ha un salto di tensione di 1,2 1,4 volt, secondo il tipo. È un componente che emette una luce visibile su una stretta banda di lunghezza d’onda. I “led” più usati sono quelli “rossi”. Ne esistono anche di verdi, giallo, arancio e all’infrarosso, ma talvolta non di pari efficienza. La corrente che passa attraverso il “led” determina la sua intensità luminosa. La formula è all’incirca : I = 3,5/R per una alimentazione di 5 volt. Correnti tipiche vanno da 2 a 20 mA 11 Scheda Display Componenti : ICU _ IC2 = F9368 Display A1 -- A4 Decodifiche per display a 7 segmenti ed a catodo comune. Non abbisogna di resistenze limitatrici sulle uscite, essendo stabilizzate. TH2010 a catodo comune Dati in ingresso in codice binario Note : se all’accensione si vuol avere la visualizzazione dello “zero”, bisogna collegare il piedino 4 RBO al +5 12 Scheda Counter Componenti : IC1 : SN7400N quadruplo NAND IC2 - IC3 : contatori binari SN74LS93/1 IC4 : NE555 SW1 : deviatore P1 : potenziometro 470 ohm R1 - R2 : 1 K ohm R3 : 100 ohm C1 : 100 uF elettr. TP1 : Test Point per il Clock NE555 SN7400N Il contatore binario è formato da una serie di Flip Flop in cascata e può contare sino a 16. Se i Flip Flop son 4, sarà : 24 = 16 Sono Flip Flop formati da Transistors NPN : SN74LS93 13 L’uscita Y di ciascun Flip Flop viene utilizzata come Trigger per quello seguente. Se all’ingresso T del primo Flip Flop vengono applicati impulsi Trigger negativi, le forme d’onda dei singoli Flip Flop appaiono come sotto : Dal grafico si nota che il 1° F.F. commuta ad ogni fronte negativo del segnale in ingresso. Così facendo, gli F.F. successivi commutano sul fronte negativo del segnale d’uscita del F.F. precedente. Possiamo quindi sfruttare le due uscite del 2° e 4° F.F. che vanno “alte” al 10° impulso per riportare a zero la conta del SN7493 attraverso i piedini 2 e 3 (R0) che settano a zero il F.F. e la conta riparte al sopraggiungere del primo impulso. Un Flip Flop è quindi un circuito binario, per cui n binari permetteranno di contare sino a 2n. Descrizione della Scheda Counter : Le uscite D e B del Counter “UNITÀ”, essendo all’ accensione a livello basso (L), portano un livello L in 2 e 3 del NE555, così da abilitare la conta (infatti debbono essere basse durante la conta) che è scandita dagli impulsi in ingresso al piedino 14 e provenienti dall’oscillatore. D e B rimangono ad “L” sino a 10. A questo punto cambieranno stato e porteranno il livello “H” ai piedini 2 e 3 del Counter stesso, che resetterà e ripartirà poi da zero. Inoltre il piedino 11 del NAND, andando a livello “L” al 10° impulso, incrementerà di una decina il contatore “Decine” che si resetterà con il medesimo sistema già visto, ma al 100° impulso, ovvero quando il suo piedino 14 ha ricevuto il 10° impulso. N.B. : l’oscillatore verrà analizza nella Scheda Multivibratori. L’ SN7493 ha la medesima piedinatura del SN7490, ma mentre il 7490 è un contatore decimale (0 – 9), il 7493 è un contatore binario (0 – 15) e da qui la possibilità di prelevare un impulso al 10° clock. Il 7490 permette però di resettare anche a 9 il contatore Rg (1) Rg (2) 14 Scheda Comparatore + Shift Register Comparatore : LD1 – 3 : led gialli 3 mm R1 – R3 : 220 ohm IC1 : F9324 (comparatore) Shift Register : LD1 – 8 : led verdi 3 mm R1 – R 8 : 220 ohm IC1 – IC4 : DM 74164N (Shift Register) C1 : 0,33 uF TP1 : Input Clock SW1 : Switch impulsivo C2 : 0,1 uF (sotto la scheda) Rx : 1 K ohm (sotto la scheda) Comparatore : Vengono utilizzati solo 4 dei 5 ingressi disponibili per ognuno dei due canali potendo disporre di un Bus di solo 8 bits. Il confronto fra A e B avverrà quindi fra due numeri il cui valore massimo potrà essere 16 (24 = 16). Uno dei tre led gialli si accenderà a seconda dell’esito del confronto fra i valori espressi dai due canali A e B. 15 Shift Register : Un registro a scorrimento è composto da elementi di memoria binari (Flip Flop). Esso ha la capacità di immagazzinare informazioni e di farle muovere. Prendiamo ad esempio, un registro a scorrimento a 4 bit, costituito da F.F. J.K. Le uscite Q e Sono collegate ciascuna agli ingressi J e K del F.F. seguente. L’impulso di commutazione viene mandato contemporaneamente a tutti i F.F.. All’ingresso E del registro a scorrimento è collegato un invertitore tra l’ingresso J e l’ingresso K. Così l’ingresso K è sempre presente, con polarità invertita, il segnale presente all’ingresso J. Se all’ingresso del registro a scorrimento si manda un’informazione (livello “H”), all’impulso successivo del clock essa viene immagazzinata nel 1° F.F. Con un altro impulso l’informazione viene fatta avanzare di un posto nel registro, mentre il primo posto può accogliere una nuova informazione. Si può dire che in un registro a scorrimento, dopo “n” impulsi, un’informazione viene fatta avanzare di “n” posti. Quando l’informazione arriva all’ultimo F.F. , con l’impulso successivo, andrà perduta. Il nostro circuito viene innescato premendo SW1. L’impulso negativo del piedino 3 di IC2 fa scattare a livello “H” il piedino 11, poi portato all’ingresso dello Shift e fatto quindi avanzare con la cadenza del clock al piedino 8. Dopo 8 impulsi questo giungerà all’uscita QH e da lì, al piedino 1 di IC2, riportando la sua uscita 3 a livello “H”, e quindi allo stato iniziale. Per evitare di memorizzare all’ingresso AB l’impulso che gli perviene dal piedino 11 di IC2, l’uscita Q A viene collegata ai piedini 12 e 13 di IC4, così che dopo il 1° impulso, gli ingressi A e B ritornano a livello 1. 16 Scheda Multivibratori Componenti : Bistabile : IC1 R1 – R3 R2 Ld1 – LD2 SW1 Monostabile : : SN7400N : 220 ohm : 1 K ohm : led rossi 5 mm : deviatore IC2 : SN74121 (multivibratore mono) R4 –R5 : 220 ohm R6 : 10 K ohm C1 : 50 uF elettrolitico C2 : 100 uF elettrolitico SW2 : deviatore SW3 : interruttore impulsivo LD1 – Ld4 : led rossi 5 mm Astabile : IC3 IC4 R7 – R11 R10 R8 R9 C3 LD5 – LD6 P1 TP1 – TP2 : SN7400N : NE555 : 237 ohm : 1,1 K ohm : 1,1 K ohm : 363 ohm : 100 uF : led rossi 5 mm : Potenziometro 1 M ohm (47 k ohm) : impulsi in uscita con livello 1 e durata diversa 17 Prendiamo in considerazione dapprima il Multivibratore Astabile il quale possiede due condizioni di equilibrio metastabili. Per ciascun transistor TR1 e TR2 si trova periodicamente per un certo tempo nello stato OFF (stato di interdizione) e, nel rimanente tempo, nello stato di ON (stato di conduzione). Comunemente i due Transistors vengono fatti operare tra la saturazione (stato ON) e l’interdizione (stato OFF), ed in corrispondenza a questi due stati si ha : Saturazione : Tensione di collettore Tensione di base Corrente di collettore = VCE saturazione = VBE saturazione = ECO / RC Tensione di collettore Tensione di base = EcO = Tensione di interdizione Interdizione : min. di 0 per Trans. NPN magg. 0 per Trans. PNP Si prenda in considerazione il MV Astabile ad “accoppiamento di collettore” : Se C1 = C2 Rb1 = Rb2 E le resistenze di carico Rc sono uguali, si ha il “MV Astabile Simmetrico” e la forma d’onda che si preleva sul collettore di TR1 è identica a quella che si preleva sul collettore di TR2. In caso contrario si ha un “MV Astabile asimmetrico”. Supponiamo di trovarci nel 1° caso e che, poco prima dell’ istante t0, siano : TR2 = conduttore E TR1 = interdetto, e la capacità C2 si trova carica alla tensione VC0 = Ec – Vbe saturazione 2 con polarità come da figura a lato 18 Nell’istante t0 (si è tenuto conto della corrente inversa ICB0 che circola nel TR2 in stato di OFF), C2 tende a caricarsi con polarità opposta alla carica precedentemente acquistata. N.B. : Ec = V CE saturazione + VBE saturazione Per Transistors al Silicio, abbiamo VCE = 0,3 Volt VBE = 0,7 Volt Per cui, quando necessitano calcoli rigorosi si può ritenere che : VB2 (to) = -EC Da cui si conclude che, se in t0 è VB2 << 0 si avrà TR2 = OFF e poi, con una costante di tempo pari a T = RB2 x C2 la tensione VB2 decresce dal suo valore negativo iniziale e per t = infinito la VB2 tende al valore = EC Però accade che nell’istante t = t1, la tensione VB2 raggiunga il valore di soglia VB2 ON, il quale porta il TR2 in conduzione. Tale valore di soglia è poco superiore a 0 Volt (= 0,5 per TR al silicio) 19 Se il tempo T1, utilizzando un TR al Silicio e trascurando il termine della formula generale RB x ICB0 e considerando che a temperatura ambiente possono essere trascurati VCE satur. = 0,3 V - VBE satur. = 0,7 V - Vb ON = 0,5V che sono insignificanti rispetto a E C Si ha : T1 = RB2 x C2 x loge 2 = 0,69 x RB2 x C2 T2 = 0,69 x RB1 x C1 20 Circuito MV Astabile con NE555 realizzato sulla scheda : ----------------------------------------------------------- MV Bistabile (Flip Flop) : Trova largo impiego nei circuiti logici, ed a seconda di come vengono utilizzati i loro ingressi (in corrente continua ed in corrente alternata), possono servire come elementi di memoria e di conteggio. Questo MV deriva il suo nome dal fatto che possiede due stati STABILI corrispondenti alle condizioni in cui un transistor è in conduzione e l’altro è in interdizione. La commutazione tra i due stati può avvenire tramite un impulso esterno di comando, chiamato comunemente “trigger”. N.B. : Nel progetto di tale MV bisogna calcolare i valori del circuito che assicurino il cambiamento di stato. Affinché TR2 = ON (saturazione) occorre che la corrente di base IB2 sia superiore, o almeno pari, a IC sat / hfe min 21 IB2 magg. o uguale IC sat / hfe min dove : hfe min è il minimo valore di coefficiente di amplificazione di corrente del transistor in regione attiva. Affinché TR1 = OFF è necessario che la tensione VB1, essendo il transistor NPN, sia negativa e che sia inferiore o, al limite, uguale alla tensione di interdizione -VBE OFF Temperatura : il calcolo della formula, di cui sopra, deve essere fatto mettendosi nelle peggiori condizioni, cioè deve tener conto delle variazioni dei parametri del transistor. Gli effetti della temperatura sulle resistenze sono trascurabili, mentre debbono essere considerati per i Transistor. Per questi, alle temperature limite, si hanno le seguenti condizioni : Bassa temperatura VBE ON = MAX hfe = Minimo VCE sat = Minimo Alta temperatura ICB0 = Max VCE sat. = MAX Questi valori Max e Minimi si ricavano dal foglio delle caratteristiche dei Tansistors. Si deduce che le peggiori condizioni di commutazione, dalla interdizione alla conduzione, si vengono ad avere alle Basse Temperature, mentre alle Alte Temperature si hanno le peggiori condizioni di commutazione dalla conduzione all’interdizione. Tempo di commutazione : è l’intervallo durante il quale la conduzione si trasferisce da un Transistor all’altro. Condensatori di speed-up : Sono C = 1 e C2 che riducono di molto il tempo di commutazione Tempo risolutivo : è l’intervallo di tempo minimo che possono avere i due impulsi di comando esterno affinché il secondo impulso sia capace di indurre una nuova commutazione al bistabile. Se C1 e C2 si aumentano troppo, può peggiorare il Tempo risolutivo. L’inverso del Tempo risolutivo determina la massima frequenza del F.F. 22 Tempo di carica e scarica di C1 e C2 : Sia TR1 = ON e TR2 = OFF (interdetto) C1 risulta carico all’incirca al valore Ec C2 risulta carico all’incirca alla tensione VB2 Se un impulso di comando esterno (Trigger) provoca la commutazione, C1 si scarica dal valore Ec al valore VB1, mentre C2 si carica dal valore VB2 al valore EC. Il tempo necessario per questa carica e scarica stabilisce così l’intervallo che si deve avere affinché il bistabile si porti nelle condizioni stazionarie definitive del nuovo stato. Quindi, se C1 e C2 aumentano diminuisce il Tempo di commutazione peggiora il Tempo risolutivo perché aumenta il tempo di carica e scarica. Quindi, stabilito che un Tempo risolutivo Δ Tr’ deve essere : Rk x C < Δ Tr’ Storage Time : Un limite alla frequenza massima di funzionamento è imposto anche dalle cariche immagazzinate nella base dei Transistor saturati e determina lo Storage Time (Tempo di immagazzinamento). Siccome occorre del tempo per spazzar via le cariche, la velocità di funzionamento ne risulta limitata. Questo valore dovrebbe essere all’incirca : CK = K x QS / EC dove : QS = carica immagazzinata dalla base, necessaria alla saturazione del Transistor K = fattore empirico di sicurezza il cui valore va da 1,5 a 2. 23 Circuito bistabile con SN7400N realizzato su scheda : MV Monostabile : Analizziamo un MV Monostabile con accoppiamento di emittore (ne esistono altri tipi) I MV Monostabili sono caratterizzati da uno stato stabile di funzionamento, in cui il Transistor è normalmente conduttore e l’altro interdetto. Mediante un impulso di comando esterno, il circuito passa in uno stato metastabile con gli stati dei due Transistors commutati fra di loro. La durata di questo dipende dalle caratteristiche dei componenti del circuito. Nello schema sopra, il TR2 è normalmente saturato ed il TR1 interdetto. Quando un impulso positivo di Trigger (comando esterno), di livello appropriato, viene applicato alla base di TR1, questo si satura e l’impulso negativo che si genera sul suo collettore, si trasmette tramite C sulla base di TR2 portando quest’ultimo all’interdizione. Però questa posizione non è stabile, in quanto la capacità C tende a scaricarsi, attraverso R, 24 dal valore –Ec al valore +EC riportando il circuito nello stato originario, con TR2 saturato e TR1 interdetto. Il tempo intercorso fra lo stato di TR1 saturato e TR2 interdetto definisce il periodo del MV Monostabile. Regime statico (assenza di comando esterno) : TR1 = interdetto TR2 = saturazione e, affinché sia TR2 in saturazione, deve essere : E, se si tiene conto che generalmente si ha : RC2 >> RE ed Ec x RC2 << (Rc2 x VBE sat2 - RE x VCE sat2), si potrà trovare una relazione tra RC2, R ed hFE min. R < Rc2 x hfe min È la condizione che assicura lo stato di saturazione di TR2 La tensione di saturazione tra collettore e massa di TR2 è : VCE sat = VCE sat2 + IC2 x RE dove : IC2 = EC - VCE sat2 / RC2 Lo stato di interdizione di TR1 : si ha se la tensione VE (dovuta alla corrente di saturazione di TR2 passante per RE), è : Regime dinamico : Naturalmente la capacità C è caricata alla tensione EC - VB2 sat. Quando si comanda il MV dall’esterno con un impulso positivo di appropriata ampiezza ed applicato alla base del TR1 , quest’ultimo si satura. Sul suo collettore si genera un corrispondente impulso negativo che, trasmesso attraverso C alla base del TR2, porta quest’ultimo all’interdizione. 25 La tensione base - massa si porta al valore - (EC - VBE sat). Questa posizione però non è stabile, in quanto la capacità C tende a scaricarsi, attraverso R, al valore EC. Sicché la tensione VB2 , dal valore – (EC – VB2 sat) tende esponenzialmente al valore EC. Ma quando essa raggiunge il valore (RE x IE sat + VBE sat2) sia ha commutazione TR2 = saturato e TR1 = interdetto. Si nota che IE sat1 è la corrente di saturazione di emittore di TR1. Affinché TR1 = saturazione su comando Trigger, sarà : IB1 > IB1 sat IB1sat = IC1 sat / hfe min IC1 sat = EC / Rc1 Calcolo di RC1 ed Rc2 : I collettore di 2N744 = 10 mA e se Ec > VCE sat + Ic x RE Se avrò RC1 = Rc2 = 12V / 10 mA = 1,2 K Calcolo di R : R < RC2 x hFE min Calcolo di RE : deve essere sufficientemente grande per garantire la interdizione di TR1. In genere sarà RE x IE = 0,5 V Sicché : RE = 0,5 V / 10 mA = 50 ohm Calcolo di C : EC < BVEB0, però l’effettivo valore della tensione di rottura emittore – base è, nel nostro caso : BV’EB02 = BVEB02 - VE + VB2 sat = 6,3 – 0,5 + 1,6 = 7,4 V da cui si ha : e se T = 80 u sec da cui R < 24 K ohm, cioè R = 15 K ohm T = 0,48 x Rc si ha C = T / 0,48 x R = 0,011 uF = 0,01 uF 26 Circuito Monostabile con SN74121 realizzato su scheda : Ricapitolando : Il MV Monostabile (One Shot) è un circuito analogico che, ricevendo un impulso in ingresso (Go), presenta in uscita un impulso di lunghezza variabile. La durata dell’impulso in uscita non è però dipendente da quella in ingresso, bensì da due componenti : Condensatore e Resistenza. I Monostabili sono pertanto utili allorché si debba allungare la durata di un impulso come, ad esempio, quello di Reset o un’interruzione. Essendo però esso un circuito analogico, non è molto protetto contro i disturbi, poiché è sensibile al rumore della alimentazione. Presenta inoltre problemi di disaccoppiamento. 27 Scheda Memories R1 R2 R3 – R 10 IC1 – IC4 IC2 - IC3 IC5 SW1 LD1 Sw2 = 1,1 K ohm = 220 K ohm = 5,1 K ohm = SN74LS244N = 2114 (RAM) = 2716 (EPROM) = deviatore = led rosso 10 mA = 8 micro switsches Le memorie sono dei dispositive nei quali si può introdurre un Dato (informazione) per poi poterlo riprendere all’occorrenza. Esistono memorie che sanno ritenere questi Dati anche quando è stata loro tolta la tensione di alimentazione, o che possono essere lette. E ne esistono altre che possono essere lette e riscritte innumerevoli volte o che perdono le informazioni allorché viene loro tolta la tensione di alimentazione. Distinguiamo i vari tipi : RAM : Random Access Memory = Memoria ad accesso casuale È questa una memoria a lettura e scrittura, ma che perde i Dati allorché le si toglie la alimentazione. ROM : Read Only Memory = Memoria a sola lettura. È questa appunto la memoria che contiene dei Dati che possono essere letti e che vi sono stati introdotti con dispositivi particolari. Essa ritiene le informazioni quando le viene tolta l’alimentazione. PROM : Programmable Read Only Memory Ovvero è una memoria a sola lettura, ma programmabile anche dall’utente con una tecnica simile alla bruciatura di un fusibile. Un bit è infatti programmato facendo saltare un microscopico fusibile. EPROM : Anche questa è una memoria Programmabile a sola lettura in cui i dati vengono scritti con la tecnica di accumulo delle cariche. Questi Dati possono però essere cancellati esponendo il componente, per circa 15 minuti, ai raggi ultravioletti e quindi ricodificati. 28 Essa è cancellabile anche elettricamente per cui può essere impiegata come RAM, ma sono necessari più di 100 msec per cancellare la codifica, per cui potrebbe essere utilizzata come memoria tampone (scratch pad) per calcoli o manipolazione di Dati. Vediamo ora la costituzione interna di una ROM. Essa è del tipo matriciale, ovvero un’informazione (nel disegno un quadretto) è raggiungibile attraverso l’incrocio di una riga con una colonna. Questo quadretto è raggiunto codificando opportunamente i bit di indirizzamento. Come abbiamo imparato dallo studio del sistema binario, se disponiamo di 10 bit, la loro combinazione massima è pari a 1024 per cui, se un Package dispone di 10 piedini di indirizzamento, essi indirizzeranno 25 = 32 righe e 25 = 32 colonne, da cui : 32 x 32 = 1024 che sono le possibili posizioni di Memoria. Vedere nella pagina seguente : 29 A0 - A4 = 5 bit che permettono di indirizzare 32 righe (25 = 32) A5 - A9 = 5 bit che permettono di indirizzare 32 colonne (25 = 32) Q1 - Q8 = 8 bit di uscita (uno per ogni Package), relativi all’indirizzamento, righe – colonne, selezionato per ogni Package 30 Il disegno della pagina precedente rappresenta 8 chip di ROM che hanno le linee di indirizzamento in parallelo fra loro. Ciò significa che un indirizzo seleziona il medesimo “cubetto” negli 8 chip Ogni chip ha poi una propria uscita Q1 -> Q8 che può essere diversa dalle altre, a seconda del Dato che era immagazzinato nel cubetto dei 10 bit che lo hanno indirizzato. Così, ad esempio, se volessimo leggere il Dato che è immagazzinato negli 8 cubetti indirizzati in “A” (vedi figura), l’indirizzamento sarà così effettuato : 20 21 22 23 24 A0 A1 A2 A3 A4 0 1 0 1 0 ---------------------------righe 20 21 22 23 24 A5 A6 A7 A8 A9 0 0 0 1 0 --------------------------colonne riga --------- 23 = 8 riga ---------- 21 = 2 da cui 8 + 2 = 10 colonna ------- 23 = 8 da cui 8 pesi indirizzi valore dei bit di indirizzo L’intersecazione della riga 10 con la colonna 8 in ogni Package seleziona il cubetto indirizzato ed il relativo Dato si presenterà sull’uscita Q di ogni chip. Se invece volessimo leggere i dati registrati nel cubetto “B” : essendo esso a riga 32 ed a colonna 20, l’indirizzo sarà così composto : 1 A0 0 2 A1 0 4 A2 1 8 16 A3 A4 0 1 1 A5 1 2 A6 1 4 A7 1 8 16 A8 A9 1 1 pesi linee di indirizzamento bit di indirizzo I Dati contenuti nei cubetti contrassegnati dai puntini e che hanno avuto il medesimo indirizzamento, si presenteranno alle uscite Q1 -- Q8 e costituiranno il DATO letto (WORD). Poiché ogni Package ha una sola uscita, esso si dirà : a Parallelismo 1. Il Parallelismo è 8 se invece è tutto contenuto in un unico chip, per cui esso avrà 8 uscite. Lo stesso discorso lo si può fare anche per una RAM, con la differenza che i Dati tra Q1 -- Q8, una volta saranno Dati in uscita (e quindi letti), ed una volta in ingresso (e quindi scritti) e ciò sarà stabilito da un altro piedino del Package che ad esempio, allorché avrà valore 1 significherà che si è in Lettura, e quando avrà valore 0, si sarà in Scrittura. Ricapitolando : Si voglia registrare l’istruzione esadecimale 67 ad indirizzo 100 di una zona di memoria : Il 67 esadecimale equivale a : b7 b6 b5 b4 b3 b2 b1 b0 0 1 1 0 0 1 1 1 Per cui ognuno di questi bit verrà registrato nel relativo chip di RAM alla locazione di memoria (ovvero indirizzo) 100 che sul Bus indirizzi avrà questa forma : 31 512 A9 256 A8 128 A7 64 A6 32 A5 --------------------------------------------------- 0 colonne 0 0 1 1 16 8 4 2 1 A4 A3 A2 A1 A0 ---------------------------righe 0 0 1 0 0 64 + 32 + 4 = 100 Inoltre il piedino WE del chip andrà a livello 0 in modo che la istruzione 67 possa essere registrata. = Write Enable La linea tracciata sulle due lettere significa che il segnale ha significato quando è negativo, ovvero ha valore 0. 32 Analizziamo ora la parte della scheda di Memoria a Lettura – Scrittura. La Memoria è una 4096 bit statica, organizzata (ogni chip) in 1024 Words di 4 bit per cui saranno necessari 2 chip per avere 1024 parole di un Byte. La RAM statica, al contrario di quella dinamica, non 33 ha bisogno di un circuito di rinfresco esterno per mantenere in memoria i Dati scritti, poiché tale circuito esiste nel chip 2114. Operazione di Scrittura in Memoria : SW1 su Write Accensione del Led rosso Apertura del Bus, del Bus Driver SN74LS244 Ovvero, i Dati selezionati dal Dip Switch della piastrina Binary collegata, entrano tra E0 – E7 Ed escono tra Q0 -- Q7 per andare sulle linee tra I/O 1 – 8 delle due ROM ed allocati all’indirizzo selezionato dai micro switches di SW2. Il 2° Bus Driver è sempre selezionato, sia in Read che in Write, ma serve a disaccoppiare la piastrina da quella del Display, che altrimenti varierebbe l’intensità luminosa a seconda del valore dei Dati in ingresso (chiusura a massa sulla Scheda Binary). Sul Bus di Address vi sono 8 Resistenze di circa 5 K ohm con un capo ai + 5V. Ciò evita la variazione, non desiderata degli indirizzi, se il relativo Switch non è stato selezionato (a massa) per cui sarebbe rimasta volante la relativa linea di indirizzo. Operazione di Lettura in Memoria : SW1 su Read Spegnimento de Led rosso L’uscita del Bus Driver 1 viene scollegata dall’ingresso per cui i Dati indirizzati e letti sono quelli che vi erano depositati in precedenza. Memoria a sola lettura : EPROM 2716 di 2 KByte L’indirizzamento dei Dati viene fatto dalla Scheda Binary tramite il Bus A0 -- A7 34 35 Alimentatore in C. C. I circuiti elettronici che necessitano di un’alimentazione in Corrente Continua (C. C.) possono prelevare quest’ultima dalle pile (o dagli accumulatori) o da appositi dispositivi, gli Alimentatori, che ci accingiamo ora a trattare. Infatti, allorché l’utilizzatore ha un assorbimento di qualche decina di mA, è antieconomico ricorrere alla pile. Trasformatore : È necessario per ridurre la Tensione di rete, e portarla ad un valore prossimo a quello che dovrà essere poi l’alimentazione delle nostre schede. La scelta del Trasformatore dovrà tenere conto dei seguenti parametri : V V Iu max P Esempio : sia alimentazione (primario) uscita “alternata” (secondario) corrente che assorbirà l’utilizzatore Potenza del Trasformatore Vx = 5V Iu = 1 A avremo : P = V x x Iu calcoliamo : 5 x 1 = 5 P = 5W La Potenza di un trasformatore si misura in Watt (W), anche se sarebbe più giusto in VA avendo il Trasformatore carattere reattivo. Raddrizzamento della Tensione alternata : VP VS VC IC = = = = Tensione Primario Tensione Secondario Tensione sul carico Corrente nel carico La relazione tra la VS e la VC è : VS = 2,22 x VC e la corrente : IS = 1,57 x IC La Potenza : P = VS x Is = 2,22 x Vc x 1,57 x IC = 3,49 Vc x IC 36 Andamento della V e della I sul carico in un raddrizzamento a mezz’onda. Rendimento di conversione : esprime la frazione di Potenza erogata dal Trasformatore ed utilizzata dal carico. KU = VC x IC / VS x IS = 1 / 3,49 = 0,286 Il Rendimento di conversione da Alternata a Continua è abbastanza basso. Infatti viene utilizzato circa il 20% dell’intera potenza VS x IS fornita dal Trasformatore. Ad onda intera : Tra la VS e la VC (la VS di ogni secondario) esiste la relazione : VS = 1,11 x Vc e la corrente IS = 0,785 x Ic per cui il secondario sarà dimensionato per la Potenza P = 2 x VS’ x Is da cui KU = VC x IC / 2 x VS’ x IS 2 x 1,11 x VC x 0,785 x IC = 1,75 x VC x IC = 1 / 1,75 = 0,572 = 58% 37 A Ponte di Graetz : La relazione tra VS e VC VS = 1,11 x VC e la corrente : IS = 1,11 x IC E la Potenza che dovrà erogare il Trasformatore : P = VS x I S = 1,11 x VC x IC = 1,23 VC x IC KU = VC x IC / VS x IS = 1 / 1,23 = 0,81 80% Filtraggio della Tensione raddrizzata : Come si nota dalla forma d’onda dei tre sistemi precedenti, le forme d’onda sul carico hanno un andamento pulsante ed un metodo per ridurre questa ondulazione è di disporre fra il Positivo ed il Negativo dell’uscita, un Condensatore. Questa entità di ondulazione che rimane, si chiama Ripple Factor (F) ed è definito come il rapporto fra il valore efficace della Tensione Alternata ancora presente in uscita e la Tensione Continua (valor medio) in uscita. Per cui il Ripple = Residuo di Tensione Alternata presente nella Tensione Continua in uscita. Con Condensatore presente : F = 2,28 / CR dove C è in uF R è in K ohm 38 Esempio : se IC = 1 A e VC = 20V e C = 500 uF F = 2,9 / CR = 2,9 / 500 x 0,020 = 0,29 sarà : (senza condensatore sarebbe stato 0,48) Scelta dei Diodi : È bene che siano in grado di sostenere un valore di picco ripetitivo di corrente IFRM dato dall’espressione : IFRM = IC x 6,28 √ fRC dove f = 50 Hz e riprendendo l’esempio, sarà : IFRM = 1 x 6,28 √ 50 x 20 x 500 uF Resistenza interna : = 1 x 6,28 x 0,7 = 4,39 A è presente ai morsetti di uscita dell’ALI (RUf) RUf = 1 / 4fC In funzione di questa Resistenza si ha una maggiore o minore stabilità della Tensione ai capi del carico. Al limite, se RUf fosse uguale a zero (Alimentatore ideale), la Tensione di uscita si manterrebbe costante anche con carichi molto elevati. Per ottenere un RUf di 2 ohm si deve impiegare però un condensatore di elevata capacità. Es. : C = 1 / 4f x RUf = 1 / 4 x 50 x 2 = 2500 uF Ricapitolando : l’introduzione del Condensatore di filtro riduce l’ondulazione (Ripple) e permette di ottenere notevoli tensioni in uscita, ma presenta lo svantaggio di richiamare nei diodi notevoli correnti impulsive. A questo inconveniente si può ovviare ricorrendo alla stabilizzazione della Tensione d’uscita. 39 Ali con stabilizzatore di Tensione a 3 terminali : C1 = 1000 uF elettrolitico C1 - C2 = 0,1 uF (100 KpF) poliestere da saldare vicino ai terminali dello stabilizzatore. Elimina componenti rumore in Alta Frequenza. N.B. : In parallelo a C2, per migliorare la reiezione in alternata (Ripple rejection) ovvero inteso come rapporto fra la Tensione efficace del Ripple in ingresso e la Tensione efficace del Ripple residuo presente ai morsetti di uscita, può essere messo un altro condensatore di capacità da 1 a 25 uF, se al Tantalio, e fino a 220 uF se elettrolitico normale. 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57