Porte microcontoller a drenaggio aperto


9

Voglio capire il concetto di porte open-drain come la porta P0 del microcontrollore 8051. Perché è necessario collegare resistori pull-up alla porta P0?

Ho una conoscenza di base dei MOSFET e di altri dispositivi elettronici.


ok, quindi quello che capisco è che funziona fondamentalmente come qualsiasi altra porta, ma dobbiamo fornire l'alimentazione attraverso una fonte esterna. Ho ragione ?
abkds

Risposte:


13

Ignorando i dettagli di come funzionano i mosfet. L'uscita si comporta come un interruttore a terra. Non può produrre un segnale alto (+ 5V) da solo. La resistenza pull up viene utilizzata in modo che quando l'interruttore è aperto l'uscita sarà alta. Quando l'interruttore è chiuso l'uscita sarà bassa (0 V)

inserisci qui la descrizione dell'immagine


9

Esistono due applicazioni comuni di open-drain (o open-collector, nel caso dei BJT):

1) Collegamento di più di un'uscita alla stessa linea. Questo è chiamato OR cablato. Ad esempio, potresti avere un pin di ripristino normalmente alto su un dispositivo, che viene ripristinato sia da un pin del microcontrollore che da un'altra fonte, ad esempio un pulsante. Il perno di ripristino è legato in alto con una resistenza di pull-up. Il microcontrollore è configurato come uscita open-drain. Il pulsante è legato a terra quando viene premuto. Se il microcontrollore porta la sua uscita su 0 o viene premuto il pulsante, il dispositivo verrà ripristinato.

Si noti che quando il microcontrollore imposta il suo pin di uscita su 1, il pin viene effettivamente disconnesso dalla linea. Non sta guidando la linea ("sourcing") con alcuna tensione, quindi quando il pulsante tira la linea a terra, non c'è corto.

Poiché la configurazione OR cablata è così utile, questo è il motivo per cui i pin come i reset su un microcontrollore, le linee di interruzione, la cancellazione e l'abilitazione delle linee su dispositivi come i flip-flop, sono tutti "attivi bassi" - il che significa che sono normalmente legati in alto (di nuovo , tramite un resistore di pull-up) e uno qualsiasi dei vari dispositivi configurati come open-drain potrebbe abbassarli. Tali ingressi sono generalmente designati come attivi-bassi con una barra nella parte superiore del nome del segnale o un vantaggio! (! CLR) o un segno # finale (CLR #).

2) Dispositivi di controllo collegati a diverse tensioni di alimentazione. Supponi di avere un relè che richiede 20 mA, ma una tensione di 5 volt. Ma l'uscita del tuo microcontrollore può solo guidare pin fino alla sua tensione di alimentazione (VCC) di 3,3 v. Con un'uscita open-drain, è possibile collegare un lato del relè a 5 V e l'altro al pin di uscita del microcontrollore. Quando l'uscita del microcontrollore in è 1, non succede nulla (di nuovo, si comporta come se il pin fosse disconnesso). Quando è impostato su 0, questo mette a terra la parte inferiore del relè che completa il circuito e fa funzionare il relè. In tale applicazione, è importante posizionare un diodo "fly-back" attraverso la bobina del relè per evitare danni al microcontrollore quando il dispositivo è diseccitato.

Per i driver di uscita come ULN2803 (array di transistor Darlington), è possibile pilotare carichi collegati a tensioni fino a 50 V e controllarli con un ingresso logico compatibile.


a microcontroller can often sink more current (drive to ground) than it can source (drive to the VCC of the microcontroller)Questo non è più vero con il moderno microcontrollore CMOS
m

1
Il tuo secondo caso d'uso si applica raramente ai microcontrollori: nella maggior parte dei casi i loro pin IO non possono tollerare la tensione al di fuori dell'intervallo di potenza di terra (anche se alcuni chip a bassa tensione dichiarano di essere tolleranti a 5V). Un'eccezione è stata (è ??) il pin RA4 su alcuni uc di Microchip. Ma i chip driver stile 2003/2803 sono un eccellente esempio del tuo secondo caso d'uso.
Wouter van Ooijen,

Tra MSP430, Atmel AVR e Pic 16/18, devo ancora vedere un moderno microcontrollore che non può sprofondare o generare la stessa quantità di corrente.
Passerby

m.Alin, Wouter_van_Ooijen, Passerby - grazie per i tuoi commenti, ho modificato la mia risposta.
Tcrosley,

2

Un'uscita di drain aperta è solo un interruttore aperto collegato a 0V. Per far passare la corrente attraverso di essa è necessario alimentare la corrente e questo può essere fatto con un resistore pull-up. Se non si passa corrente nel pin non sarà possibile vedere una tensione: -

inserisci qui la descrizione dell'immagine

Qui ci sono due dispositivi che condividono la stessa uscita open-drain: notate la resistenza di pull-up a + 5V. In effetti questo circuito usa "open-drain" per eseguire la logica - se una delle porte NAND è "attivata" con 1,1, abbassa il BUS a 0V. Quindi la logica fornita al BUS è

INVERSA di BUS = AB + CD

I MOSFET vengono generalmente utilizzati come dispositivi di drenaggio aperto, sebbene anche i BJT normali possano svolgere questa funzione. Un'uscita open-drain è una semplificazione di un'uscita CMOS normale: è rapida da accendere a terra ma sarà più lenta nel viaggio di ritorno a + Logic a causa dei tempi di carica dei condensatori parassiti attraverso la resistenza di pull-up.

Open collector su wiki è una buona lettura: fa lo stesso di open drain ed è menzionato nell'articolo come lo è il piccolo diagramma mostrato sopra.


0

1) Per semplificare il primo punto nella risposta di tcrosley, il vantaggio di non fornire la resistenza di pull-up all'interno di un'uscita è nella capacità di condividere quella resistenza di pull-up tra molte uscite. Le uscite vengono quindi cablate in parallelo e tutte collegate alla resistenza condivisa e alla terra.

2) Il punto “sotto” la resistenza (negli schemi) è il luogo in cui l'uscita combinata viene raccolta da altre parti del circuito. (Certo, avrebbe potuto essere tutto il contrario rispetto al suolo e alla fornitura.)

3) Se non si desidera raccogliere l'uscita combinata da molte uscite (e il circuito utilizza la stessa alimentazione di tensione ovunque), non si desidera utilizzare le uscite senza parti pull-up. Altrimenti, vengono forniti output "incompleti" (in un certo senso), che è possibile personalizzare in base alle proprie esigenze.


Ho analizzato il tuo muro di testo in paragrafi numerati. Semplifica la comprensione durante la lettura e il commento di alcune parti o dichiarazioni fatte. Si noti che i paragrafi iniziano con un cambiamento di contesto nella risposta.
Sparky256,
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.