Pin UART a MCU non alimentato?


11

Sto usando un IC USB-UART con un MCU, che è alimentato da una batteria.

L'IC USB-UART è alimentato dal connettore USB, non dalla batteria, quindi non ho bisogno di aprire una console ogni volta che l'interruttore si spegne e si accende.

schematico

simula questo circuito - Schema creato usando CircuitLab

modifica: non l'ho disegnato sulla figura ma l'IC ha un regolatore interno da 3,3 V e ogni VDD è al livello di 3,3 V quando l'interruttore è acceso.

Ora sono preoccupato quando l'USB è collegato e l'interruttore è ancora spento.

Il documento MCU afferma che il valore massimo di ogni pin di ingresso è VDD + 0,3, che sarebbe 0,3 V quando l'MCU non è alimentato.

Se la coppia TX / RX sul lato USB-UART aumenta, distruggerà i pin sul lato MCU?

In tal caso, di cosa ho bisogno tra le coppie TX / RX?


@Toor Cosa significa "tbh"?
Elliot Alderson,

1
Probabilmente andrà bene. I cancelli dovrebbero essere in grado di tollerare comunque fino alla loro massima tensione operativa poiché devono essere in grado di farlo per funzionare all'estremità superiore del loro intervallo di tensione di alimentazione. Il Vdd + 0.3 è in riferimento ai diodi a pinza ESD nell'MCU, ma se l'MCU non è alimentato, quei diodi non hanno una guida a cui agganciarsi. Se una MCU con capacità a 5 V fosse spenta a 3 V e si applicasse 5 V a un I / O, quei diodi proverebbero a bloccarsi sulla guida a 3,3 V, ma ciò non significa che soffierebbe senza di loro a 5 V. È possibile utilizzare resistori in serie per limitare la corrente attraverso detti diodi.
DKNguyen,

3
@ElliotAlderson "tbh" è un internet-ism comune per "essere onesti".
Hearth

7
@Toor I diodi creeranno una power rail; vedi youtube.com/watch?v=2yFh7Vv0Paw .
CL.

5
Questo può davvero essere un problema - non solo il rischio teorico di danni ma ci sono parti che non eseguiranno una potenza pulita al ripristino se erano precedentemente "sorta" alimentate da I / O prima che fosse applicata la potenza reale. Se trovi che la scheda di alimentazione della scheda viene tirata su .5v - .6v quando "spenta" potresti trovarti in territorio problematico.
Chris Stratton,

Risposte:


14

Dipende dall'MCU, ma nella maggior parte dei casi accenderà l'MCU e possibilmente il resto della scheda attraverso l'MCU. L'MCU proverà a funzionare e farà cose strane. La tua tavola farà cose più strane. Se la tua scheda assorbe abbastanza corrente, danneggerà quel pin sull'MCU.

È necessario disporre che il segnale UART rimanga a 0 V quando l'MCU è spento. Se il chip UART (o UART) che si sta utilizzando non ha un pin di abilitazione (i chip UART USB con cui ho lavorato possono essere configurati esattamente nel caso che si sta descrivendo), allora E l'output UART con il VCC del microprocessore.


5

La soluzione potrebbe essere semplice come un NMOS tra il pin TX dell'USB-UART (drain) e il pin RX dell'MCU (sorgente), con il gate collegato all'MCU VDD.

Ciò significa che USB-UART sarà in grado di pilotare solo fino a 3,3 V meno la tensione di soglia del transistor. Dovrai verificare se questo è ancora sufficiente per soddisfare il V_IH del tuo MCU.

Sono scettico sulle soluzioni che coinvolgono un gate logico alimentato (indirettamente) da VBUS. Finché il gate logico porta l'ingresso MCU in alto, il VCC MCU potrebbe non scendere abbastanza lontano da spegnere il driver TX. Con la soluzione NMOS, il pin TX può essere guidato solo a una tensione inferiore rispetto a VCC, rendendo impossibile questo tipo di feedback.

A proposito, dovresti anche considerare la direzione opposta: se l'MCU è alimentato, ma USB-UART non lo è, ti consigliamo di assicurarti di non alimentare accidentalmente un po 'di USB-UART, svuotando il tuo batteria più veloce di quanto ti aspetti. Una soluzione solo software dovrebbe essere sufficiente per questo.


2

Ho una soluzione completamente diversa, che, tuttavia, dipende dal chip USB che usi.

Alcuni di essi hanno VBUS e VCCIO diversi. In questo caso, potresti essere in grado di alimentare la parte I / O di quel chip insieme all'uC.


1
Questa è una buona idea, ma assicurati di leggere attentamente la scheda tecnica del ricetrasmettitore USB. Alcuni circuiti integrati recupereranno altri guasti se non viene applicato un alimentatore. La sezione Valutazioni massime assolute vicino all'inizio del foglio dati dovrebbe coprire questo.
jherbold

1

La soluzione semplice è quella di mettere alcuni resistori tra i pin I / O. Ciò limiterà il flusso di corrente nei pin in modo che il ricetrasmettitore non possa alimentare l'UC. Il valore del resistore è un equilibrio tra la limitazione della larghezza di banda tra i chip e la limitazione della corrente.

Buffer logici alimentati da USB ma con uscite abilitate da uC. Ciò equivale all'abilitazione dell'uscita del ricetrasmettitore dell'altra risposta.

C'è un vantaggio a disattivare l'UC quando è collegato al computer? In caso contrario, è possibile alimentare l'UC dall'alimentazione USB a 5 V. I modi per farlo sono:

  1. Un interruttore SPDT che seleziona l'alimentazione USB quando la batteria è spenta. Sostituisce l'interruttore SPST nello schema elettrico.
  2. Un diodo, diodi, un circuito integrato diodo ideale o MOSFET controllati dall'UC per selezionare l'alimentazione USB quando disponibile. Ora devi considerare cosa succede quando l'interruttore della batteria è chiuso e l'USB è collegato. Il cambio incontrollato della batteria raramente è una buona cosa.

7
Potresti pensarlo - ma i resistori da soli non funzionano davvero . Anche un resistore di grandi serie sulla linea di ricezione UART non lo farà (sebbene possa prevenire danni). Il problema è che fino a quando non si superano alcune tensioni di soglia molto basse, nulla assorbe realmente corrente, e anche allora non molto senza un orologio. Quindi, anche con i resistori in serie, la barra di alimentazione della scheda può essere tirata fino al punto in cui le cose iniziano a avere uno stato inappropriato, a quel punto l'alimentazione al reset non è più affidabile.
Chris Stratton,

Concordato. Grazie per aver fornito maggiori dettagli alla mia risposta. Speravo di fornire una rapida soluzione prototipo e avrei dovuto dirlo. Non è una soluzione a prova di errore e funzionerà solo se la corrente di avvio uC è abbastanza alta da creare una caduta di tensione sufficiente sui resistori per mantenere la tensione a uC abbastanza bassa da non scurire.
jherbold

0

Hai considerato se un paio di buffer a tre stati sarebbe una buona soluzione? È possibile collegare il pin di abilitazione al proprio interruttore e quindi assicurarsi che la polarità da tx a rx sia corretta, il che offre effettivamente la protezione richiesta.

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.