Мой двунаправленный переключатель уровня на основе полевого МОП-транзистора безумен?

В момент дешевизны я решил не заказывать у Sparkfun переключатель уровня 5 В на 3,3 В, а вместо этого собрать его самостоятельно. В исходной схеме использовался полевой МОП-транзистор BSS138 , но, поскольку мне нравится пайка поверхностного монтажа не меньше, чем лечение корневых каналов, я решил использовать похожий на вид МОП -транзистор , который монтируется в сквозное отверстие и легко доступен у моего предпочтительного поставщика.

Результаты этого были субоптимальными. При подсоединении линии 5В к земле все было нормально - на стороне 3,3В было 0,07В. Но при подключении 3,3 В к земле линия 5 В показывала около 4,14 В (в остальном она была чуть выше 5,1 В). При более внимательном чтении соответствующих спецификаций, а также оригинальной заметки по применению Philips по этому вопросу, я пришел к выводу, что проблема была в пороговом напряжении затвора.

Изменив схему и привязав затвор MOSFET к 5 В вместо 3,3 В, обе стороны работают нормально. Вытягивание любой стороны вниз приводит к тому, что другая сторона становится низкой. Я, однако, совсем не уверен, что это действительно разумный поступок. Мое понимание исходной схемы недостаточно глубоко, чтобы составить разумное мнение.

Будет ли эта модифицированная схема работать, или текущие хорошие результаты, которые я вижу, просто случайность или предшественник чего-то, выпускающего волшебный дым?

Ответы (1)

Короткий ответ

  • В этой схеме Vth (напряжение затвор-исток, при котором полевой МОП-транзистор только что включается) имеет решающее значение. Vth должно быть существенно ниже, чем Vh-Vl = 5В - 3,3В = 1,7В.

    BSS138 имеет Vth 0,8/1,3/1,5 мин/тип./макс.
    Таким образом, хотя теоретически было бы «достаточно хорошо» здесь, поскольку 1,7> 1,5, этот запас неудобно мал.

    К сожалению, вариант, который вы выбрали, еще хуже, чем BSS138.
    FQN1N60C имеет Vth 2/-/4 В. Т.е. в лучшем случае Vth 2 В выше, чем требуемые 1,7 В, и он может иметь Vth до 4 В, что значительно больше, чем 1,7 В в этом приложении. .

    Приемлемым (просто) MOSFET TO92 на складе Digikey является Zetex/Diodes Inc ZVNL110a .
    Это имеет Vth 0,75/-/1,5 вольт. Это примерно то же самое, что и BSS138.


Длиннее:

  • BSS138 — это относительно кусок хлама. У него есть свое место, но он выходит за пределы своих безопасных возможностей в этой цепи. К сожалению, альтернатива, которую вы выбрали, FQN1N60C, еще хуже.

  • Ваше повышение напряжения LV до напряжения, эквивалентного HV, превышает высокое значение Vth FQN1N60C.

Причина, по которой ваша оригинальная схема работает плохо, заключается в том, что FQN1N60C является очень жалким образцом искусства MOSFET, а причина того, что ваша переработанная схема работает хорошо, также заключается в том, что FQN1N60C является очень жалким образцом искусства MOSFET. МОП-транзистор с низким значением V будет работать правильно в исходной схеме и не сработает в модифицированной.

Это связано с тем, что в исходной схеме FQN1N60C Vth слишком высок для доступного Vth и не включается должным образом. МОП-транзистор с достаточно низким Vth будет правильно включаться при доступном напряжении. В исправленной схеме вы обеспечили FQN1N60C достаточным напряжением затвора в рабочем состоянии, но не настолько большим, чтобы он срабатывал непреднамеренно. Если бы вы использовали полевой МОП-транзистор с низким Vth, он бы включился из-за доступного напряжения судьбы, когда он должен был быть выключен, и схема вышла бы из строя.

Схема чрезвычайно умна, НО ее хитрость зависит от MOSFET, имеющего достаточно напряжения затвора, чтобы управлять им, когда TX_LV низкий, но недостаточно напряжения, чтобы управлять им, когда TC_LV высокий. Обычно LV = T_LV, когда TX_LV высокий, поэтому MOSFET не видит напряжения затвора. Увеличивая LV до HV, вы обеспечиваете напряжение затвора (HV-LV), когда TX_LV имеет высокий уровень. Поскольку HV-LV = 5-3,3 = 1,7 В, FQN1N60C не дает ложных срабатываний, так как на практике Vth > 1,7 В.

Ниже приведена оригинальная схема переключателя уровня.

BSS138 представляет собой N-канальный МОП-транзистор, поэтому он проводит, когда его затвор положителен по отношению к истоку, обычно его сток выше, чем исток, а внутренний диод корпуса блокируется, когда Vds + ve, и проводит, когда Vds отрицателен. .

введите описание изображения здесь

Нормальная работа
. При высоком уровне TXLV и TXHV затвор находится на уровне LV (первоначально 3V3, источник на TX_LV = 3,3, поэтому Vgs=0, поэтому полевой транзистор выключен.
Источник на TX_LV подтягивается туда резистором R3.

Отправьте логический 0 слева направо.
Потяните TX_LV на низкий уровень. Источник = 0В, затвор = 3В3. Итак, Vgs = 3V3. Поскольку это > Vth BSS138 включен. Поскольку источник = 0 В и полевой транзистор включен, TX_HV также будет переведен в низкий уровень. Это было легко :-).

