Mon décalage de niveau bidirectionnel basé sur MOSFET est-il fou?

25

Dans un moment de bon marché, j'ai décidé de ne pas commander un sélecteur de niveau 5v à 3,3v chez Sparkfun, mais plutôt de le monter moi-même. Le schéma d'origine utilisait un MOSFET BSS138 , mais comme j'apprécie tout autant le soudage en surface que le traitement canalaire, j'ai décidé d'utiliser un MOSFET d'apparence similaire qui est monté dans le trou et facilement disponible auprès de mon fournisseur préféré.

Les résultats ont été sous-optimaux. En tirant la ligne 5v au sol, tout allait bien - le côté 3,3v est passé à 0,07v. Mais en tirant le 3,3v au sol, la ligne 5v a montré environ 4,14v (c'était sinon une touche au-dessus de 5,1v). En lisant de plus près les fiches techniques impliquées, ainsi que la note d'application originale de Philips sur le sujet, j'ai commencé à conclure que la tension de seuil de la porte était le problème.

En modifiant le schéma et en liant la porte du MOSFET à 5v au lieu de 3,3v, les deux côtés semblent bien fonctionner. Tirer l'un des côtés vers le bas fait descendre l'autre côté. Cependant, je ne suis pas du tout convaincu que c'est en fait une chose sensée à faire. Ma compréhension du schéma original n'est pas assez profonde pour former une opinion sensée.

Est-ce que ce schéma modifié fonctionnera, ou est-ce que les bons résultats actuels sont un simple coup de chance ou un précurseur de quelque chose qui libère de la fumée magique?

Jon Bright
la source

Réponses:

46

Réponse courte

  • Dans ce circuit, Vth (la tension grille-source à laquelle le MOSFET vient d'être activé) est crucial. Vth doit être sensiblement inférieur à Vh-Vl = 5V - 3,3V = 1,7V.

    Le BSS138 a un Vth de 0,8 / 1,3 / 1,5 min / typique / max.
    Ainsi, alors que théoriquement ce serait "assez bon" ici comme 1,7> 1,5, cette marge est inconfortablement petite.

    Malheureusement, l'alternative que vous avez choisie est encore pire que le BSS138.
    Le FQN1N60C a un Vth de 2 / - / 4 V. c'est-à-dire que dans son meilleur cas, Vth de 2V, il est supérieur au 1,7V requis et il peut avoir un Vth allant jusqu'à 4V, ce qui est largement supérieur à 1,7V dans cette application. .

    Un MOSFET TO92 acceptable (juste) en stock chez Digikey est le Zetex / Diodes Inc ZVNL110a .
    Cela a Vth de 0,75 / - / 1,5 Volts. C'est à peu près la même chose que le BSS138.


Plus long:

  • Le BSS138 est un gros morceau de ferraille. Il a sa place mais il s'étend au-delà de ses capacités de sécurité dans ce circuit. Malheureusement, l'alternative que vous avez choisie, un FQN1N60C, est encore pire.

  • Votre élévation de la tension LV à une tension équivalente à HV dépasse la valeur Vth élevée du FQN1N60C.

La raison pour laquelle votre circuit d'origine fonctionne mal est que le FQN1N60C est un spécimen très regrettable de l'art MOSFET, et la raison pour laquelle votre circuit révisé fonctionne bien est également parce que le FQN1N60C est un spécimen très désolé de l'art MOSFET. Un MOSFET Vth bas fonctionnerait correctement dans le circuit d'origine et échouerait dans le circuit révisé.

En effet, dans le circuit d'origine, le VQ FQN1N60C est trop élevé pour le Vth disponible et ne s'allume pas correctement. Un MOSFET avec un Vth suffisamment bas s'activerait correctement avec la tension disponible. Dans le circuit révisé, vous avez fourni au FQN1N60C une tension de grille suffisante à l'état de fonctionnement, mais pas tellement qu'il sera utilisé involontairement. Si vous utilisiez un MOSFET Vth bas, il serait activé par la tension de devenir disponible quand il était censé être éteint et le circuit échouerait.

Le circuit est extrêmement intelligent MAIS son intelligence dépend du MOSFET ayant suffisamment de tension de grille pour le piloter lorsque TX_LV est faible mais pas assez de tension pour le piloter lorsque TC_LV est élevé. Habituellement LV = T_LV lorsque TX_LV est élevé, donc le MOSFET ne voit aucune tension de grille. En augmentant LV à HV, vous fournissez une tension de grille de (HV-LV) lorsque TX_LV est élevé. Comme HV-LV = 5-3,3 = 1,7V, le FQN1N60C ne déclenche pas faux car il est pratique que Vth soit> 1,7V.

Vous trouverez ci-dessous le schéma du circuit de décalage de niveau d'origine.

Le BSS138 est un MOSFET à canal N - il conduit donc lorsque sa grille est positive par rapport à la source, il est habituel que son drain soit plus élevé que sa source, et la diode du corps interne se bloque lorsque Vds est + ve et conduit lorsque Vds est négatif .

entrez la description de l'image ici


Fonctionnement normal Avec TXLV et TXHV élevé, la porte est à LV (à l'origine 3V3, la source est à TX_LV = 3,3 donc Vgs = 0 donc FET est désactivé. La
source est à TX_LV tirée là par R3.

Envoyer la logique 0 de gauche à droite.
Tirez TX_LV vers le bas. Source = 0V, porte = 3V3. Donc Vgs = 3V3. Comme c'est> Vth BSS138 est allumé. Comme source = 0V et FET est activé, TX_HV sera également tiré vers le bas. C'était facile :-).

Envoyer la logique 0 de droite à gauche.
Tirez TX_HV vers le bas. Drain = 0. La porte est 3V3 via une connexion dure.
Source = 3V3 (mais voir ci-dessous) Donc: Vgs = 0. FET est désactivé. Vds = - 3V3.
MAIS le BSS138 a une diode interne S à D. Cette diode va maintenant conduire, tirant TX_LV vers le bas jusqu'à une chute de diode au-dessus de TX_HV.
Aussi facile.

Remplacez MAINTENANT BSS138 par FQN1N60C.
Le Vth du MOSFET est> à >> 1,7V de marge entre 5V et 3V3.
Maintenant, en envoyant la logique 0 de gauche à droite, la source de mise à la terre donne Vgs = 3V3 = <4V dans le pire des cas. Si le vrai Vth se situe aux alentours de 1,7 V, le circuit fonctionnera en quelque sorte.

Augmenter LV à 5V fonctionne comme maintenant Vgs = 5V.
MAIS lorsque TX_LV est élevé, il y a toujours 5-3,3 = 1,7 V de lecteur vers le MOSFET, même si cela devrait être 0 V, et c'était avant.

Si vous remplacez maintenant le MOSFET qui a un Vth <1,7V, il sera toujours activé. c'est-à-dire qu'un MOSFET de meilleure qualité fonctionne moins bien (ou pas du tout). Le "remède" consiste à utiliser un MOSFET initialement avec Vth <à << 1,7V.

Russell McMahon
la source
C'est la deuxième réponse super impressionnante que vous m'avez donnée ces derniers jours. Merci beaucoup pour votre aide!
Jon Bright
@Russel - Étrange que vous n'ayez mentionné la classification "au niveau logique" des FET nulle part dans cette réponse ...
Kevin Vermeer
1
@Kevin Vermeer - Je l'ai considéré un instant. Si je l'avais utilisé, cela aurait été de dire que c'est un terme très subjectif - pas tout à fait un jargon marketing mais plus proche de ce qui est confortable. Et dans ce cas, il y a deux "niveaux logiques" impliqués. Le BSS138 est censé être un "niveau logique" et il est supportable de façon continue sur 5V et de façon super marginale sur 3V pour des courants proches de son maximum nominal. La raison pour laquelle cela fonctionne dans cette application est que Vth est généralement typique et non le pire des cas, et parce que les courants sont faibles. Au lieu de cela, j'étais précis sur ce que les Vth étaient attendus et acceptables.
Russell McMahon
3
Je ne pense pas que vh-vl> vth importe. Je pense que ce qui importe c'est Vl> vth (notez que c'est aussi la conclusion de votre analyse si je la lis correctement)
mazurnification
4
J'essaie généralement de ne pas succomber à la tentation d'appeler les gens "débiles" en ligne (ou ailleurs), même si le terme a une bonne signification formelle * et est parfois pertinent. D'une manière ou d'une autre, 2 points ont été retirés de cette réponse cette semaine et il y a 1 downvote. La perte de "rep" est bien sûr tout à fait sans importance mais c'est triste de penser qu'il y a un idiot sur cette liste qui pense vraiment que cette réponse n'est "pas utile" compte tenu de toutes les informations disponibles. Une question a peut-être davantage aidé le sceptique. | * Moron = IQ 50-75. Apposé dans la zone de discussion sinon dans tous les domaines de la vie dans certains cas, comme celui-ci.
Russell McMahon