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

Post Reply
UR5FFR
Site Admin
Posts: 2219
Joined: 21 Apr 2012, 22:00
Позывной: UR5FFR
Location: Odessa

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

Post by UR5FFR »

Иногда надо сопрягать логические уровни схем с 5ти и 3.3в питанием. В сети можно найти например такие схемы на одном транзисторе двунаправленной схемы сдвига уровней:
Level-shifter 2N7000.jpg
Level-shifter 2N7000.jpg (11.87 KiB) Viewed 58614 times
Эта схема хоть и является корректной, но не позволяет понять принципа работы такого типа преобразователей уровня. Схема берет свое начало из патента Philips, схемное решение которого так же описанов [1]
i2c-level-shifter.png
i2c-level-shifter.png (5.51 KiB) Viewed 58614 times
А вот и практическая реализация:
i2c-level-shift-bss138.png
i2c-level-shift-bss138.png (2.88 KiB) Viewed 58614 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 58613 times
На aliexpress можно купить уже собранные платки с 4х канальной схемой сдвига уровней на BSS138. Вот такие:
ali - 4 chanel shifter.jpg
ali - 4 chanel shifter.jpg (171.86 KiB) Viewed 58614 times
ali - 4 chanel shifter 2.jpg
ali - 4 chanel shifter 2.jpg (117.05 KiB) Viewed 58614 times
Если вам потребуется схема посерьезнее то имеет смысл посмотреть на платы использующие спец.IC трансляции уровней TXS0108E
TXS0108E-8-channel-level-shifter.jpg
TXS0108E-8-channel-level-shifter.jpg (285.59 KiB) Viewed 58613 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
UR5FFR
Site Admin
Posts: 2219
Joined: 21 Apr 2012, 22:00
Позывной: UR5FFR
Location: Odessa

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

Post 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
Post Reply