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 .
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.