Электроника:Цифровая электроника/Логические вентили/Схемы КМОП-вентилей

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Макаров В. (valemak) Контакты:</br>* Habr: @vakemak</br>* Сайт: www.valemak.com</br>Перевёл статей: 648.
Проверка/Оформление/Редактирование: Мякишев Е.А.


Схемы КМОП-вентилей[1]

До сего момента наш анализ транзисторных логических схем ограничивался парадигмой проектирования ТТЛ, в которой используются биполярные транзисторы, и общая стратегия беспотенциальных входов, эквивалентных «высоким» (подключённым к VКК) входам – и, соответственно, допуск выходных каскадов с «открытым коллектором» – сохраняется. Однако это не единственный способ построить логический вентиль.

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

Полевые транзисторы, особенно с изолированным затвором, могут быть использованы при разработке вентильных схем. Будучи устройствами с управлением по напряжению, а не по току, IGFET (от английского названия этой разновидности транзисторов – Insulated-gate Field-effect Transistors), как правило, позволяют создавать очень простые схемы. Возьмём, к примеру, такую схему инвертора, построенную с использованием P- и N-канальных IGFET:

Рис. 1. Простейший инвертор, построенный с помощью двух IGFET (один P-, а второй N-канальный).
Рис. 1. Простейший инвертор, построенный с помощью двух IGFET (один P-, а второй N-канальный).

Обратите внимание на обозначение «VСС» (НапряжениеСтокСток) на положительной клемме источника питания. Эта метка соответствует тому же соглашению, что и «VКК» (НапряжениеКоллекторКоллектор) в ТТЛ-цепях: это постоянное напряжение, приложенное к стоку (для биполярных транзисторов – к коллектору) полевого транзистора по отношению к «земле».

Полевые транзисторы в вентильных схемах

«Низкий» ввод

Давайте подключим эту вентильную схему к источнику питания и входному переключателю и посмотрим, как она работает. Обратите внимание, что эти транзисторы IGFET относятся к E-типу (от англ. Enhancement-mode т.е. режим улучшения), и поэтому они обычно выключены.

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

Рис. 2. Для их включения нужно приложить напряжение между затвором и стоком в правильной полярности.
Рис. 2. Для их включения нужно приложить напряжение между затвором и стоком в правильной полярности.

Тот транзистор, что изображён выше, представляет собой P-канальный IGFET. Когда канал (подложка) более положителен, чем затвор (другими словами, затвор отрицателен по отношению к подложке), канал усиливается, и между истоком и стоком возникает ток.

Итак, на приведённой выше иллюстрации включён верхний транзистор. Нижний транзистор, имеющий нулевое напряжение между затвором и подложкой (истоком), находится в нормальном режиме: он выключен.

Таким образом, совместное действие этих двух транзисторов таково, что выходной вывод схемы затвора имеет надёжное соединение с VСС и соединение с очень высоким сопротивлением с «землёй». Это делает выход «высоким» (1) для «низкого» (0) состояния входа.

«Высокий» вход

А теперь переместим переключатель ввода в другое положение и посмотрим, что произойдёт:

Рис. 3. Изменим положение входного переключателя.
Рис. 3. Изменим положение входного переключателя.

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

Таким образом, выходной сигнал этой вентильной схемы теперь «низкий» (0). Очевидно, что эта схема ведёт себя как инвертор (вентиль НЕ).

Комплементарные металлооксидные полупроводники (КМОП)

Как видите, использование полевых транзисторов вместо биполярных значительно упростило конструкцию вентильного инвертора. Обратите внимание, что выход этого вентиля никогда не «плавает», как в случае с простейшей ТТЛ-схемой: он имеет естественную конфигурацию «тотемный столб», способную как получать, так и понижать ток нагрузки. Ключом к элегантному дизайну этой вентильной схемы является дополнительное использование P- и N-канальных IGFET. Так как IGFET-ы более широко известны как МОП-транзисторы (металллооксидные полупроводниковые транзисторы) или на английский манер MOSFET-транзисторы (Мetal-Оxide-Semiconductor Field Еffect Тransistor – дословно переводится как металоксидные полупроводниковые транзисторы с полевым эффектом), и эта схема использует и P- и N-канальные транзисторы вместе, то подобные вентильные схемы классифицируются как КМОП-вентили – т.е. комплементарные (взаимодополняющие) металлооксидные полупроводниковые вентильные схемы.

КМОП-вентили: проблемы и их решения

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

Проблемы КМОП с «плавающими» входами

