Наш магазин на eBay Наш магазин на AliExpress Наш канал в telegram

Схемы сопряжения уровней сигналов 3,3 и 5 Вольт (и не только)

При работе с различными цифровыми микросхемами нередко возникает ситуация, когда для их правильной совместной работы необходимо согласовать уровни сигналов на линиях ввода-вывода. Такая необходимость возникает, например, при совместном использовании микросхем, рассчитанных на питание +3,3 Вольта и +5 Вольт. Почему? Ну, во-первых, редко когда входы трёхвольтовой микросхемы могут выдержать входное напряжение +5 Вольт, то есть передавать сигнал напрямую от пятивольтовой микросхемы к трёхвольтовой нельзя. Во-вторых, в 5-ти вольтовой CMOS-логике входной сигнал считается единицей, если его уровень выше 0,7*Vcc (3,5 Вольта), чего естественно микросхема с питанием 3,3 Вольта сформировать никак не может, то есть передавать сигнал напрямую в обратную сторону (от трёхвольтовой к пятивольтовой микросхеме) тоже нельзя.

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

Также отмечу, что приведённые ниже схемы подходят не только для сопряжения микросхем с уровнями 3,3 и 5 Вольт, но и для любых других, просто 3,3 и 5 — наиболее популярный вариант, за что он и был вынесен в название статьи.

согласование, если на выходе транзистор с открытым коллектором

Начнём с самого простого варианта, — когда у передающей микросхемы на выходе транзистор с открытым коллектором (рисунок справа). В этом случае высокий уровень выходного сигнала самой передающей микросхемой не формируется и согласовывать вообще ничего не нужно. Достаточно организовать подтяжку коллектора выходного транзистора к уровню питания принимающей микрухи (например через резистор) и всё.

Если же высокий уровень на выходе формируется самой передающей микросхемой, то описанный выше способ не подойдёт.

согласование с помощью параметрического стабилизатора

В данном случае можно использовать в качестве схемы согласования обычный параметрический стабилизатор (рисунок слева). Рассчитывается этот стабилизатор исходя из номинального тока стабилитрона, учитывая при этом, что он не должен превышать максимальный ток нагрузки для вывода передающей микросхемы (входной ток принимающей микросхемы как правило можно не учитывать).

Одним из недостатков (но далеко не единственным) последней схемы является то, что её можно применять только для передачи сигналов от микросхем с бо’льшим напряжением питания к микросхемам с меньшим напряжением питания (то есть на нашей картинке VCC1 обязательно должно быть больше VCC2).

согласование с помощью внешнего транзистора

Преодолеть последний недостаток можно искусственно отвязав выход микросхемы от её питания с помощью внешнего транзистора (рисунок справа). В этом случае мы фактически получаем выход, аналогичный выходу с открытым коллектором (наш самый первый вариант).

согласование с помощью оптрона

Причём в качестве такой развязки можно использовать не только транзистор, но и, скажем, оптрон (рисунок слева). В этом случае мы, в качестве бонуса, получим гальваническую изоляцию передатчика и приёмника.

Минусом двух последних схем является то, что они, кроме всего прочего, инвертируют передаваемый сигнал. Победить этот минус можно использованием парного количества инвертирований (то есть если использовать, например, два последовательно включенных транзистора и инвертировать сигнал дважды, то в итоге получим исходный неинвертированный сигнал).

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

согласование двунаправленной линии с помощью внешнего биполярного транзистора

В этом случае можно использовать схему, изображённую на рисунке справа. Разберёмся как эта схема работает.

Сначала рассмотрим передачу слева направо. При передаче нуля (на I/O выводе левой микросхемы низкий уровень) потенциал базы оказывается выше потенциала эмиттера и из базы в эмиттер через резистор (R2) начинает течь ток. В результате транзистор открывается и потенциал всей линии притягивается к нулю. При передаче единицы (на I/O выводе левой микросхемы уровень Vcc1) транзистор закрывается и потенциал на I/O выводе правой микросхемы подтягивается через резистор R3 к уровню Vcc2.

При передаче в обратном направлении происходит следующее. При передаче единицы (уровень Vcc2 на I/O выводе правой микросхемы) транзистор остаётся закрытым, поскольку его база и эмиттер притянуты через резисторы R1, R2 к Vcc1. При передаче нуля потенциал коллектора оказывается ниже потенциала базы, начинает течь ток база-коллектор и транзистор открывается в инверсном режиме, соответственно потенциал всей линии становится близок к нулю.

согласование двунаправленной линии с помощью внешнего полевого транзистора

Аналогичную схему можно реализовать и на полевом транзисторе (рисунок слева).

Вообще-то говоря, можно придумать и ещё целую кучу разных схем, я написал пока только про то, что сходу вспомнил, но если кто-то желает дополнить — пишите на форум или в личку пользователю rhf-admin (но лучше на форум, чтоб можно было со всеми обсудить).

Комментарии 2

  • спасибо, полезная статья. а по какой методике расчитать резисторы? например в последней и предпоследней схеме.

    • Резистор в базе биполярника считается как для обычного транзисторного ключа (например, тут можно глянуть: https://radiohlam.ru/transistor/).
      Подтягивающие резисторы — компромисс, между тем, насколько крутой вам нужен фронт (зависит в том числе от скорости передачи), сколько тока на это не жалко, каковы мощностью БП и паразитная индуктивность контура. Обычно супер крутые фронты не нужны (для передачи до пары сотен килогерц… а потом уже и схемы другие будут), соответственно и большие токи тоже нафиг не упёрлись, соответственно, на индуктивность — вообще пофиг.
      К примеру, для передачи на 115200 при сопряжении 3,3 <-> 5 я ставил резисторы 1 кОм и всё было отлично.

Добавить комментарий