Согласование логических уровней

03/04/2011 - 17:53

  Введение


  Существуют стандарты, определяющие допустимые уровни напряжений логических сигналов. Для микросхем с  разной технологией (КМОП, ТТЛ) и напряжением питания  эти уровни не всегда совпадают. Сопряжение таких микросхем требует применение дополнительных  схем согласования. Потенциальные проблемы, с которыми можно столкнуться, не уделив должного внимания этой проблеме, - некорректная работа или выход микросхем из строя.

 
Когда необходимо согласование логических уровней?

1. Когда выход микросхемы с меньшим напряжением питания подключен к входу микросхемы с большим напряжением питания.
 
2. Когда выход микросхемы с большим напряжением питания подключен к входу микросхемы с меньшим напряжением питания. 
 
3. Когда первые два случая объединены — двунаправленные сигнальные линии.
 
4. Когда совместно используются ТТЛ и КМОП микросхемы
 

Схемы согласования логических уровней

   Задача согласования логических уровней микросхем может быть решена:

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

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

   Итак, рассмотрим варианты схем. Заранее оговорюсь, чтобы облегчить себе задачу, я ограничился КМОП микросхемами с напряжением питания 3.3 и 5 вольт, а всю математику свел к чисто инженерным расчетам. В приведенных ниже формулах не учитывается разброс номиналов резисторов, уровней  логических сигналов и питающих напряжений. 

Делитель напряжения

 Согласование логических уровней с помощью резисторного делителя напряжения
   Одна из самых простых схем согласования уровней - это резисторный делитель напряжения. Схема может быть использована для согласования выхода 5-ти вольтовой микросхемы со входом 3-ех вольтовой микросхемы.  Схема работает только в одном направлении.
 
Номиналы резисторов делителя должны удовлетворять неравенствам:
 
Voh*R2/(R1 + R2) > Vih
Vol*R2/(R1+R2) < Vil
Где Voh – минимальное напряжение логической единицы на выходе DD1, Vol – максимальное напряжение логического нуля на выходе DD1, Vih – минимальное напряжение логической единицы на входе DD2, Vil – максимальное напряжение логического нуля на входе DD2
 
   Эти неравенства можно представить в таком виде:
 
Vol/Vil – 1 < R1/R2 < Voh/Vih - 1
   Кроме того, для исключения протекания тока через защитные диоды 3-ех вольтовой КМОП микросхемы DD2, уровни логических сигналов на ее входе должны быть в диапазоне от -Vd до Vcc + Vd. 

Voh*R2/(R1 + R2) < Vcc + Vd
Vol*R2/(R1+R2) > -Vd
Где Vcc – напряжение питания (в нашем случае 3.3 вольта), а Vd – прямое падение напряжения на защитном диоде.

 
   Минимальные значения резисторов делителя ограничиваются нагрузочной способностью выхода DD1. 
 
Voh/(R1 + R2) <Iohmax
 
Где Voh – напряжение логической единицы на выходе DD1, а Iohmax – максимальный вытекающий ток выхода DD1 

 
Максимальное значение резисторов делителя ограничивается током утечки DD2, протекающим при подаче на вход логического нуля.
 
(I l*R1*R2)/(R1 + R2) < Vil
 
Где Il  - входной ток низкого уровня, Vil – максимальное напряжение логического нуля на входе DD2

Пример 

   В качестве примера рассчитаем делитель напряжения для согласования микроконтроллера AVR с дисплеем от телефона Nokia3310.

Данные на микроконтроллер atmega8:
 
Voh = 4.9 В при вытекающем токе 1 мА и напряжении питания 5 В
Vol = 0 В при втекающем токе < 1 мА и напряжении питания 5 В
 
Данные взяты из datasheet – раздел Typical Characteristics, графики I/O Pin Source Current vs. Output Voltage, I/O Pin Sink Current vs. Output Voltage.
 
Данные на контроллер дисплея Philips PCD8544

 
Расчет

