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

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 транзистор работает в инверсном режиме. То есть коллектор и эммитер транзистора как бы меняются местами. 

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

Комментарии   

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

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

Хренушки, не откроется биполярник, т.к. потенциал на базе будет меньше эммитерного.
Ответить | Ответить с цитатой | Цитировать
# САБ 04.04.2011 11:24
С чего бы это? Если подключим диод анодом к эммитеру и катодом к коллектору, коллектор заземлим - на эммитере будет потенциал падения напряжения на диоде. С чего бы потенциалу базы быть меньше?
Ответить | Ответить с цитатой | Цитировать
# Brigadir 05.04.2011 13:30
Ты практически пробовал, или о сферическом коне рассуждаешь? На базе фиксированный потенциал +3,3В, а на эмитере меняется в диапазоне от 0 до 5-Uпад. на внешнем диоде. А чтобы транзистор открылся, на базе должен быть положительный потенциал от 1В и более. А выходной ток зависит от схемы включения и величины входного тока.
Ответить | Ответить с цитатой | Цитировать
# САБ 05.04.2011 10:32
Цитирую Pashgan:
А не будет ли эта схема работать и без диода? Транзистор ведь окажется включенным в инверсном режиме.
Точно. Об этом я не подумал. Скорее она не будет работать в обратную сторону и с диодом. Через переход база-коллектор потенциал базы будет притягиваться к земле и база-эммитерный переход не откроется. Хотя я не знаток инверсных режимов. Ну, то есть с диодом в обратную сторону будет работать диод, и на 3в-стороне получим уровень нуля равный уровню нуля 5в-стороны плюс падение на диоде.
Ответить | Ответить с цитатой | Цитировать
# Pashgan 07.04.2011 06:40
Я проверил схему с биполярным транзистором. Она работает в обе стороны без диода. Со стороны пятивольтовой микросхемы транзистор работает в инверсном режиме.
Ответить | Ответить с цитатой | Цитировать
# САБ 05.04.2011 21:32
Цитирую Brigadir:
На базе фиксированный потенциал +3,3В
Что, правда что ли? Можно подробнее, что его там фиксирует?
Цитирую Brigadir:
а на эмитере меняется в диапазоне от 0 до 5-Uпад. на внешнем диоде
5в откуда туда попадет? Анод с катодом у диода не попутали?
Насчет Цитирую Brigadir:
на базе должен быть положительный потенциал от 1В и более
тоже неплохо бы объяснить, откуда цифирька. И как себя после такого потенциала будет чувствовать база-зммитерный переход, не слипнется? :lol: Про "и более" тем более смешно.
Ответить | Ответить с цитатой | Цитировать
# Brigadir 06.04.2011 08:52
Прошу пардон, но мы видимо о разном. Я имел ввиду работу транзистора в обратном направлении, от 5 к 3,3В, а ты, я так понял, о прямом направлении споришь? Ну то, что в прямом направлении транз. будет открываться - это и ослу понятно, а в обратном направлении будет работать только внешний диод.
Еще раз перечитал комменты, и вижу, что это ты уже говорил. Короче, извиняюсь за невнимательност ь и, с твоего позволения, закрываю тему.
Ответить | Ответить с цитатой | Цитировать
# Alca 22.04.2011 03:52
Подскажите пожалуйста, как согласовать сигнал с датчика хола с Тинькой?
Ответить | Ответить с цитатой | Цитировать
# JoJo 22.04.2011 06:58
Как датчик называется? На него есть описание?
Ответить | Ответить с цитатой | Цитировать
# Иванов Алексей 22.08.2011 19:09
Эта схема не работоспособна при скоростях 115200
Ответить | Ответить с цитатой | Цитировать
# Pashgan 23.08.2011 10:40
Какая схема?
Ответить | Ответить с цитатой | Цитировать
# Иванов Алексей 24.08.2011 07:33
на полевике и биполярнике. При переходе от 0 к 1 фронт слишком долгий.
Ответить | Ответить с цитатой | Цитировать
# Phantom_a666 10.10.2011 15:42
А попробуйте в цепь базы резистор токоограничиваю щий вставить. примерно килоома 2 - у вас переход просто при единице уходит в перенасыщение - отсюда и фронт пологий
Ответить | Ответить с цитатой | Цитировать
# Petrov 06.11.2011 05:32
А может кто пользовался спец. микросхемами?
К примеру 74VHC1GT125D или 74LVC125. Подскажите, пожалуйста, как с помощью их сделать согласование 3.3 и 5.0 и 3.3 и 2.8.
Ответить | Ответить с цитатой | Цитировать
# SeNiMal 01.04.2013 10:19
Подскажите, пожалуйста, как согласовать уровень линейного выхода ноутбука с уровнями TTL. Есть программа генератор меандра с выходом на линейный выход звуковой платы. Как я понимаю с уровнем около 0,5 В. Необходимо меандр подать на ногу микроконтроллер а. Как это сделать грамотно?
Ответить | Ответить с цитатой | Цитировать
# Pashgan 01.04.2013 17:16
Я бы поставил схему на компараторе. Вот как здесь http://chipenable.ru/index.php/how-connection/item/101-raschet-komparatora-na-operatsionnom-usilitele.html
Ответить | Ответить с цитатой | Цитировать
# Zhenya 21.05.2013 18:22
А можете написать как в схеме на биполярном транзисторе вы рассчитывали номиналы резисторов?
Ответить | Ответить с цитатой | Цитировать
# Pashgan 26.05.2013 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 20.12.2013 18:16
Подскажите, как рассчитываются номиналы резисторов в схеме с полевым транзистором (именно рассчитываются, а не методом научного тыка).
Ответить | Ответить с цитатой | Цитировать
# Pashgan 23.12.2013 15:11
Долго объяснять. У выхода микросхем есть такие параметры как втекающий и вытекающий ток. Когда на выходе DD2 устанавливается 0, то через резисторы R1 и R2 в DD2 потечет ток. Резисторы нужно рассчитать таким образом, чтобы втекающий ток микросхемы не превышал максимальное значение и чтобы падение напряжения на выходе DD2 не превышало верхнюю границу логического нуля. Естественно нет никакого резона делать значение этого тока большим, используя низкоомные резисторы. С другой стороны. Когда на выходе DD2 единица, на вход DD1 течет ток через резистор R1. Если его значение будет ооочень большим, то на входе DD1 будет напряжение меньше логической единицы. Как то так. Разберись с параметрами входов и выходов цифровых микросхем и тебе все станет понятно.
Ответить | Ответить с цитатой | Цитировать
# Веник 04.03.2014 11:15
Полевик нужно подключать истоком к более высокому напряжению - это обеспечит более полное открытие транзистора.
Ответить | Ответить с цитатой | Цитировать
# САБ 05.03.2014 08:52
Также это обеспечит подачу пятивольтового уровня на трехвольтовую сторону через внутренний паразитный диод полевика. Поэтому подключать надо именно так, как показано на картинке.
Ответить | Ответить с цитатой | Цитировать
# Веник 05.03.2014 09:27
Точно, забыл про диод :)
Тогда получается, что при низких напряжениях одной из сторон (3,3В и ниже) схемы на транзисторе выдадут слишком высокое напряжение логического нуля.
Падение напряжения на биполярном в режиме насыщения около 0,4В, тоже на грани допустимого для 3,3В (примерно 0,4В на выходе микросхемы + примерно 0,4В на транзисторе)
Ответить | Ответить с цитатой | Цитировать
# dimas 12.04.2016 16:52
Как согласовать микросхемы с общим +27В
Ответить | Ответить с цитатой | Цитировать

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

Защитный код
Обновить