Page 1 of 1

Схемы сдвига уровней (level shifter)

Posted: 28 Mar 2016, 00:29
by UR5FFR
Иногда надо сопрягать логические уровни схем с 5ти и 3.3в питанием. В сети можно найти например такие схемы на одном транзисторе двунаправленной схемы сдвига уровней:
Level-shifter 2N7000.jpg
Level-shifter 2N7000.jpg (11.87 KiB) Viewed 54007 times
Эта схема хоть и является корректной, но не позволяет понять принципа работы такого типа преобразователей уровня. Схема берет свое начало из патента Philips, схемное решение которого так же описанов [1]
i2c-level-shifter.png
i2c-level-shifter.png (5.51 KiB) Viewed 54007 times
А вот и практическая реализация:
i2c-level-shift-bss138.png
i2c-level-shift-bss138.png (2.88 KiB) Viewed 54007 times
Для понимая принципа работы этой схемы важно учесть что у MOSFET есть защитные диоды. В исходном состоянии потенциалы на выходах - слева 3.3в, справа 5в. При подаче на левый вход 0го уровня транзистор открывается и на правом выходе так же лог.0. При подаче лог.0 на правый вход транзистор закрыт, но левый вход оказывается закорочен на землю через защитный диод, и соответственно, его потенциал будет равен падению напряжения на диоде, т.е. равен лог.0

Требования к транзисторам простые - он должен содержать защитный диод и у него должно пороговое напряжение быть меньше чем 1.7в(=5в-3.3в). Что будет если взять транзистор с другим пороговым? Схема не будет работать до тех пор пока не будет увеличено смещение на затворе транзистора [2].

Аналогичную двунаправленную схему можно сделать и на биполярных транзисторах [3,4]
i2c-levelshifter-small.png
i2c-levelshifter-small.png (19.19 KiB) Viewed 54006 times
На aliexpress можно купить уже собранные платки с 4х канальной схемой сдвига уровней на BSS138. Вот такие:
ali - 4 chanel shifter.jpg
ali - 4 chanel shifter.jpg (171.86 KiB) Viewed 54007 times
ali - 4 chanel shifter 2.jpg
ali - 4 chanel shifter 2.jpg (117.05 KiB) Viewed 54007 times
Если вам потребуется схема посерьезнее то имеет смысл посмотреть на платы использующие спец.IC трансляции уровней TXS0108E
TXS0108E-8-channel-level-shifter.jpg
TXS0108E-8-channel-level-shifter.jpg (285.59 KiB) Viewed 54006 times
Литература
1. Philips AN97055 "Bi-directional level shifter for I²C-bus and other systems."
2. Is my MOSFET-based bidirectional level shifter insane?
3. Two transistor circuit replaces IC, Jim Hagerman, Hagerman Technology LLC
4. Two Transistors Form Bidirectional Level Translator, Jim Hagerman, Nokia Mobile Phones

Re: Схемы сдвига уровней (level shifter)

Posted: 04 Nov 2022, 16:44
by UR5FFR
Попалась на днях задачка подключить 74HC595 к ESP32. При чем ESP32 питается от 3.3в, а 74HC595 - от 5в.
Если посмотреть на приатаченную картинку то не хватает уровня логической 1 от 3-х вольтовой логики для раскачки 5ти вольтовой 74HC. Есть два решения - использовать 74HCT вместо 74HC, либо буфер на 74HCT для раскачки 74HC. Либо немного снизить напряжение питания 74HC до 4.3в с помощью диода - при этом уровней от 3-х вольтовой логики становится достаточно для раскачки, а выходной уровень лог.1 остается все еще достаточно высокий для 5ти вольтовой логики
Chart-of-Low-Voltage-IC-Switching.png