Мне нужен простой однонаправленный переключатель уровня для преобразования 3.3В -> 5В.
Есть много вариантов в Интернете, некоторые с использованием логики IC, а некоторые с использованием 2 NPN-транзисторов (преобразователь и инвертор), но я никогда не находил вариант с использованием только одного транзистора (и 2-х резисторов).
Насколько я понимаю, когда вход составляет 3,3 В, транзистор блокируется, и R2 увеличивает выход; в то время как при входе 0 В транзистор проходит и понижает выход до транзистора VCE (sat).
Так почему же не работает такой конвертер? Должна быть причина...
level-shifting
logic-level
level-translation
Николас Д
источник
источник
Ответы:
Переключатель уровня с одним BJT в вопросе будет работать: если входное сопротивление устройства со стороны 5 Вольт значительно выше, чем 6,8 кОм, показанных в вопросе, будет получен ожидаемый сигнал от ~ 0,3 до ~ 5 Вольт ( принимая 2N2222 в качестве примера ).
Однако для входов с более низким импедансом вход будет действовать как делитель напряжения с резистором 6,8 кОм, значительно ослабляя верхнюю часть сигнала.
Например, если входной импеданс нагрузки со стороны 5 Вольт был, скажем, 100 кОм, сигнал достиг бы максимума около 4,6-4,7 Вольт. Все еще не так уж плохо.
Любое понижение, и уровень становится проблематичным. Это когда требуется альтернатива, такая как двухтранзисторная установка, упомянутая в вопросе, для более жесткого привода выходной шины.
источник
Мне нравится ваше решение. Поскольку вопрос касается простых решений, у меня есть несколько альтернатив (некоторые решения предоставлены Microchip HERE ):
1) Прямое подключение: если Voh (выходное напряжение высокого уровня) от вашей логики 3.3 В больше, чем Vih (входное напряжение высокого уровня), все, что вам нужно, - это прямое подключение. (для этого решения также необходимо, чтобы Vol (выходное напряжение низкого уровня) на выходе 3,3 В было меньше, чем Vil (входное напряжение низкого уровня) на входе 5 В).
2) Если вышеуказанные условия близки, вы часто можете немного повысить выходное напряжение высокого уровня с помощью подтягивающего резистора (до 3,3 В) и напрямую подключить сигналы.
3) Подтягивающий резистор может обеспечить небольшое увеличение высокого напряжения. Для большего вы можете использовать диоды и подтягивать до 5В. Показанная схема не будет сбрасываться до 5 В, но увеличит входное напряжение высокого уровня до логики 5 В на величину падения напряжения на один диод (около 0,7 В). При этом методе необходимо соблюдать осторожность, чтобы у вас все еще был действительный низкий уровень, поскольку он также повышается на одну диодную каплю. Диоды Шоттки могут быть использованы для небольшого увеличения напряжения высокого уровня при минимизации нежелательного увеличения напряжения низкого уровня. Обратитесь к вышеупомянутому примечанию приложения для больше на этой схеме:
смоделировать эту схему - схема, созданная с использованием CircuitLab
4) Если вы можете справиться с логической инверсией (и не требует активного подтягивания), может быть использован Mosfet и подтягивающий резистор:
смоделировать эту схему
5) Я знаю, что вы не ищете логическое и решение, но для полноты я упомяну одно (из многих). MC74VHC1GT125 является «неинвертирующий буфер / CMOS логический уровень Shifter с LSTTL-совместимые входы» в пакете SOT23-5 или SOT-353. Маленький простой и дешевый.
Очевидно, эта тема также обсуждалась на днях: увеличьте напряжение с 3,3 В до 5 В для цифрового ввода-вывода, хотя решение там неверное (спасибо Дэйву Твиду).
источник