Проблема может возникнуть, если вход в логический вентиль КМОП управляется однопозиционным переключателем, где в одном состоянии вход жёстко соединён либо с VСС, либо с «землёй», а в другом состоянии вход является «плавающим» (ни к чему не подключён):

Рис. 4. Когда переключатель замкнут, вентиль воспринимает определённый «низкий» (0) вход. Однако, когда переключатель разомкнут, входной логический уровень будет неопределённым, ибо он «плавающий».
Рис. 4. Когда переключатель замкнут, вентиль воспринимает определённый «низкий» (0) вход. Однако, когда переключатель разомкнут, входной логический уровень будет неопределённым, ибо он «плавающий».

Кроме того, эта проблема возникает, если вход КМОП-вентиля управляется выходом ТТЛ-вентиля с открытым коллектором. Поскольку выход такого TTL-вентиля «плавает», когда он становится «высоким» (1), вход КМОП-вентиля останется в неопределённом состоянии:

Рис. 5. Когда «высокий» (1) выход ТТЛ-вентиля с открытым коллектором, вход КМОП-вентиля останется «плавающим» и в неопределённом логическом состоянии.
Рис. 5. Когда «высокий» (1) выход ТТЛ-вентиля с открытым коллектором, вход КМОП-вентиля останется «плавающим» и в неопределённом логическом состоянии.

Решение для «плавающих» входов

Подтягивающие резисторы

К счастью, есть простое решение этой дилеммы, которое часто используется в логических КМОП-схемах. Всякий раз, когда для управления входом в КМОП используется однопозиционный переключатель (или любой другой тип выхода вентиля, не способный одновременно и передавать и потреблять ток), можно использовать резистор, подключённый либо к VСС, либо к заземлению, чтобы обеспечить стабильный логический уровень для состояния, в котором выход управляющего устройства «плавающий». Номинал этого резистора не критичен: обычно достаточно 10 кОм. Когда этот резистор используется для обеспечения «высокого» (1) логического уровня в случае «плавающего» источника сигнала, этот резистор известен как подтягивающий резистор (иногда встречается термин повышающий резистор):

Рис. 6. Когда переключатель замкнут, вентиль принимает определённый «низкий» (0) вход. Когда переключатель разомкнут, RПодтягив. обеспечивает соединение с VСС, необходимое для обеспечения надёжного «высокого» логического уровня для входа вентиля КМОП.
Рис. 6. Когда переключатель замкнут, вентиль принимает определённый «низкий» (0) вход. Когда переключатель разомкнут, RПодтягив. обеспечивает соединение с VСС, необходимое для обеспечения надёжного «высокого» логического уровня для входа вентиля КМОП.

Стягивающие резисторы

Когда такой резистор используется для обеспечения «низкого» (0) логического уровня в случае «плавающего» источника сигнала, он известен как стягивающий резистор (иногда встречается термин понижающий резистор). Опять же, значение сопротивления стягивающего (понижающего) сопротивления не критично:

Рис. 7. Когда переключатель замкнут, вентиль принимает определённый «высокий» (1) вход. Когда переключатель разомкнут, RСтягивающ. обеспечивает соединение с «землёй», необходимое для обеспечения надёжного «низкого» логического уровня для входа вентиля КМОП.
Рис. 7. Когда переключатель замкнут, вентиль принимает определённый «высокий» (1) вход. Когда переключатель разомкнут, RСтягивающ. обеспечивает соединение с «землёй», необходимое для обеспечения надёжного «низкого» логического уровня для входа вентиля КМОП.

Поскольку с открытым коллектором выходы ТТЛ всегда «плавающие», для тока от этого источника подтягивающие резисторы необходимы при взаимодействии выхода такого ТТЛ-вентиля с входом КМОП-вентиля:

Рис. 8. Если выход ТТЛ-вентиля подаётся на вход КМОП-вентиля, то повышающий резистор обязателен.
Рис. 8. Если выход ТТЛ-вентиля подаётся на вход КМОП-вентиля, то повышающий резистор обязателен.

Множественные подтягивающие и стягивающие резисторы

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

Рис. 9. В вентильных КМОП-схемах для каждого входа требуется отдельный подтягивающий (или стягивающий) резистор.
Рис. 9. В вентильных КМОП-схемах для каждого входа требуется отдельный подтягивающий (или стягивающий) резистор.

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

КМОП-вентиль «И-НЕ»

Например, вот схема для КМОП-вентиля «И-НЕ»:

