Tolleranza 5V sull'ingresso di rilevamento VBUS


8

Sto progettando un dispositivo attorno allo STM32L476. Il mio dispositivo è principalmente alimentato a batteria, ma ha una porta USB che, una volta collegato, voglio utilizzare come fonte di alimentazione alternativa (tramite un regolatore da 3,3 V) per limitare il consumo della batteria. È anche possibile che l'utente colleghi la porta USB mentre non ci sono batterie.

Voglio essere in grado di rilevare quando la porta USB è collegata, quindi sto usando PA9 come OTF_FS_VBUS.

La buona notizia : il foglio dati afferma che il pin PA9 è tollerante a 5V.

La cattiva notizia : i pin tolleranti a 5 V sembrano effettivamente tolleranti a 5 V solo quando viene applicata l'alimentazione. La scheda tecnica §6.2 della tabella 18 dice:

Tensione di ingresso massima sui pin FT_xxx: min (VDD, VDDA, VDDIO2, VDDUSB, VLCD) + 4.0 V

Nel mio caso, se non ci sono batterie e l'utente collega la porta USB, c'è un tempo, prima dell'avvio del regolatore, durante il quale la tensione su PA9 sarà di 5 V mentre non viene applicata alcuna alimentazione sui pin di alimentazione della CPU.

Le notizie ancora più cattive : l'iniezione attuale non è consentita: la scheda tecnica §6.2, tabella 19, dice:

Corrente iniettata su FT_xxx: -5 / + 0 (vedi nota 4)

Nota 4: Un'iniezione positiva è indotta da VIN> VDDIOx mentre un'iniezione negativa è indotta da VIN <VSS. IINJ (PIN) non deve mai essere superato.

Quindi sembra che non riesca a usare un semplice resistore per limitare la corrente in eccesso su PA9 durante l'avvio del regolatore. È apparentemente vietata qualsiasi quantità di corrente che fluisca da VBUS a PA9 prima che VDD aumenti.

Che cosa hanno fatto gli altri?

Ho dato un'occhiata a numerosi design attorno ai chip STM32, guardando le loro connessioni VBUS, e non sembrano interessarsene. Collegano VBUS direttamente a PA9, o eventualmente tramite un resistore, ma non ho mai visto nulla di più complicato. Ma per lo più sono schede di sviluppo, quindi immagino che la robustezza (è una parola?) Non sia molto importante. E di solito non sono alimentati attraverso la porta USB, e certamente suppongono che l'utente non si colleghi alla porta USB prima di alimentare la scheda.

Qual è il mio piano?

Mettendolo tra VBUS sulla porta USB e il pin PA9 dell'MCU:

Protezione VBUS

Ho davvero cercato di renderlo semplice. Fondamentalmente, garantisce che VUSB_CPU (che è il pin PA9) non può mai essere al di sopra di VCPU + 4V (Vz + Vbe), senza consumare energia se è OK.

Le mie domande principali sono : ho ragione nella mia analisi? Questo circuito è una buona soluzione? Mi preoccupo di cose irrilevanti? Perché nessun altro sembra preoccuparsi di questo potenziale problema?

Domanda aggiuntiva : ho intenzione di utilizzare USB OTG. È un problema se esiste una resistenza da 4.7k tra il connettore e il pin PA9? Immagino che sarebbe se dovessi usare pulsazioni VBUS durante SRP, ma questo metodo è apparentemente deprecato. Quindi sto bene, qualunque sia il ruolo (dispositivo / host) del mio dispositivo?

Un'ultima : qual è la corrente massima assorbita dal pin di alimentazione VDDUSB? Il foglio dati specifica, per la periferica USB: 16,4µA / MHz per dominio di clock AHB + 23,2µA / MHz per dominio di clock indipendente, ma non sappiamo da dove viene estratto (VDD o VDDUSB).


Un'altra opzione di protezione PA9 sarebbe quella di mettere un interruttore mos tra USB + 5v e PA9, quindi guidare il gate dell'interruttore con l'uscita del regolatore.
Segna il

perché non usare un divisore di resistenza? 430k e 630k ti daranno 3.3v sul pin.
b degnan,

Ma un divisore di resistenza non risolverà il problema di iniezione. Il divisore inietterà 3,3 volt nel pin prima che la parte si sia accesa.
Segna il

Capisco dal foglio dati che il pin può resistere a 4 v, anche quando spento (è corretto?). Quindi un divisore di resistori sarebbe una buona soluzione, ma trarrebbe energia in modo permanente. Ho dimenticato di dire che ho un forte vincolo al riguardo.
fioco

Risposte:


4

Vai con il divisore di resistenza (430k / 620k) su Vbus - questo manterrà il microcontrollore nelle specifiche e l'assorbimento di corrente parassita non sarà un problema in quanto verrà fornito esclusivamente da Vbus, non dalla batteria (che è ciò che è Presumo che desideri conservare).


Stupido me ... stavo escludendo il divisore della resistenza a causa del consumo attuale, ma il mio ragionamento era ovviamente incompleto. In effetti, non è un problema attingere energia dal Vbus. Ora, perché nessuno lo fa nemmeno nelle loro bacheche? ST stesso (scheda scoperta), olimex, ...? Ancora non capisco questo punto.
fioco

0

Probabilmente il metodo più semplice, usa un resistore di valore elevato (10-100k) che alimenta un condensatore di grandi dimensioni (coppia di uF o più) in modo che ci voglia tempo per aumentare la tensione, non mi preoccuperei della frazione di volt che si accumula attraverso il condensatore mentre il regolatore si avvia, se il micro ha protezione esd, gli ingressi possono gestire 5-10 V per alcune decine di Stati Uniti


Questo suona alla grande ... ma solo fino a quando non pensi a cosa succede quando il potere viene rimosso. Il condensatore può effettivamente peggiorare le cose, oltre ad avere un resistore di grande valore: il resistore non può fornire molta corrente, ma il condensatore carico può farlo.
Chris Stratton,

potresti guidarlo attraverso un piccolo zener? Quella sezione del foglio dati diceva VDD + 4V giusto? Se avessi uno zener che fa cadere la guida a meno di VDD + 4V, sarebbe ok?
Sam,

Non visualizzo bene il tuo suggerimento zener senza schema. Ma se la soluzione ha la stessa complessità della mia (3 componenti discreti economici), non otterrò molto.
fioco

Fondamentalmente: Input-> zener-> PA9, zener in serie con l'ingresso rispetto a un resistore in serie, zener fa cadere un volt o due quindi la tensione su PA9 è sempre un po 'più bassa. Se le schede di sviluppo le collegano semplicemente, allora probabilmente va bene, penso che gli avvertimenti potrebbero applicarsi dopo l'accensione dell'MCU, vedere se c'è una sezione sul sequenziamento di potenza o sul comportamento all'avvio.
Sam,

1
@Tom è il mio problema principale in realtà. Ho controllato, non fanno nulla. PA9 è collegato direttamente a VBUS sulla porta USB (nemmeno attraverso un resistore), sulla loro scheda demo Discovery. Quindi, a meno che non mi sia perso qualcosa, questo è in completa contraddizione con il foglio dati. Il mio problema non è proprio il circuito di protezione in sé. Penso che la mia soluzione, anche se può sicuramente essere migliorata, può fare il lavoro. Ad essere onesti, il mio problema principale è solo: tutto ciò è davvero necessario?
dim
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.