Vol/Vil – 1 < R1/R2 < Voh/Vih – 1
0/(0.3 * 3.3) - 1 < R1/R2 < 4,9/(0.7 * 3.3) – 1
-1 < R1/R2 < 1.12
R1/R2 < 1.12 
 
Поскольку данные для микроконтроллера AVR мы брали для тока величиной 1 мА, суммарное значение резисторов будет равно:
 
Voh/(R1 + R2)  = Ioh
R1 + R2 = Voh/Ioh
R1 + R2 = 4.9 В/1 мА
R1+ R2 =  4.9 кОм
 
Выражаем из верхнего неравенства R1 и подставляем в нижнее выражение.
 
R1 < 1.12 * R2
1.12 * R2+ R2 = 4.9 кОм
R2 = 4.9/2.12 = 2.31 кОм
R1 = 2.59 кОм
 
Выбираем ближайшие значения из ряда E24, округляя R2 в большую сторону, а R1 в меньшую
 
R1 = 2.4 кОм
R2 = 2.4 кОм
 
Проверка
 
R1/R2 = 1 < 1.12
R1 + R2 = 4.8 близко к 4.9
 
Voh*R2/(R1 + R2) < Vcc  + Vd
4.9 * 2.4/4.8 = 2.45 < 3.3 (Vd опустил)
 
(I l*R1*R2)/(R1 + R2) < Vil
(1 мкА * 2.4 кОм * 2.4 кОм)/4.8 кОм < 0.3 * 3.3
1.2 мВ < 0.99 В
 
Все верно. 

Преобразователь на транзисторе

 Схема согласования логических уровней на полевом транзисторе
   Простая,  но эффективная схема с N-канальным полевым транзистором, позволяющая согласовать выход 3-ех вольтовой микросхемы со входом 5-ти вольтовой. Требует минимум компонентов и не инвертирует сигнал.  Работает в обоих направлениях.
   Первая ситуация – DD2 передает сигнал, DD1 принимает.
   Когда на выходе DD2 установлена логическая единица,  транзистор закрыт, и вход DD1 с помощью резистора R1 подтянут к плюсу питания. Когда на выходе DD2 установлен логический ноль,  транзистор открыт, и вход DD1 посажен на ноль. 
  Вторая ситуация – DD1 передает сигнал, DD2 принимает.
   Когда на выходе DD1 установлена логическая единица, транзистор закрыт, и вход DD2 с помощью резистора R2 подтянут к плюсу питания. Когда на выходе DD1 установлен логический ноль, через встроенный в полевой транзистор диод начинает течь ток и потенциал истока становится меньше потенциала затвора. Транзистор открывается, и вход DD2 оказывается посажен на ноль питания.
   Используемый в схеме транзистор должен иметь  пороговое напряжение затвора удовлетворяющее неравенству:
 
Vcc - Voh < Vt < Vcc – Vol
 
Где Vcc – напряжение питания DD2, Voh - напряжение логической единицы на выходе DD2, Vol – напряжение логического нуля на выходе DD2, Vt – пороговое напряжение затвора.  В спецификации полевой транзистор этот параметр обозначается как Vgs(th) – Gate Threshold Voltage.  
   Для этой схемы подойдут N-канальные полевые транзисторы управляемые логическим уровнем. Например, BSS138.
   Минимальные значения R1 и R2 ограничены нагрузочными способностями выхода DD2 и падением напряжения на транзисторе. Когда полевой транзистор открыт, через него и эти резисторы на вход микросхемы DD2  течет ток. 
   Максимальное значение R1 ограничено  током утечки входа DD1. Если выбрать слишком большой номинал, напряжение на входе DD1 может стать меньше уровня логической единицы.
 
Аналогичную схему можно сделать и на биполярном NPN транзисторе

Схема согласования логических уровней на биполярном транзисторе
 
При передачи сигнала от DD2 к DD1 схема работает, как описано выше.  
При передаче сигнала от DD1 к DD2 транзистор работает в инверсном режиме. То есть коллектор и эммитер транзистора как бы меняются местами. 

Схема согласования логических уровней на биполярном транзисторе
Продолжение следует…