Рис. 10. Схема КМОП-вентиля «И-НЕ».
Рис. 10. Схема КМОП-вентиля «И-НЕ».

Обратите внимание, как транзисторы Q1 и Q3 напоминают последовательно соединённую комплементарную пару из схемы инвертора. Оба управляются одним и тем же входным сигналом (вход A), верхний транзистор отключается, а нижний включается, когда на входе «высокий» уровень (1), и наоборот.

Обратите также внимание на то, что транзисторы Q2 и Q4 аналогичным образом управляются одним и тем же входным сигналом (вход B), и они также демонстрируют одинаковое поведение включения/выключения для одних и тех же входных логических уровней. Верхние транзисторы обеих пар (Q1 и Q2) имеют параллельные выводы истока и стока, а нижние транзисторы (Q3 и Q4) соединены последовательно.

Это означает, что выход будет «высоким» (1), если какой- либо верхний транзистор насыщается, и станет «низким» (0), только при насыщении обоих нижних транзисторов. Поведение КМОП-схемы для всех логических состояний входов

Следующая последовательность иллюстраций показывает поведение этого логического элемента И-НЕ для всех четырёх возможных входных логических уровней (00, 01, 10 и 11):

Рис. 11. На входе 00, на выходе 1.
Рис. 11. На входе 00, на выходе 1.
Рис. 12. На входе 01, на выходе 1.
Рис. 12. На входе 01, на выходе 1.
Рис. 13. На входе 10, на выходе 1.
Рис. 13. На входе 10, на выходе 1.
Рис. 14. На входе 11, на выходе 0.
Рис. 14. На входе 11, на выходе 0.

КМОП-вентиль «И»

Как и в случае с логическим ТТЛ-элементом И-НЕ, схема КМОП-вентиля И-НЕ может использоваться в качестве отправной точки для создания логического элемента И. Все, что нужно сделать, это добавить ещё один каскад транзисторов для инвертирования выходного сигнала:

Рис. 15. Если выход КМОП-вентиля И-НЕ дополнить инвертором, получим КМОП-вентиль И.
Рис. 15. Если выход КМОП-вентиля И-НЕ дополнить инвертором, получим КМОП-вентиль И.

КМОП-вентиль «ИЛИ-НЕ»

Схема КМОП-вентиля ИЛИ-НЕ использует четыре полевых МОП-транзистора, как и затвор И-НЕ, за исключением того, что его транзисторы расположены по-другому. Вместо двух параллельных (сверху) транзисторов , подключённых к VСС и двух последовательно соединённых (внизу) транзисторов, подключённых к «земле», вентиль ИЛИ-НЕ использует два последовательно соединённых транзисторов (источник) и два параллельно соединённых транзисторов («земля»), как здесь:

Рис. 16. КМОП-вентиль ИЛИ-НЕ.
Рис. 16. КМОП-вентиль ИЛИ-НЕ.

Как и в случае логического элемента И-НЕ, транзисторы Q1 и Q3 работают как взаимодополняющая пара, как и транзисторы Q2 и Q4. Каждая пара управляется одним входным сигналом. Если либо вход A, либо вход B «высокий» (1), по крайней мере, один из нижних транзисторов (Q3 или Q4) будет насыщен, что сделает выход «низким» (0). Только в случае, если на обоих входах будет «низкий уровень» (0), оба нижних транзистора будут в режиме отсечки, а оба верхних транзистора будут насыщены, что является условиями, необходимыми для перехода выхода на «высокий уровень» (1). Это поведение, конечно же, определяет логическую функцию ИЛИ-НЕ.

КМОП-вентиль «ИЛИ»

Функция ИЛИ может быть создана из основного логического элемента ИЛИ-НЕ с добавлением инверторного каскада на выходе:

Рис. 17. Если выход КМОП-вентиля ИЛИ-НЕ дополнить инвертором, получим КМОП-вентиль ИЛИ.
Рис. 17. Если выход КМОП-вентиля ИЛИ-НЕ дополнить инвертором, получим КМОП-вентиль ИЛИ.

ТТЛ против КМОП: преимущества и недостатки

Поскольку создаётся впечатление, что любой вентиль, который можно построить с использованием технологии ТТЛ, может быть продублирован в КМОП, возникает вопрос: почему эти два «семейства» логических схем всё ещё сосуществуют и не выбран только один, более удачный? Ответ заключается в том, что и ТТЛ, и КМОП имеют свои уникальные преимущества.

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

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

