Nell’articolo precedente abbiamo visto come realizzare delle porte logiche con diodi e resistenze. Vediamo adesso come possiamo realizzare le funzioni logiche con i transistor. Nei circuiti che andremo a vedere il transistor viene usato in condizione di on-off, ovvero in saturazione dove la resistenza tra collettore ed emettitore è piccola, ed in interdizione dove virtualmente non c’è collegamento tra collettore ed emettitore. Con i transistor e le resistenze possiamo creare le tre porte logiche di base (AND OR e NOT). Rispetto alle porte logiche con diodi, quelle a bjt sono un tantino più complesse perchè in uscita è presente una porta NOT (a breve vedremo il circuito) per compensare l’inversione di fase propria del bjt (il segnale in tensione applicato alla base lo ritroviamo in uscita sul collettore col segno meno).

Cominciamo con la porta NOT.

xxx not_bjt xxx Quando l’ingresso è a livello logico basso il transistor è interdetto, non circola corrente sulla resistenza e l’uscita si porta alla tensione di alimentazione (quindi livello alto). Mentre quando l’ingresso è a livello alto (5 Volt) il transistor va in saturazione e l’uscita si porta a qualche decimo di Volt. Le due resistenze hanno la funzione di limitare la corrente assorbita dall’ingresso e la corrente che circola sul transistor in saturazione.

Usando il simulatore circuitale Qucs possiamo subito vedere quanto vale la corrente e quindi scegliere la resistenza di conseguenza (ricordatevi di usare un modello per il BJT uguale a quello che userete nel circuito altrimenti i conti risultano errati).

not_bjt_0 xxx not_bjt_5

Vediamo adesso la porta OR.

xxx or_bjt xxx Il transistos T2 rappresenta la porta “NOT” d’uscita di cui parlavamo prima (serve a cambiare la fase del segnale). Le due resistenze sui collettori (R_c) si dimensionano in modo tale da limitare la corrente di collettore. Se uno qualsiasi degli ingressi si porta a livello logico alto il primo transistor va in saturazione, il suo collettore si porta ad una tensione molto vicina allo zero; il secondo quindi sarà interdetto e l’uscita sarà alla tensione di alimentazione.

Per dimensionare le resistenze sugli ingressi ci dobbiamo mettere nel caso peggiore, ovvero quando tutti gli ingressi sono a livello logico alto (5 Volt). In questa condizione la corrente sulla base è la somma delle 3 correnti quindi, in base al BJT usato ed alla sua corrente di base, si sceglie R in modo tale da avere frac{I_{b_{MAX}}}{3}= frac{5-V_{BE}}{R_b} (ogni ingresso deve dare un terzo della corrente massima).

Il circuito AND è un pò più complesso in quanto richiede un transistor per ogni ingresso.

xxx and_bjt xxx L’ultimo transistor ha sempre la funzione di  invertire la fase del segnale. Vediamone il funzionamento: quando un ingresso è nullo il transistor corrispondente è interdetto e la sua uscita è al valore logico alto. Il valore logico alto in uscita si ottiene solo se tutti gli ingressi sono a livello alto: in questo caso sulla base dell’ultimo transistor sarà presente una tensione nulla, e quindi l’uscita si porterà alla tensione di alimentazione.

Dimensioniamo le resistenze. Per le resistenze tra alimentazione e collettore si deve solo limitare la corrente che circola sui transistor quando sono in saturazione. Le resistenze in ingresso si dimensionano per limitare la corrente di base. Per quanto riguarda le resistenze tra i collettori e la base dell’ultimo BJT esse vanno dimensionate considerando che ognuna di esse fornisca al massimo un terzo della corrente di base massima (vedi porta OR) considerando che la corrente arriva attraverso la R_c la formula per il calcolo è frac{I_{b_{MAX}}}{3}=frac{5-V_{BE}}{R_c + R_x}.

Ovviamente non è molto facile dimensionare ed usare più porte di questo tipo, ma all’occorrenza può tornare molto utile sapere come mettere su un minimo di logica di fortuna!