Comments   

# САБ 2011-04-04 09:22
"Преобразовател ь на транзисторе" - схема с полевиком работает в обе стороны. В одну работает транзистор как и описано, во вторую - сначала ток течет через паразитный диод, потенциал истока понижается, напряженеие затвор-исток превышает пороговое и транзистор открывается. Схема на биполярном транзисторе такой способностью не обладает - нет встроенного диода. Но если диод добавить снаружи - будет полный аналог.
# Pashgan 2011-04-05 06:10
Quote:
схема с полевиком работает в обе стороны
Точно. Это моя недоработка.

Quote:
Схема на биполярном транзисторе такой способностью не обладает - нет встроенного диода. Но если диод добавить снаружи - будет полный аналог.
А не будет ли эта схема работать и без диода? Транзистор ведь окажется включенным в инверсном режиме.
# Brigadir 2011-04-04 09:40
Quoting САБ:
"Схема на биполярном транзисторе такой способностью не обладает - нет встроенного диода. Но если диод добавить снаружи - будет полный аналог.

Хренушки, не откроется биполярник, т.к. потенциал на базе будет меньше эммитерного.
# САБ 2011-04-04 11:24
С чего бы это? Если подключим диод анодом к эммитеру и катодом к коллектору, коллектор заземлим - на эммитере будет потенциал падения напряжения на диоде. С чего бы потенциалу базы быть меньше?
# Brigadir 2011-04-05 13:30
Ты практически пробовал, или о сферическом коне рассуждаешь? На базе фиксированный потенциал +3,3В, а на эмитере меняется в диапазоне от 0 до 5-Uпад. на внешнем диоде. А чтобы транзистор открылся, на базе должен быть положительный потенциал от 1В и более. А выходной ток зависит от схемы включения и величины входного тока.
# САБ 2011-04-05 10:32
Quoting Pashgan:
А не будет ли эта схема работать и без диода? Транзистор ведь окажется включенным в инверсном режиме.
Точно. Об этом я не подумал. Скорее она не будет работать в обратную сторону и с диодом. Через переход база-коллектор потенциал базы будет притягиваться к земле и база-эммитерный переход не откроется. Хотя я не знаток инверсных режимов. Ну, то есть с диодом в обратную сторону будет работать диод, и на 3в-стороне получим уровень нуля равный уровню нуля 5в-стороны плюс падение на диоде.
# Pashgan 2011-04-07 06:40
Я проверил схему с биполярным транзистором. Она работает в обе стороны без диода. Со стороны пятивольтовой микросхемы транзистор работает в инверсном режиме.
# САБ 2011-04-05 21:32
Quoting Brigadir:
На базе фиксированный потенциал +3,3В
Что, правда что ли? Можно подробнее, что его там фиксирует?
Quoting Brigadir:
а на эмитере меняется в диапазоне от 0 до 5-Uпад. на внешнем диоде
5в откуда туда попадет? Анод с катодом у диода не попутали?
Насчет Quoting Brigadir:
на базе должен быть положительный потенциал от 1В и более
тоже неплохо бы объяснить, откуда цифирька. И как себя после такого потенциала будет чувствовать база-зммитерный переход, не слипнется? :lol: Про "и более" тем более смешно.
# Brigadir 2011-04-06 08:52
Прошу пардон, но мы видимо о разном. Я имел ввиду работу транзистора в обратном направлении, от 5 к 3,3В, а ты, я так понял, о прямом направлении споришь? Ну то, что в прямом направлении транз. будет открываться - это и ослу понятно, а в обратном направлении будет работать только внешний диод.
Еще раз перечитал комменты, и вижу, что это ты уже говорил. Короче, извиняюсь за невнимательност ь и, с твоего позволения, закрываю тему.
# Alca 2011-04-22 03:52
Подскажите пожалуйста, как согласовать сигнал с датчика хола с Тинькой?
# JoJo 2011-04-22 06:58
Как датчик называется? На него есть описание?
# Иванов Алексей 2011-08-22 19:09
Эта схема не работоспособна при скоростях 115200
# Pashgan 2011-08-23 10:40
Какая схема?
# Иванов Алексей 2011-08-24 07:33
на полевике и биполярнике. При переходе от 0 к 1 фронт слишком долгий.
# Phantom_a666 2011-10-10 15:42
А попробуйте в цепь базы резистор токоограничиваю щий вставить. примерно килоома 2 - у вас переход просто при единице уходит в перенасыщение - отсюда и фронт пологий
# Petrov 2011-11-06 05:32
А может кто пользовался спец. микросхемами?
К примеру 74VHC1GT125D или 74LVC125. Подскажите, пожалуйста, как с помощью их сделать согласование 3.3 и 5.0 и 3.3 и 2.8.
# SeNiMal 2013-04-01 10:19
Подскажите, пожалуйста, как согласовать уровень линейного выхода ноутбука с уровнями TTL. Есть программа генератор меандра с выходом на линейный выход звуковой платы. Как я понимаю с уровнем около 0,5 В. Необходимо меандр подать на ногу микроконтроллер а. Как это сделать грамотно?
# Pashgan 2013-04-01 17:16
Я бы поставил схему на компараторе. Вот как здесь http://chipenable.ru/index.php/how-connection/item/101-raschet-komparatora-na-operatsionnom-usilitele.html
# Zhenya 2013-05-21 18:22
А можете написать как в схеме на биполярном транзисторе вы рассчитывали номиналы резисторов?
# Pashgan 2013-05-26 17:29
R1, R3 - определяют коллекторный ток транзистора. R1 при работе в нормальном режиме, R3 при работе транзистора в инверсном режиме. Их номиналы можно брать в диапазоне от 1 до 10 кОм. R2 задает ток базы. Его номинал можно посчитать по формуле (3.3 - Ube)/Ib. Ube = 0.7 В. Ib должен быть таким, чтобы транзистор в рабочем состоянии (когда подан сигнал) находился в насыщении. Ток насыщения можно можно посчитать по формуле Ib>(Ic*5/Hfe). Где Ic - ток коллектора равный 5/R1, а Hfe - коэффициент усиления тока.
# GOST 2013-12-20 18:16
Подскажите, как рассчитываются номиналы резисторов в схеме с полевым транзистором (именно рассчитываются, а не методом научного тыка).
# Pashgan 2013-12-23 15:11
Долго объяснять. У выхода микросхем есть такие параметры как втекающий и вытекающий ток. Когда на выходе DD2 устанавливается 0, то через резисторы R1 и R2 в DD2 потечет ток. Резисторы нужно рассчитать таким образом, чтобы втекающий ток микросхемы не превышал максимальное значение и чтобы падение напряжения на выходе DD2 не превышало верхнюю границу логического нуля. Естественно нет никакого резона делать значение этого тока большим, используя низкоомные резисторы. С другой стороны. Когда на выходе DD2 единица, на вход DD1 течет ток через резистор R1. Если его значение будет ооочень большим, то на входе DD1 будет напряжение меньше логической единицы. Как то так. Разберись с параметрами входов и выходов цифровых микросхем и тебе все станет понятно.
# Веник 2014-03-04 11:15
Полевик нужно подключать истоком к более высокому напряжению - это обеспечит более полное открытие транзистора.
# САБ 2014-03-05 08:52
Также это обеспечит подачу пятивольтового уровня на трехвольтовую сторону через внутренний паразитный диод полевика. Поэтому подключать надо именно так, как показано на картинке.
# Веник 2014-03-05 09:27
Точно, забыл про диод :)
Тогда получается, что при низких напряжениях одной из сторон (3,3В и ниже) схемы на транзисторе выдадут слишком высокое напряжение логического нуля.
Падение напряжения на биполярном в режиме насыщения около 0,4В, тоже на грани допустимого для 3,3В (примерно 0,4В на выходе микросхемы + примерно 0,4В на транзисторе)
# dimas 2016-04-12 16:52
Как согласовать микросхемы с общим +27В

У вас недостаточно прав для комментирования.