Отправьте логический 0 справа налево.
Потяните TX_HV на низкий уровень. Сток = 0. Гейт 3V3 через хард соединение.
Источник = 3V3 (но см. ниже) Итак: Vgs = 0. Полевой транзистор выключен. Vдс = - 3V3.
НО BSS138 имеет внутренний диод от S до D. Теперь этот диод будет проводить, опуская TX_LV до уровня падения диода выше TX_HV.
Тоже легко.

ТЕПЕРЬ замените BSS138 на FQN1N60C.
Vth МОП-транзистора составляет от > до >> 1,7 В между 5 В и 3 В3.
Теперь при отправке логического 0 СЛЕВА НАПРАВО источник заземления дает Vgs = 3V3 = < 4V в худшем случае. Если истинное значение Vth составляет около 1,7 В, схема будет работать.

Повышение LV до 5V работает, так как теперь Vgs = 5V.
НО, когда TX_LV имеет высокий уровень, на MOSFET по-прежнему подается напряжение 5-3,3 = 1,7 В, хотя оно должно быть 0 В, и было раньше.

Если вы сейчас замените МОП-транзистор с Vth < 1,7 В, он всегда будет включен. т.е. более качественный MOSFET работает хуже (или вообще не работает). «Лекарство» состоит в том, чтобы сначала использовать MOSFET с Vth < до << 1,7 В.

Это второй суперклассный ответ, который вы мне дали за последние пару дней. Спасибо большое за помощь!
@Russel - Странно, что вы нигде в этом ответе не упомянули классификацию полевых транзисторов на «логическом уровне» ...
@ Кевин Вермеер - я подумал об этом ненадолго. Если бы я использовал его, я бы сказал, что это очень субъективный термин - не совсем маркетинговый жаргон, но ближе к таковому, чем это удобно. И в этом случае задействованы два «логических уровня». Утверждается, что BSS138 имеет «логический уровень», и это терпимо при 5 В и очень незначительно при 3 В для токов, близких к его номинальному максимальному. Причина, по которой это работает в этом приложении, заключается в том, что Vth обычно является типичным, а не в худшем случае, а также потому, что токи малы. Вместо этого я конкретно указал, какие Vth ожидаемы и приемлемы.
Я не думаю, что vh-vl > vth имеет значение. Я думаю, что имеет значение только Vl > vth (обратите внимание, что это также вывод вашего анализа, если я правильно его читаю)
Кто-нибудь пробовал подавать прямоугольную волну 5 В 20 МГц и получать на выходе разумную квадратную волну 3 В?
Очень хороший ответ и объяснение! Хорошая работа !! Ну, по крайней мере, в этом конкретном случае а также считают, что наиболее важным является то, что: Vl > vth. Я даже использовал тип 2N7000 и получил отличную работу, подключив мою Arduino Uno к акселерометру MMA8432Q.
@naz Эта схема работает только для очень низких частот. 20 МГц слишком много.
Обычно я изо всех сил стараюсь не поддаваться искушению называть людей «дебилами» в Интернете (или где-либо еще), даже несмотря на то, что этот термин имеет хорошее формальное значение * и в некоторых случаях уместен. Каким-то образом на этой неделе с этого ответа сняли 2 балла, и у него есть 1 отрицательный голос. Потеря «репутации», конечно, совершенно неважна, но грустно думать, что в этом списке есть идиот, который действительно думает, что этот ответ «бесполезен», учитывая всю доступную информацию. Вопрос, возможно, больше помог сомневающемуся. | *Дебил = IQ 50-75. Уместно в области обсуждения, если не во всех сферах жизни в некоторых случаях, таких как этот.
Вы ошибаетесь насчёт Vh-Vl>Vth. На самом деле Vl-Vdiode должен быть > Vth. Смотрите здесь принцип работы.
@rustyx 7+ лет спустя :-). Это сложно. проблема в том, что я недостаточно педантично изложил условия, при которых применяются различные ситуации. Я думаю, что, добавив более подходящие определяющие слова, объяснение может стать более ясным. || Принцип работы, который я объяснил и который был приведен в вашей ссылке, кажется на 100% идентичным (конечно, не точными словами, а механизмом) - как я и ожидал. Если вы видите какие-либо существенные различия, которые я пропустил, я был бы рад услышать об этом. ...
| Если под Vh, Vl и Vdiode вы имеете в виду: Vin_left high & low и Vdiode_fwd_conducting, тогда вам нужно будет изложить соответствующий аргумент.
@rustyx через несколько часов. re "...Вы ошибаетесь относительно Vh-Vl>Vth..."-> Нет. Расширение: 'Для операции слева направо предположим, что Vh = input high =~ LV (здесь 3V3) . Предположим, вход низкий = Vl. V1 МОЖЕТ быть меньше нуля, но МОЖЕТ быть выше. Ворота на LV - здесь = 3 на 3. Когда источник находится в Vh, тогда vgs = LV-VH. Это либо 0, либо очень низкое значение. ФЭТ выключен. | Когда Vin = Vl = low, тогда полевой транзистор видит Vgs = LV-Vl. = Вх-Вл. Если Vh-Vl < Vth FET не включится. Если Vh-Vl >> Vth, то FEt включается полностью и нет проблем. Если Vh-Vl лишь немного выше, чем Vth, то полевой транзистор как бы включен, а cct работает. Отсюда мое заявление.
@RussellMcMahon Ваш ответ очень подробный и понятный. Есть одна вещь, которая меня интересует. От чего зависит максимально возможная HV? AdaFruit продает модуль, основанный на этой конструкции, и говорит, что максимальное напряжение HV составляет 10 В. Я прочитал техническое описание BSS138 и не смог определить, что может предотвратить понижение передачи с 12 или даже 24 В. Объясните пожалуйста?