Однако схемы КМОП-вентилей потребляют переходной ток во время каждого переключения выходного состояния с «низкого» на «высокое» и наоборот. Таким образом, чем чаще КМОП-вентиль переключает режимы, тем чаще он будет потреблять ток от источника VСС, а значит, больше рассеиваемая мощность на более высоких частотах.

Преимущества КМОП

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

Ещё одно преимущество, которым обладают конструкции КМОП по сравнению с ТТЛ – это гораздо более широкий допустимый диапазон напряжений источника питания. В то время как ТТЛ-вентили ограничены напряжением источника питания (VСС) от 4,75 до 5,25 вольт, КМОП-вентили обычно могут работать при любом напряжении от 3 до 15 вольт! Причина этого несоответствия в напряжениях источника питания – соответствующие требования смещения MOSFET по сравнению с транзисторами с биполярным переходом. MOSFET управляются исключительно напряжением затвора (относительно подложки), тогда как ТБП – это устройства, управляемые током.

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

Единственное влияние, которое изменения напряжения источника питания оказывают на вентиль КМОП – это определение напряжения «высокого» (1) состояния. Для КМОП-вентиля, работающего при напряжении источника питания 15 В (VСС), входной сигнал должен быть близок к 15 В, чтобы считаться «высоким» (1). Порог напряжения для «низкого» (0) сигнала остается прежним: около 0 вольт.

Недостатки КМОП

Одним из явных недостатков КМОП является низкая скорость по сравнению с ТТЛ. Входные ёмкости КМОП-вентиля гораздо, гораздо больше, чем у сопоставимого ТТЛ-вентиля – именно из-за использования полевых МОП-транзисторов, а не ТБП, – и поэтому КМОП-вентиль будет медленнее реагировать на переход сигнала (от «низкого» к «высокому» или наоборот), чем ТТЛ-вентиль при прочих равных условиях.

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

Пути преодоление проблем

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

Рассмотрим этот пример «безбуферного» логического элемента ИЛИ-НЕ по сравнению с «буферизованным» вентилем ИЛИ-НЕ (Б-последовательным):

Рис. 18. «Безбуферный» вентиль ИЛИ-НЕ.
Рис. 18. «Безбуферный» вентиль ИЛИ-НЕ.
Рис. 19. Вентиль ИЛИ-НЕ с буферизацией.
Рис. 19. Вентиль ИЛИ-НЕ с буферизацией.

По сути, в усовершенствованной конструкция с Б-последовательностью добавлены два инвертора к выходу простой схемы ИЛИ-НЕ. Это бесполезно с точки зрения цифровой логики, поскольку два каскадных инвертора просто нейтрализуют друг друга:

Рис. 20. Последовательное инвертирование и ре-инвертирование не влияют на конечный логический уровень.
Рис. 20. Последовательные инвертирование и ре-инвертирование не влияют на конечный логический уровень.

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

Итог

  • Логические вентили КМОП сделаны из транзисторов IGFET (MOSFET), а не из транзисторов с биполярным переходом.
  • Входы КМОП-вентиля чувствительны к статическому электричеству. Они могут быть повреждены высоким напряжением и могут принимать произвольный логический уровень, если оставлены «плавающими».
  • Подтягивающие и стягивающие резисторы используются для предотвращения «плавающих» входов КМОП-вентилей, что обеспечивается за счёт источника сигнала, дающего ток только на сток или только на исток.
  • КМОП-вентили рассеивают гораздо меньше энергии, чем эквивалентные вентили ТТЛ, но их рассеиваемая мощность увеличивается с увеличением частоты сигнала, тогда как рассеяние мощности ТТЛ-вентиля приблизительно постоянно в широком диапазоне рабочих условий.
  • Входы вентиля КМОП потребляют гораздо меньше тока, чем входы ТТЛ, поскольку полевые МОП-транзисторы управляются напряжением, а не током.
  • КМОП-вентили могут работать в гораздо более широком диапазоне напряжений источника питания, чем ТТЛ: обычно от 3 до 15 вольт против 4,75 до 5,25 вольт.
  • КМОП-вентили имеют гораздо более низкую максимальную рабочую частоту, чем ТТЛ-вентили, из-за входной ёмкости, вызванной затворами MOSFET-транзисторов.
  • «Б-последовательные» КМОП-вентили имеют «буферизованные» выходы для увеличения усиления напряжения от входа к выходу, что приводит к более быстрой реакции выхода на изменения входного сигнала. Это помогает преодолеть присущую КМОП-вентилям замедленность из-за входной ёмкости полевого МОП-транзистора и постоянной времени RC.

См.также

Внешние ссылки