Meu deslocador de nível bidirecional baseado em MOSFET é insano?


25

Em um momento de baixo custo, decidi não pedir um shifter de nível de 5v a 3,3v da Sparkfun, mas sim montá-lo. O esquema original usava um MOSFET BSS138 , mas como gosto de soldar em superfície tanto quanto o tratamento de canal, decidi usar um MOSFET aparentemente semelhante montado através do orifício e facilmente disponível no meu fornecedor preferido.

Os resultados disso foram abaixo do ideal. Ao puxar a linha de 5v para o chão, tudo estava bem - o lado de 3,3v foi para 0,07v. Mas ao puxar o 3.3v para o chão, a linha de 5v mostrou cerca de 4.14v (caso contrário, era um toque acima de 5.1v). Em uma leitura mais detalhada das folhas de dados envolvidas, bem como da nota de aplicação original da Philips sobre o assunto, comecei a concluir que a tensão do limiar do portão era o problema.

Alterando o esquema e amarrando o portão do MOSFET a 5v em vez de 3,3v, ambos os lados parecem funcionar bem. Puxar um dos lados para baixo faz com que o outro lado fique baixo. No entanto, não estou absolutamente confiante de que isso seja realmente uma coisa sensata a se fazer. Minha compreensão do esquema original não é profunda o suficiente para formar uma opinião sensata.

Esse esquema esquemático modificado funcionará ou são os bons resultados atuais que estou vendo por mero acaso ou precursor de algo que libera fumaça mágica?

Respostas:


45

Resposta curta

  • Neste circuito, Vth (o portão para a fonte de tensão na qual o MOSFET acabou de ser ligado) é crucial. Vth deve ser substancialmente menor que Vh-Vl = 5V - 3,3V = 1,7V.

    O BSS138 tem um Vth de 0,8 / 1,3 / 1,5 min / típico / máx.
    Portanto, embora nocionalmente seja "bom o suficiente" aqui como 1,7> 1,5, essa margem é desconfortavelmente pequena.

    Infelizmente, a alternativa que você escolheu é ainda pior que a BSS138.
    O FQN1N60C possui um Vth de 2 / - / 4 V. Ou seja, no seu melhor caso, Vth de 2V é superior ao 1,7V necessário e pode ter um Vth de até 4V, o que é muito mais que 1,7V nesta aplicação. .

    Um MOSFET TO92 aceitável (apenas) em estoque na Digikey é o Zetex / Diodes Inc ZVNL110a .
    Isso tem Vth de 0,75 / - / 1,5 Volts. É o mesmo que o BSS138.


Mais longo:

  • O BSS138 é, relativamente, um pedaço de lixo. Ele tem seu lugar, mas está além das suas capacidades seguras neste circuito. Infelizmente, a alternativa que você escolheu, uma FQN1N60C, é ainda pior.

  • Seu aumento de tensão LV para uma tensão equivalente a HV supera o alto valor de Vth do FQN1N60C.

A razão pela qual seu circuito original funciona mal é porque o FQN1N60C é uma amostra muito triste da arte MOSFET, e a razão pela qual seu circuito revisado funciona bem também é porque o FQN1N60C é uma amostra muito triste da arte MOSFET. Um baixo V-MOSFET funcionaria corretamente no circuito original e falharia no revisado.

Isso ocorre porque no circuito original o FQN1N60C Vth é muito alto para o Vth disponível e não está ligando corretamente. Um MOSFET com Vth baixo o suficiente ligaria corretamente com a tensão disponível. No circuito revisado, você forneceu ao FQN1N60C tensão de portão suficiente no estado operado, mas não tanto que ele será operado sem intenção. Se você usasse um MOSFET baixo V, ele seria ativado pela tensão de destino disponível quando deveria estar desligada e o circuito falharia.

O circuito é extremamente inteligente, mas a inteligência depende do MOSFET ter tensão de porta suficiente para acioná-lo quando TX_LV estiver baixo, mas não tensão suficiente para acioná-lo quando TC_LV estiver alto. Normalmente, LV = T_LV quando TX_LV está alto, portanto, o MOSFET não vê tensão na porta. Ao aumentar LV para HV, você fornece uma tensão de porta de (HV-LV) quando TX_LV está alto. Como HV-LV = 5-3.3 = 1.7V, o FQN1N60C não dispara falso, pois é prático que Vth seja> 1.7V.

