Portas de microcontolador de dreno aberto

9

Quero entender o conceito de portas de dreno aberto como a porta P0 do microcontrolador 8051. Por que precisamos conectar resistores pull up à porta P0?

Eu tenho conhecimento básico de MOSFETs e outros dispositivos eletrônicos.

abkds
fonte
ok então o que eu entendo é que basicamente funciona como qualquer outra porta, mas temos que fornecer à fonte de alimentação através de alguma fonte externa. Estou certo ?
abkds

Respostas:

13

Ignorando os meandros de como os mosfets funcionam. A saída atua como um interruptor para o terra. Não pode produzir um sinal alto (+ 5V) por si só. O resistor pull up é usado para que, quando o interruptor estiver aberto, a saída seja alta. Quando o interruptor está fechado, a saída será baixa (0V)

insira a descrição da imagem aqui

JIm Dearden
fonte
9

Existem duas aplicações comuns de dreno aberto (ou coletor aberto, no caso de BJTs):

1) Conectando mais de uma saída à mesma linha. Isso é chamado de OR com fio. Por exemplo, você pode ter um pino de redefinição normalmente alto em um dispositivo, que é redefinido a partir de um pino do microcontrolador e de outra fonte, digamos um botão. O pino de reset está amarrado alto com um resistor de pull-up. O microcontrolador está configurado como uma saída de dreno aberto. O botão está preso ao chão quando pressionado. Se o microcontrolador puxar sua saída para 0 ou o botão for pressionado, o dispositivo será redefinido.

Observe que quando o microcontrolador define seu pino de saída como 1, o pino é desconectado da linha. Ele não está direcionando a linha ("fonte") com nenhuma voltagem; portanto, quando o botão puxa a linha para o chão, não há curto.

Como a configuração de OU com fio é tão útil, é por isso que pinos como redefinições em um microcontrolador, interromper linhas, limpar e habilitar linhas em dispositivos como flip-flops são todos "ativos em baixa" - o que significa que normalmente estão atados (novamente , por meio de um resistor de pull-up) e qualquer um dos vários dispositivos configurados como dreno aberto pode reduzi-los. Tais entradas são geralmente designadas como baixa ativa com uma barra na parte superior do nome do sinal ou uma guia! (! CLR) ou um sinal # à direita (CLR #).

2) Dispositivos de controle conectados a diferentes tensões de alimentação. Digamos que você tenha um relé que exija 20 mA, mas uma voltagem de 5 volts. Mas a saída do seu microcontrolador só pode acionar os pinos até a tensão da fonte de alimentação (VCC) de 3,3v. Com uma saída de dreno aberto, você pode conectar um lado do relé a 5 V e o outro ao pino de saída do microcontrolador. Quando a saída do microcontrolador é 1, nada acontece (novamente, age como se o pino estivesse desconectado). Quando definido como 0, isso aterra o lado inferior do relé, completando o circuito e operando o relé. Em uma aplicação como essa, é importante colocar um diodo de retorno através da bobina do relé para evitar danos ao microcontrolador quando o dispositivo é desenergizado.

Para drivers de saída como o ULN2803 (matriz de transistores Darlington), você pode conduzir cargas conectadas a tensões de até 50 v e controlá-las com uma entrada compatível com lógica.

tcrosley
fonte
a microcontroller can often sink more current (drive to ground) than it can source (drive to the VCC of the microcontroller)Isso não é mais verdade com o microcontrolador CMOS moderna
m.Alin
11
Seu segundo caso de uso raramente se aplica aos microcontroladores: na maioria dos casos, seus pinos de E / S não toleram tensão fora do intervalo de potência do solo (embora alguns chips de baixa voltagem alegem ser 5V tolerantes). Uma exceção foi (é ??) o pino RA4 em alguns microchip uc's. Mas os chips de driver no estilo 2003/2803 são um excelente exemplo do seu segundo caso de uso.
Wouter van Ooijen
Entre os MSP430, os Atmel AVRs e os Pic 16 / 18s, ainda não vi um microcontrolador moderno que não consiga afundar ou obter a mesma quantidade de corrente.
Transeunte
m.Alin, Wouter_van_Ooijen, Passerby - obrigado por seus comentários, eu editei minha resposta.
usar o seguinte comando
2

Uma saída de dreno aberto é apenas um interruptor aberto conectado a 0V. Para passar a corrente através dela, é necessário alimentá-la e isso pode ser feito com um resistor de pull-up. Se você não passar corrente no pino, não poderá ver a tensão: -

insira a descrição da imagem aqui

Aqui estão dois dispositivos que compartilham a mesma saída de dreno aberto - observe o resistor de pull-up em + 5V. De fato, este circuito usa "dreno aberto" para executar a lógica - se um dos gate NAND for "ativado" com 1,1, eles puxarão o BUS para 0V. Assim, a lógica entregue ao BUS é

INVERSO de BUS = AB + CD

Os MOSFETs geralmente são usados ​​como dispositivos de drenagem aberta, embora os BJTs regulares também possam executar esta função. Uma saída de dreno aberto é uma simplificação de uma saída CMOS regular - é rápida ao ligar ao solo, mas será mais lenta na jornada de retorno à + Logic devido aos tempos de carga dos capacitores parasitas através do resistor de pull-up.

O coletor aberto no wiki é uma boa leitura - ele faz o mesmo que o dreno aberto e é mencionado no artigo como é o pequeno diagrama mostrado acima.

Andy aka
fonte
0

1) Para simplificar o primeiro ponto da resposta de tcrosley, a vantagem de não fornecer o resistor de pull-up dentro de uma saída é a capacidade de compartilhar esse resistor de pull-up entre muitas saídas. As saídas são então conectadas em paralelo e todas conectadas ao resistor compartilhado e ao terra.

2) O ponto “abaixo” do resistor (nos esquemas) é o local onde a saída combinada é coletada por outras partes do circuito. (Obviamente, tudo poderia ter sido o contrário em relação ao solo e ao suprimento.)

3) Se você não deseja coletar a saída combinada de muitas saídas (e o circuito usa a mesma fonte de voltagem em todos os lugares), não deseja usar as saídas sem peças puxadas. Caso contrário, você recebe saídas "incompletas" (de certa forma), que você pode personalizar de acordo com suas necessidades.

abracadabra
fonte
Analisei sua parede de texto em parágrafos numerados. Isso facilita a compreensão ao ler e comentar certas partes ou declarações que você fez. Observe que os parágrafos começam com uma mudança de contexto em sua resposta.
Sparky256