Interfacciare differenti tensioni alle MCU
Dalla rivista:
Elettronica Oggi
La grande richiesta di apparecchi di elaborazione portatili e sistemi di comunicazione mobili ha indotto una progressiva diminuzione della tensione di alimentazione dai 5V tradizionali ai 3V oggi disponibili per quasi tutti i processori e i microcontrollori più diffusi sul mercato. La tensione inferiore consente, infatti, di ridurre in proporzione i consumi e quindi allungare notevolmente la durata delle batterie, a parità di prestazioni. Peraltro, non tutti i dispositivi presenti in commercio sono stati aggiornati per funzionare a 3V e, pertanto, oggi, occorre che i progettisti si ingegnino a disegnare circuiti a tensioni miste capaci di supportare sia i dispositivi a 3V, sia quelli a 5V. Ciò significa adottare soluzioni circuitali specifiche, ma non sempre è obbligatorio ricorrere a interfacce dedicate e sviluppate “su misura” per ogni applicazione, poiché come vedremo, è possibile utilizzare degli accorgimenti in grado di semplificare notevolmente le cose.
Le tensioni miste
Le nuove generazioni di microcontrollori sono tutte realizzate in tecnologia di riga con larghezza inferiore al mezzo micron, la maggior parte con processi da 0.25 micron, numerosi con righe di 0.18, 0.15, 0.13 e 0.12 micron e, solo recentemente, iniziano ad essere annunciate le prime linee di produzione in geometria di riga ancora inferiore, addirittura di 90 e 70 nanometri. Occorre aggiungere che al diminuire della riga elementare cresce anche la densità di componenti integrati nella medesima area di silicio e, quindi, la loro mutua vicinanza. Pertanto, diminuendo lo spessore degli strati isolanti intermedi nei transistor, diventa di fondamentale importanza ridurre la tensione di alimentazione per evitare di causare eccessivi stress meccanici ai gate, con elevata probabilità di rotture ed anomalie di funzionamento. D’altra parte, non tutti i dispositivi sono capaci di lavorare a bassissima tensione, giocoforza occorre saper progettare circuiti a tensioni miste, dove prevedere delle parti che necessariamente trasformino i segnali da una tensione all’altra e viceversa. Un esempio tipico può essere quello di una MCU alimentata a 3V e affiancata da una memoria EEPROM, un motore, dei LED e/o altri dispositivi che richiedono 5V di alimentazione. Lo svantaggio principale di tali configurazioni è quello di richiedere, appunto, due alimentatori con tutti i componenti di supporto di cui essi hanno bisogno, oltre alle opportune interfacce di traslazione dei livelli della tensione all’interno della scheda stampata. Il peggio capita se, oltre ai 3 e ai 5 volt, servono anche i 12V per le interfacce seriali RS232. C’è poi un altro problema serio, dovuto alla nascita di correnti spurie proprio nelle connessioni fra i transistor a diversa tensione di collettore. In pratica, succede che se un output CMOS con Vdd a 3V trasmette a un input CMOS TTL-compatibile alimentato a 5V, si crea una corrente di dispersione fra Vdd e Vss (massa) dovuta al fatto che entrambi i transistor MOS del dispositivo in ricezione sono nella lora rispettiva zona di saturazione e tale corrente può essere tipicamente di 100 – 200 microampere con qualche picco massimo momentaneo che, nel caso peggiore, può arrivare anche a 3 – 4 mA.. Effettivamente questa è una delle maggiori, se non la più importante, causa di consumo nei sistemi a tensioni miste. In attesa che vi sia sufficiente disponibilità di prodotti a 3V sul mercato, ci si può chiedere se non convenga realizzare i sistemi interamente a 5V, piuttosto che a tensioni miste. In realtà, i consumi delle MCU alimentate a 3V sono abbondantemente inferiori e, quindi, conviene sempre la configurazione a segnali misti rispetto ai 5V puri, specialmente nelle applicazioni portatili. L’unica avvertenza è quella di prestare maggior attenzione nella fase di messa a punto dei processori, generalmente più delicati da interfacciare. Ovviamente la cosa migliore, anche se non sempre possibile, è quella di scegliere dei componenti compatibili con entrambe le alimentazioni, così da poter evitare i circuiti intermedi di traslazione della tensione.
I PIN d’ingresso delle MCU
Vi sono due tipi di pin nelle MCU: quelli solo ed esclusivamente di input e quelli che possono essere utilizzati sia come input, sia come output. Entrambi i circuiti che li comandano necessitano di opportuni diodi di protezione verso massa (Vss) e qualcuno anche verso l’alimentazione (Vdd). Il primo tipo è schematizzato nella figura 1. In realtà, il diodo verso massa è realizzato con un transistor MOS a canale N chiuso fra il gate e massa ed ha la funzione di accendersi quando la tensione d’ingresso scende sotto il livello della Vss, in modo da bloccarla ai 0.6V tipici della giunzione. Il pilotaggio dei pin del secondo tipo è schematizzato nella figura 2. Per come è fatto il circuito succede, per esempio, che se il pin sta funzionando come pin di input, ovvero sta ricevendo dei segnali, allora il buffer d’uscita è disabilitato. Tuttavia, se in ingresso la tensione supera i valori limite, di questo ne possono risentire anche i transistor MOS della parte output, i quali si trasformano immediatamente in diodi di protezione, scaricando la corrente in eccesso. Quindi, a differenza dei pin solo ed esclusivamente di input, i pin di input/output hanno dunque protezioni sia per tensioni inferiori a Vss che per tensioni superiori a Vdd. Su questa premessa si possono considerare i problemi d’interfacciamento fra le MCU, i processori, i componenti e i circuiti integrati in generale, funzionanti a differenti livelli di tensione, tipicamente 3 e 5 volt, dando per scontata la presenza dei diodi di sicurezza con il compito di smaltire la corrente in eccesso in qualsiasi condizione imprevista e badando di non superare di più di 0.5V la tensione sulle giunzioni in modo da non far commutare i diodi e, pertanto, si assumono come limiti massimi precisamente:
5+0.5=5.5V e 3+0.5= 3.5V.
– Uscita TTL 5V su ingresso MCU 3V
Un’interfaccia di tal genere è illustrata in figura 3. Un tipico livello di uscita di uno stadio bipolare TTL alimentato a 5 V offre un limite massimo di tensione strutturale pari a Vdd(max)-2Vbe, ovvero (5+0.5)V-2*0.6V= 4.3V, mentre il massimo livello di tensione in ingresso ad una MCU alimentata a 3 V è di Vdd+0.5V= 3.5V. Pertanto la differenza è di 0.8V e si può assorbire anche con una semplice resistenza, come si vede nell’esempio. L’unico svantaggio è che la resistenza va ad aumentare la costante di tempo introdotta dall’RC sempre presente sui pin d’ingresso delle MCU e, quindi, si genera un ritardo nella propagazione dei segnali. Ciò significa che, per un valore di capacità medio di 5-10 pF, al quale va aggiunta la capacità tipica della scheda PCB, è bene che la resistenza in questione non sia troppo elevata.