Abaixo está o diagrama de circuito do deslocador de nível original.

O BSS138 é um MOSFET de canal N - por isso ele conduz quando seu portão é positivo em relação à fonte, é comum que o dreno seja mais alto do que a fonte e o diodo interno do corpo bloqueia quando Vds é + ve e conduz quando Vds é negativo .

insira a descrição da imagem aqui

Operação normal
Com TXLV e TXHV alto, o portão está em LV (originalmente 3V3, a fonte está em TX_LV = 3.3, então Vgs = 0, então o FET está desativado. A
fonte está em TX_LV puxada por R3.

Envie a lógica 0 da esquerda para a direita.
Puxe TX_LV para baixo. Fonte = 0V, porta = 3V3. Então Vgs = 3V3. Como está> o V BSS138 está ativado. Como a fonte = 0V e o FET está ativado, o TX_HV também será puxado para baixo. Essa foi fácil :-).

Envie a lógica 0 da direita para a esquerda.
Puxe TX_HV para baixo. Dreno = 0. A porta é 3V3 via conexão rígida.
Fonte = 3V3 (mas veja abaixo) Portanto: Vgs = 0. FET está desativado. Vds = - 3V3.
MAS o BSS138 possui um diodo interno S a D. Este diodo agora será conduzido, puxando TX_LV para uma queda de diodo acima de TX_HV.
Também é fácil.

Agora substitua o BSS138 pelo FQN1N60C.
O Vth do MOSFET é> a >> Margem de 1,7V entre 5V e 3V3.
Agora, ao enviar a lógica 0 ESQUERDA PARA A DIREITA, a fonte de aterramento fornece Vgs = 3V3 = <4V no pior caso. Se o verdadeiro Vth estiver em torno de 1,7V, o circuito funcionará.

Aumentar LV para 5V funciona como agora Vgs = 5V.
MAS, quando TX_LV estiver alto, ainda haverá uma unidade de 5-3,3 = 1,7V no MOSFET, mesmo que deva ser 0V, e era anterior.

Se você agora substituir o MOSFET com um Vth <1,7V, ele sempre será ativado. isto é, um MOSFET de melhor qualidade funciona pior (ou não funciona). A "cura" é usar um MOSFET inicialmente com Vth <a << 1.7V.


Essa é a segunda resposta super incrível que você me deu nos últimos dias. Muito obrigado pela sua ajuda!
Jon brilhante

@Russel - Estranho que você não mencionou a classificação "nível lógico" de FETs em qualquer lugar esta resposta ...
Kevin Vermeer

11
@ Kevin Vermeer - eu considerei isso por um momento escasso. Se eu o tivesse usado, teria sido dizer que é um termo muito subjetivo - não muito do jargão de marketing, mas mais próximo do que é confortável. E neste caso, existem dois "níveis lógicos" envolvidos. O BSS138 é reivindicado como "nível lógico" e é suportável em 5V e super marginalmente em 3V para correntes próximas ao seu máximo nominal. O motivo pelo qual isso funciona nesse aplicativo é que Vth geralmente é típico e não é o pior caso, e porque as correntes são pequenas. Em vez disso, fui específico sobre o que Vth era esperado e aceitável.
Russell McMahon

3
Eu não acho que vh-vl> vth seja importante. Eu acho que só importa é Vl> Vth (note que este é também conclusão de sua análise se eu estou lendo corretamente)
mazurnification

4
Eu geralmente me esforço para evitar sucumbir à tentação de chamar as pessoas de "idiotas" on-line (ou em outros lugares), mesmo que o termo tenha um bom significado formal * e seja apropriado em algumas ocasiões. De alguma forma, 2 pontos foram retirados desta resposta esta semana e ela possui 1 voto negativo. A perda de "representante" é obviamente absolutamente sem importância, mas é triste pensar que exista um idiota nessa lista que realmente acha que essa resposta "não é útil", considerando todas as informações disponíveis. Uma pergunta pode ter ajudado mais quem duvida. | * Idiota = QI 50-75. É apropriado na área de discussão, se não em todas as áreas da vida em alguns casos, como este.
Russell McMahon
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.