Aumenta da 3,3 V a 5 V per I / O digitale


35

Normalmente uso un Arduino per i miei progetti perché ha ingressi e uscite a 5 V e ha Vin a 5 V in modo da semplificare la vita quando si interfaccia con componenti a 5 V. Per questo progetto voglio usare un Raspberry Pi perché voglio collegarlo a un display. Il Pi è alimentato da 5V, quindi è abbastanza facile. Ha comunque 3.3VI / O pin e i dispositivi con cui voglio interfacciare sono 5V.

Ho un dispositivo con un pin di ingresso 5V, che deve essere guidato a 5V. Il dispositivo ha un pin di uscita a 5 V, che il dispositivo guida a 5 V quando emette.

In precedenza ho convertito in modo bidirezionale tra dispositivi da 5 V e 3,3 V, ma con un cambio a livello logico attivo BASSO. Il circuito è quello tipico con un transistor e un diodo e due resistori pull-up. Questa applicazione richiede ALTO attivo. Per fortuna questo progetto non richiede I / O bidirezionali.

Per la direzione da 5 V a 3,3 V, funzionerà un partitore di tensione grezza.

Per la direzione da 3,3 V a 5 V, tuttavia, non conosco una soluzione semplice. Ho fatto qualche ricerca e sembra che ci siano convertitori boost (convertitori boost DC-DC) ma per costruirli da componenti discreti ho bisogno di costruire un circuito PWM per guidare la commutazione.

Mi stavo solo chiedendo se ci fosse un modo più semplice per raggiungere questo obiettivo, con una complessità paragonabile al cambio di livello logico attivo basso.


Dai un'occhiata a diversi metodi per l'interfacciare. savagecircuits.com/…
AKR


Quanta corrente deve fornire l'uscita a 5 V? Sta alimentando un input a livello logico?
Dwayne Reid,

Risposte:


31

Da quando Dave Tweed ha evidenziato il difetto nell'altra risposta, ho praticamente copiato la mia risposta al cambio a livello di singolo transistor di livello ... Nota anche l'interessante soluzione di Nicolas D nella domanda.

Ho alcune soluzioni (alcune soluzioni fornite da Microchip QUI ):

1) Connessione diretta: se Voh (tensione di uscita di alto livello) dalla logica di 3,3 V è maggiore di Vih (tensione di ingresso di alto livello), è sufficiente una connessione diretta. (è inoltre necessario per questa soluzione che Vol (tensione di uscita di basso livello) dell'uscita 3.3V sia inferiore alla Vil (tensione di ingresso di basso livello) dell'ingresso 5V). Questa soluzione viene spesso respinta a causa di margini insufficienti.

2) Se le condizioni di cui sopra sono vicine, è spesso possibile aumentare leggermente la tensione di uscita di alto livello con una resistenza di pull-up (a 3,3 V) e collegare direttamente i segnali.

3) La resistenza di pull-up può fornire una piccola quantità di aumento della tensione di alto livello. Per di più, è possibile utilizzare diodi e pull-up fino a 5 V. Il circuito mostrato non salirà fino a 5 V, ma aumenterà la tensione di ingresso di alto livello alla logica 5 V della quantità di una caduta di tensione del diodo (circa 0,7 V). Bisogna fare attenzione con questo metodo che si ha ancora un basso livello valido poiché anche questo è aumentato di una caduta di diodi. I diodi Schottky possono essere utilizzati per un leggero aumento della tensione di alto livello, riducendo al minimo l'aumento indesiderato della tensione di basso livello. Fare riferimento alla nota dell'app sopra menzionata per ulteriori informazioni su questo circuito .:

schematico

simula questo circuito - Schema creato usando CircuitLab

4) Se è possibile gestire un'inversione logica (e non richiede pull-up attivo), è possibile utilizzare un mosfet e una resistenza pull-up:

schematico

simula questo circuito

5) Ci sono anche molte soluzioni ic logiche come: MC74VHC1GT125 che è un "Noninverting Buffer / CMOS Logic Level Shifter con LSTTL − Compatible Inputs" in un pacchetto SOT23-5 o SOT-353. Piccolo semplice e abbastanza economico. L'uso di questa soluzione dovrebbe includere anche un condensatore di disaccoppiamento vicino all'IC.


Penso che alcuni dei tuoi diagrammi siano etichettati al contrario. Ho un'uscita logica 3.3V e un ingresso logico 5v. Capisco come funziona il n. 4 e posso confermare che l'etichetta è appena all'indietro (ma è il circuito corretto per ciò di cui ho bisogno). Non capisco abbastanza bene n. 3 da sapere se è etichettato all'indietro o è effettivamente all'indietro. Detto questo, se uso due istanze di # 4 per mantenere la logica non invertita, dovrei andare bene.
Huckle,

Le etichette non sono all'indietro. "3.3V logic in" indica che è un input nel circuito che ho fornito ... ovviamente proviene da un'uscita dal tuo circuito. "5V logic out" indica semplicemente che si tratta di un'uscita dal mio circuito all'ingresso logico a 5V. Modificherò per chiarire.
Tut

Ha senso ora che tu lo spieghi, ma è all'indietro dal punto di vista convenzionale (dove punto di vista convenzionale intende dire punto di vista di qualcuno che si interfaccia con circuiti integrati digitali). Grazie ancora.
Huckle,

2
@Huckle: Tut ha fornito un circuito o un modulo da utilizzare per interfacciare altri due circuiti. Lo standard è di etichettare i terminali o i punti di interfaccia dal punto di vista dello spettacolo del circuito, non quelli che non si possono vedere. Colleghi le tue uscite agli ingressi di questo circuito. A volte dobbiamo indicare dove collegarci su un altro circuito ma usare le frecce in quei casi, quindi è chiaro.
Transistor

@Ti dispiace spiegare un po 'di più su come funziona il n. 3? Non riesco a capirlo. Non sono sicuro di cosa sia 3.3V-D1 per :( Grazie
wbkang
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.