AN013 - Traslatore di livello a transistor

In molti casi ci si trova a dover interfacciare circuiti logici che lavorano a tensioni diverse, per esempio 3.3V e 5V, ed il problema consiste nel fatto che la tensione di uscita di un circuito digitale (che chiamiamo A) a livello alto è diversa dalla tensione accettata in ingresso dal secondo circuito (che chiamiamo B) con cui deve interfacciarsi.

Questa situazione è molto diffusa (basti pensare al caso in cui un modulo audio LPM11162 a 3.3V deve comunicare con una scheda Arduino a 5V - vedi articolo tecnico AN009) e la soluzione consiste nell'interporre fra i due circuiti un terzo circuito detto traslatore di livello, che ha il compito di traslare il livello di tensione presente all'uscita del circuito A e portarlo al livello accettato dal'ingresso del circuito B in modo che possa essere correttamente interpretato.

La soluzione più comune è l'uso di un circuito integrato dedicato, ma in questo articolo viene proposta una soluzione alternativa a componenti discreti che può risultare più vantaggiosa se le linee da interfacciare sono poche, per cui l'uso di un circuito integrato risulterebbe uno spreco.

 

Realizzazione

I casi che possono presentarsi sono due:

1) la tensione di uscita del circuito A è maggiore della tensione di ingresso accettata dal circuito B
2) la tensione di uscita del circuito A è minore della tensione di ingresso accettata dal circuito B

Il caso 1 è il più favorevole e semplice, perchè per ridurre la tensione è sufficiente realizzare un semplice partitore resistivo opportunamente dimensionato. Il seguente schema mostra un traslatore di livello da un'uscita a 5V verso un ingresso a 3.3V:

schematics3

Il caso 2 invece è più complesso perchè la tensione d'uscita deve essere innalzata. In questo articolo proponiamo un'interessante soluzione per realizzare il traslatore di livello, che impiega solo tre componenti. Ecco lo schema:

schematics1

In questo esempio il circuito A a 3.3V deve inviare un segnale logico al circuito B a 5V.
Viene mostrato per primo il caso in cui l'uscita di A sia a livello 0. L'emettitore si trova a 0V (GND) mentre la base del transistor NPN è polarizzata dai 3.3V attraverso la resistenze di base, quindi il transistor è in conduzione.
La corrente di collettore scorre attraverso la resistenza collegata ai 5V e la caduta porta in saturazione il transistor, quindi con tensione di collettore a 0V (o quasi). Fino ad ora niente di sorprendente, abbiamo solo verificato che il livello di uscita 0 venga riportato correttamente da A verso B.

Vediamo invece il caso in cui il circuito A porti a livello 1 la sua uscita, quindi a 3.3V:

schematics2

In questo caso l'emettitore e la base vengono a trovarsi allo stesso potenziale di 3.3V, pertanto il transistor NPN non può condurre e non ci sarà alcuna corrente di collettore che fluisce attraverso la resistenza connessa ai 5V del circuito B. Quindi la caduta sulla resistenza è nulla ed i 5V vengono riportati all'ingresso del circuito B.

Abbiamo così ottenuto l'adattamento di livello desiderato:

- quando il circuito A esce con 0V il circuito B riceve in ingresso 0V
- quando il circuito A esce con 3.3V il circuito B riceve in ingresso 5V

Semplice no? Sono necessarie soltanto due resistenze ed un solo transistor (anche un comune BC337), pertanto il tutto risulta facile, economico e poco ingombrante.

 

 
RSS
 
icon rssCon il feed RSS ricevi aggiornamenti in tempo reale su tutte le novità del sito.

Iscriviti subito al feed RSS!

Social

icon fb circle icon tw circle icon g circle icon rss circle

Prodotti nello Shop
Portabatterie 4 stilo (AA)
Portabatterie 4 stilo (AA)
Piastra Millefori 10x16cm
Piastra Millefori 10x16cm
Boccola da pannello nera (2pz)
Boccola da pannello nera (2pz)
Box plastico 6 scomparti
Box plastico 6 scomparti
Spina RCA nera (2pz)
Spina RCA nera (2pz)
Strip 40 pin dritto femmina (2pz)
Strip 40 pin dritto femmina (2pz)
Home