CMOS логические элементы: проектирование, работа и сравнение с TTL
До этого момента анализ транзисторных логических схем ограничивался парадигмой TTL: биполярные транзисторы, стратегия висячих входов = «высокий» (подключение к Vcc), допуск open-collector выходов. Это не единственный способ строить логические элементы.
Полевые транзисторы
Полевые транзисторы, особенно с изолированным затвором (IGFET), применимы в логике. Будучи напряжением-управляемыми, а не током-управляемыми, IGFET позволяют более простые схемы. Рассмотрим инвертор на P- и N-канальных IGFET:
Метка Vdd на положительном питании следует той же конвенции, что Vcc в TTL: постоянное напряжение на стоке полевого транзистора относительно земли.
Работа элемента с усиленными IGFET (Enhancement-mode)
Низкий вход
Подключим схему к питанию и входному переключателю. Заметьте: IGFETы типа E (enhancement) — нормально закрыты. Открываются только при правильной полярности напряжения затвор-сток (или затвор-подложка).
Верхний транзистор P-канальный. Когда подложка более положительна затвора (затвор отрицателен относительно подложки), канал усиливается и ток течёт между истоком и стоком. На иллюстрации верхний транзистор открыт, нижний N-канальный — закрыт (нулевое напряжение затвор-подложка).
Следовательно, выход твёрдо соединён с Vdd и имеет очень высокое сопротивление к земле, выдавая логическую «1» при входе «0».
Высокий вход
Переключим вход в противоположное состояние:
Теперь нижний N-канальный насыщается, верхний P-канальный остаётся закрытым. Выход становится «0». Схема работает как инвертор (NOT).
Комплементарные металл-оксид-полупроводники (CMOS)
Использование MOSFET вместо биполярных транзисторов сильно упрощает инвертор. Выход никогда не висит — благодаря естественной «тотем-полюсной» конфигурации, способной и источать, и приёмкать нагрузочный ток.
Элегантность элемента в комплементарном использовании P- и N-канальных IGFET. Такие схемы классифицируются как CMOS (Complementary Metal-Oxide-Semiconductor).
Проблемы и решения в CMOS элементах
В отличие от TTL, CMOS элементы уязвимы к высоким напряжениям статического электричества и могут случайно переключиться, если оставлены висячими. Поэтому висячие входы всегда нужно избегать.
Проблемы висячих входов
Рассмотрим однопозиционный переключатель, соединяющий вход с Vdd или землёй в одном положении, но оставляющий висячим в другом:
Аналогично, open-collector TTL выход (висячий при «1») может оставить CMOS вход неопределённым:
Подтягивающие резисторы (Pull-up и Pull-down)
Для стабилизации висячих входов резистор соединяют с Vdd (pull-up) или землёй (pull-down). Типичное значение 10 кОм, точное сопротивление некритично.
Pull-up пример:
Pull-down пример:
При интерфейсе open-collector TTL выхода к CMOS входу нужен pull-up резистор для определения высокого состояния:
Для многовходовых CMOS элементов каждый вход требует свой pull-up или pull-down.
Проектирование многовходовых CMOS элементов
CMOS NAND элемент
Типичная схема CMOS NAND:
Транзисторы Q₁ и Q₃ образуют последовательную P-/N-канальную пару, управляемую входом A; Q₂ и Q₄ — аналогичную пару для входа B. Верхние транзисторы источают ток от Vdd, нижние — приёмкают в землю. Выход высок, пока не проведут оба нижних транзистора одновременно, т.е. только когда оба входа высоки.
Иллюстрации таблицы истинности
Визуальные изображения поведения NAND для всех четырёх комбинаций входов:
CMOS AND элемент
AND получается добавлением инверторной стадии на выходе NAND:
CMOS NOR элемент
Аналогично NAND, NOR использует четыре MOSFET, но расставляет их иначе: две последовательные источающие и две параллельные приёмкающие. Выход высок только когда оба входа низки.
CMOS OR элемент
Добавлением инвертора к выходу NOR получаем OR.
TTL против CMOS: плюсы и минусы
Оба семейства реализуют любую логическую функцию, но значительно отличаются по ключевым аспектам:
- Потребление энергии: CMOS практически не потребляет статический ток, тогда как TTL потребляет постоянный смещающий ток. Однако мощность CMOS растёт с частотой переключения; TTL — относительно постоянна.
- Выходная нагрузка (Fan-out): CMOS входы потребляют минимальный ток, позволяя одному элементу управлять многими другими. Fan-out TTL ограничен токоуправляемыми входами.
- Диапазон питания: TTL обычно 4,75–5,25 В. CMOS комфортно 3–15 В благодаря напряжению-управляемым MOSFET.
- Скорость: TTL обычно быстрее CMOS, так как входная ёмкость MOSFET создаёт большие RC-постоянные, замедляя фронты.
Повышение скорости CMOS: B-серия элементов
Для компенсации медленного отклика CMOS на выход добавляют буферы (два каскадированных инвертора), повышая напряжённое усиление и ускоряя переходы. Логически избыточные, дополнительные стадии улучшают производительность за счёт усиления размаха сигнала.
Обзор
- CMOS логические элементы используют MOSFET вместо биполярных транзисторов.
- Входы чувствительны к статическому электричеству и не должны висеть.
- Pull-up/pull-down резисторы решают проблемы висячих входов.
- CMOS потребляет меньше энергии чем TTL, но мощность растёт с частотой.
- CMOS входы потребляют намного меньше тока, позволяя выше fan-out.
- CMOS работает в шире диапазоне питания (3–15 В) против TTL (4,75–5,25 В).
- CMOS имеет нижнюю максимальную частоту из-за входной ёмкости.
- B-серия использует буферизованные выходы для повышения скорости.
Связанные рабочие листы
- Рабочий лист по изолированным затвору полевых транзисторам
- Рабочий лист по CMOS логическим элементам
Промышленные технологии
- Сборка надежного тока зеркального контура: Пошаговое руководство
- Проектирование и проверка базовой схемы элемента И-НЕ (NAND) на микросхеме 4011
- RS-триггер на элементах ИЛИ-НЕ (NOR): сборка и понимание цифровой памяти
- Биполярные транзисторы: символы, типы и применение
- Полевые транзисторы с p-n переходом (JFET): направление тока затвора и N-канал vs P-канал
- Транзисторы IGFET (MOSFET): режимы дефицита и усиления
- Гибридный транзисторный дизайн: комбинация IGFET-BJT для высокого усиления и низкого падения
- Интегральные схемы: основы цифровых логических элементов
- Понимание транзисторов с изолированным затвором (IGFET)
- Гейтовое моделирование в Verilog: от схем к коду