Ports de microcontrôleur à drain ouvert


9

Je veux comprendre le concept de ports à drain ouvert comme le port P0 du microcontrôleur 8051. Pourquoi devons-nous connecter des résistances de tirage au port P0?

J'ai une connaissance de base des MOSFET et d'autres appareils électroniques.


ok donc ce que je comprends, c'est qu'il fonctionne essentiellement comme n'importe quel autre port, mais nous devons fournir l'alimentation via une source externe. Ai-je raison ?
abkds

Réponses:


13

Ignorer les tenants et aboutissants du fonctionnement des mosfets. La sortie agit comme un interrupteur à la terre. Il ne peut pas produire seul un signal élevé (+ 5V). La résistance de rappel est utilisée de sorte que lorsque l'interrupteur est ouvert, la sortie sera élevée. Lorsque l'interrupteur est fermé, la sortie sera faible (0 V)

entrez la description de l'image ici


9

Il existe deux applications courantes de drain ouvert (ou open-collector, dans le cas des BJT):

1) Connexion de plusieurs sorties à la même ligne. C'est ce qu'on appelle un OU câblé. Par exemple, vous pouvez avoir une broche de réinitialisation normalement élevée sur un appareil, qui est réinitialisée à la fois à partir d'une broche de microcontrôleur et d'une autre source, par exemple un bouton-poussoir. La broche de réinitialisation est attachée haut avec une résistance de rappel. Le microcontrôleur est configuré comme une sortie à drain ouvert. Le bouton-poussoir est attaché au sol lorsqu'il est poussé. Si le microcontrôleur ramène sa sortie à 0 ou si le bouton-poussoir est enfoncé, l'appareil sera réinitialisé.

Notez que lorsque le microcontrôleur définit sa broche de sortie sur 1, la broche est en effet déconnectée de la ligne. Il ne conduit pas la ligne ("sourcing") avec aucune tension, donc quand le bouton-poussoir tire la ligne à la terre, il n'y a pas de court-circuit.

Parce que la configuration OU filaire est si utile, c'est pourquoi les broches telles que les réinitialisations sur un microcontrôleur, les lignes d'interruption, les lignes claires et activées sur des appareils tels que les bascules, sont toutes "actives basses" - ce qui signifie qu'elles sont normalement attachées haut (encore une fois , via une résistance de rappel), et l'un quelconque de plusieurs appareils configurés en drain ouvert peut les tirer vers le bas. Ces entrées sont généralement désignées comme actives-basses avec soit une barre en haut du nom du signal, soit un début! (! CLR) ou un signe # de fin (CLR #).

2) Dispositifs de contrôle connectés à différentes tensions d'alimentation. Disons que vous avez un relais qui nécessite 20 mA, mais une tension de 5 volts. Mais la sortie de votre microcontrôleur ne peut conduire que des broches jusqu'à sa tension d'alimentation (VCC) de 3,3 V. Avec une sortie à drain ouvert, vous pouvez connecter un côté du relais à 5 V et l'autre à la broche de sortie du microcontrôleur. Lorsque la sortie du microcontrôleur est à 1, rien ne se passe (encore une fois, agit comme si la broche était déconnectée). Lorsqu'il est réglé sur 0, cela met à la terre le côté inférieur du relais complétant le circuit et actionnant le relais. Dans une telle application, il est important de placer une diode "fly-back" à travers la bobine de relais pour éviter d'endommager le microcontrôleur lorsque l'appareil est hors tension.

Pour les pilotes de sortie comme l'ULN2803 (réseau de transistors Darlington), vous pouvez piloter des charges connectées à des tensions aussi élevées que 50 V et les contrôler avec une entrée compatible logique.


a microcontroller can often sink more current (drive to ground) than it can source (drive to the VCC of the microcontroller)Ce n'est plus vrai avec le microcontrôleur CMOS moderne
m.Alin

1
Votre deuxième cas d'utilisation s'applique rarement aux microcontrôleurs: dans la plupart des cas, leurs broches IO ne peuvent pas tolérer une tension en dehors de l'intervalle de puissance au sol (bien que certaines puces de tension inférieure prétendent être tolérantes à 5 V). Une exception était (est ??) la broche RA4 sur certains UC Microchip. Mais les puces de pilote de style 2003/2803 sont un excellent exemple de votre deuxième cas d'utilisation.
Wouter van Ooijen

Entre les MSP430, les AVR Atmel et les Pic 16/18, je n'ai pas encore vu de microcontrôleur moderne qui ne puisse pas absorber ou fournir la même quantité de courant.
Passerby

m.Alin, Wouter_van_Ooijen, Passerby - merci pour vos commentaires, j'ai modifié ma réponse.
tcrosley

2

Une sortie drain ouvert n'est qu'un interrupteur ouvert connecté à 0V. Pour y faire passer du courant, vous devez y injecter du courant et cela peut être fait avec une résistance de rappel. Si vous ne passez pas de courant dans la broche, vous ne pourrez pas voir de tension: -

entrez la description de l'image ici

Voici deux appareils partageant la même sortie à drain ouvert - notez la résistance de rappel à + 5V. En fait, ce circuit utilise "open-drain" pour exécuter la logique - si l'une des portes NAND est "activée" avec 1,1, elle ramènera le BUS à 0V. Ainsi, la logique délivrée au BUS est

INVERSE de BUS = AB + CD

Les MOSFET sont généralement utilisés comme dispositifs à drain ouvert, bien que les BJT ordinaires puissent également remplir cette fonction. Une sortie à drain ouvert est une simplification d'une sortie CMOS régulière - elle est rapide à mettre sous tension, mais elle sera plus lente sur le chemin du retour vers + Logic en raison des temps de charge des condensateurs parasites à travers la résistance de pull-up.

Open collector sur wiki est une bonne lecture - il fait la même chose que open drain et est mentionné dans l'article, tout comme le petit diagramme ci-dessus.


0

1) Pour simplifier le premier point de la réponse de tcrosley, l'avantage de ne pas fournir la résistance de pull-up à l'intérieur d'une sortie est la possibilité de partager cette résistance très pull-up entre plusieurs sorties. Les sorties sont ensuite câblées en parallèle et toutes connectées à la résistance partagée et à la masse.

2) Le point «en dessous» de la résistance (dans les schémas) est l'endroit où la sortie combinée est collectée par d'autres parties du circuit. (Bien sûr, tout aurait pu être l'inverse en ce qui concerne le sol et l'approvisionnement.)

3) Si vous ne souhaitez pas collecter la sortie combinée de nombreuses sorties (et que le circuit utilise la même alimentation en tension partout), vous ne voulez pas utiliser les sorties sans pièces de rappel. Sinon, vous obtenez (en quelque sorte) des sorties «incomplètes», que vous pouvez personnaliser selon vos besoins.


J'ai analysé votre mur de texte en paragraphes numérotés. Il est plus facile à comprendre lorsque vous lisez et commentez certaines parties ou déclarations que vous avez faites. Notez que les paragraphes commencent par un changement de contexte dans votre réponse.
Sparky256
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.