В комментариях к статьям о феррит-диодной и феррит-транзисторной логике, устройстве и работе АЛУ, было несколько небольших дискуссий о разных типах логики, в основном, конечно, микросхем. И меня попросили рассказать, какая логика вообще бывает и какие особенности у разных типов логики.
Сначала я не планировал писать статью на эту тему, ведь о ТТЛ и КМОП, да и ЭСЛ, написано множество статей, они рассматриваются в различных книгах и учебниках. Всем все известно, что тут еще можно добавить?
Но написать все таки решил... Ведь есть и другие типы логики, о которых сегодня мало кто вспоминает. И может быть интересным общий обзор, с немного историческим уклоном, в котором сведены воедино различные принципы построения микросхем цифровой логики. Со сравнением плюсов и минусов различных типов.
Эта статье не является учебной, это именно обзор, но с достаточно подробным рассмотрением схемотехники основных типов цифровой логики разных временных отрезков. Как всегда, статья написана на основе личного опыта работы с разными сериями микросхем. Я высказываю свою точку зрения, которая может отличаться вашей.
Показать все разнообразие схемотехники даже внутри одного типа невозможно в рамках одной статьи (только ТТЛ существует несколько разновидностей). Поэтому будут рассматриваться лишь обобщенные, или классические, варианты схемотехники.
Ссылки на статьи, о которых я говорил ранее:
Феррит-диодные ячейки. Старая импульсная логика. История цифровой техники.
Феррит-транзисторная динамическая логика. История цифровой схемотехники
Элементы ЭВМ. АЛУ - арифметико-логическое устройство. Часть 1
Элементы ЭВМ. АЛУ. Часть 2. Внутренний мир
Резисторно-транзисторная логика (РТЛ). Она же транзисторная логика с непосредственными связями (ТЛНС)
Название ТЛНС использовалось редко, но его можно встретить в некоторых старых отраслевых справочниках. Это один из первых методов построения логических элементов. Причем элементы строились даже на германиевых транзисторах (серия 116). Но германий это конечно экзотика. Фактически, основной элементов РТЛ является обычный ключевой каскад на транзисторе
Причем простейший ключевой каскад. Более того, ничто не мешает работать такому каскаду как обычному усилительному каскаду класса А, пусть и очень нелинейному из-за отсутствия резистора в цепи эмиттера.
Этим и определяется основной недостаток РТЛ - низкая помехоустойчивость. Второй недостаток - малая нагрузочная способность. Альтернативный вариант элемента ИЛИ-НЕ обладает и менее очевидным недостатком - взаимным влиянием входов элемента. По этой причине он не получил широкого распространения, но использовался во внутренних каскадах.
Базовым элементом РТЛ является ИЛИ-НЕ, так как его проще всего реализовать. С элементами И и И-НЕ все немного сложнее
Почему не подходит простейшее решение с последовательным включением транзисторов? Дело в том, что низкий логический уровень на выходе теперь будет равен удвоенному (для 2И по входу) падению напряжения коллектор-эмиттер открытых транзисторов. То есть, уровень логического нуля будет повышенным. Казалось бы, проблему можно решить включив на выходе элемент НЕ, пусть и итоговый элемент будет выполнять функцию И, а не И-НЕ. Но дело еще и в том, что у нас для входа А потребуется повышенный высокий уровень, на величину падения напряжения коллектор-эмиттер нижнего открытого транзистора.
Поэтому используют формулы де-Моргана и дополнительные инверторы, как показано на иллюстрации справа. Здесь реализована операция 2И, так как я не стал добавлять инверсию выходного сигнала. Обратите внимание, что здесь же показано использование альтернативного варианта элемента 2ИЛИ-НЕ во внутреннем каскаде.
Давайте посмотрим на типичные параметры элементов РТЛ.
- Напряжение питания: + 4 В
- Выходное напряжение низкого уровня: 0.2 В
- Выходное напряжение высокого уровня: 0.8 В
- Помехоустойчивость (статическая): 0.15 В
- Выходной ток высокого уровня: 0.2 - 0.5 мА
- Входной ток высокого уровня: 0.02 - 0.08 мА
- Задержка распространения: 200-500 нс
- Коэффициент разветвления по выходу: 4
Обратите внимание, что для РТЛ при высоком уровне на входе ток входа является втекающим. Это важный момент.
Коэффициент разветвления по выходу это количество входов других элементов, которые можно подключить к выходу данного элемента. Каждый вход потребляет втекающий ток, который обеспечивается коллекторным резистором элемента РТЛ. Чем больше входов подключено к выходу, тем больше падение напряжения на коллекторном резисторе и ниже выходное напряжение высокого уровня. Это и является ограничивающим фактором.
Выходные параметры можно улучшить используя двухтактный выходной каскад. Но это не устраняет прочих недостатков. Элементы РТЛ не только выпускались в виде готовых микросхем, но и собирались из обычных транзисторов и резисторов в некоторых устройствах. По настоящему массовой такая логика все таки не стала.
Диодно-транзисторная логика (ДТЛ)
Однотактный выходной каскад, или просто один элемент РТЛ, не могут обеспечить большой выходной ток высокого уровня. Конечно, можно уменьшить сопротивление резистора в цепи коллектора, но это приведет к увеличению рассеиваемой мощности, которая будет просто греть окружающую среду.
Было бы хорошо, если входной ток логических элементов формировался внутри самого элемента, а не отбирался от выхода предыдущего каскада. Это позволит не уменьшать сопротивление резистора в цепи коллектора, а транзистор сможет коммутировать больший ток, только если действительно потребуется.
Эта идея и легла в основу самого начального принципа построения логического элемента ДТЛ
Давайте рассмотрим элементы ДТЛ подробнее и начнем с элемента НЕ. Во первых, теперь у нас необходимый базовый ток для транзистора не отбирается от предыдущего элемента, а формируется резистором в самом нашем элементе. Более того, теперь у нас нет втекающего тока входа, теперь ток вытекающий. Причем максимальное значение вытекающий ток имеет для низкого уровня на входе элемента. Этот ток определяется резистором, а входной диод обеспечивает протекание только вытекающего тока.
То есть, для нас теперь не важно (в разумных пределах, конечно) сопротивление коллекторного резистора предыдущего элемента. Главное, что бы транзистор в предыдущем элементе мог коммутировать ток, достаточный для подключения нескольких входов к одному выходу. Если входом мало, то и ток будет небольшим. Одна проблема решена.
Диод VD1, который кажется лишним, выполняет весьма важную функцию - увеличивает напряжение для открывания транзистора. Предположим, что у нас вход соединен в отрицательным выводом источника питания (общим проводом). При этом на входном диоде падает напряжение соответствующее открытому p-n переходу. Если у нас нет диода VD1, то это напряжение будет приложено и к переходу база-эмиттер транзистора. И этого напряжения может оказаться достаточно для приоткрывания транзистора, особенно, при повышенной температуре.
Превратить наш инвертор в элемент 2И-НЕ очень просто. Нужно просто добавить еще один диод. Или несколько, если требуется больше входов. Нетрудно заметить, что базовым элементом в ДТЛ будет элемент 2И-НЕ.
Но давайте посмотрим, ведь у нас транзистор теперь должен коммутировать суммарный ток входов всех последующих элементов. И если таких входов много, то и ток базы потребуется большой. Ток базы у нас задается резистором, который определяет одновременно и суммарный вытекающий ток входов. Сопротивление этого резистора потребуется уменьшать. То есть, будет возрастать и нагрузка на транзисторы предыдущих элементов.
Мы можем уменьшить на предыдущие элементы добавив дополнительный транзистор, вот так
По сути, мы просто добавили эмиттерный повторитель, что и позволило уменьшить входные токи (вытекающие, для низкого уровня). На самом деле, дополнительный диод в цепи базы второго транзистора теперь не обязателен, так как эмиттерный повторитель сам по себе обеспечивает дополнительный сдвиг уровня. Однако, этот диод обычно все таки устанавливают. Например, он есть в 104 серии микросхем. В 156 серии диода нет, но там использован составной эмиттерный повторитель.
Для повышения помехоустойчивости вместо этого диода может устанавливаться и стабилитрон. Именно так и было сделано в высокопороговой 511 серии ДТЛ.
Показанный на последней иллюстрации базовый логический элемент 2И-НЕ является классическим в микросхемах ДТЛ. Это серии 104, 156, уже упомянутые ранее, серия 121. Эти микросхемы не были очень быстрыми, типовое время задержки составляло порядка 150 нс. В первых сериях питание было двухполярным (я не буду показывать схемотехнику таких элементов), так как требовался дополнительный источник запирающего напряжения. Однако, 156 серия работает уже от привычных +5В.
Поскольку выходной каскад по прежнему однотактный, его параметры не являются выдающимися. Но уровни напряжений уже ближе к привычным 2.4В для логической "1" и 0.4В для логического "0". Да и втекающий выходной ток низкого уровня стал заметно больше, ведь теперь именно он имеет решающее значение. Коэффициент разветвления по выходу у 104 серии остался почти таким же, как в РТЛ, всего 5. А вот в 156 серии уже достигает 10.
Типовое значение вытекающего входного тока низкого уровня порядка 1.5 мА. Это суммарный ток всех входов элемента, так как он определяется единственным резистором.
Однако, однотактный выходной каскад по прежнему заметно ограничивает быстродействие. Емкость нагрузки достаточно быстро разряжается через открытый транзистор, но заряжается медленно, через коллекторный резистор. А уменьшение его сопротивления по прежнему нежелательно.
В 128 серии, динамическая ДТЛ, использовались двухтактные выходные каскады. Динамические типы логики мы сегодня не рассматриваем. Но с двухтактным выходным каскадом познакомимся
Не правда ли, все очень похоже на всем привычную ТТЛ? Все верно, похоже. Более того, именно такой вид элемента 2И-НЕ и основой при разработке ТТЛ, но об этом чуть позже. В данной схеме нам уже все основные элементы знакомы. Кроме собственно выходного каскада, который довольно прост, поэтому я не буду на нем подробно останавливаться. Скажу только пару слов о диоде VD. Его основная функция обеспечить сдвиг уровня, что бы транзистор верхнего плеча был надежно закрыт при открытом транзисторе нижнего плеча.
Транзистроно-транзисторная логика (ТТЛ)
Показанный на последней иллюстрации элемент всем хорош, но его реализация на кристалле вызывает некоторые затруднения. Дело в том, что диоды в микросхемах являются несколько чужеродными элементами. Их выполняют в виде транзисторов, но в диодном включении. Таки образом, три диода образующие входной каскад превращаются в три транзистора. А это занимает лишнее место на кристалле.
Однако, если присмотреться, такое включение диодов не что иное как упрощенная модель транзистора, как ее изображают в школьном учебнике физики и книгах для начинающих любителей электроники. Только диодов немного больше. Все верно. И все входные диоды можно заменить транзистором. Но не обычным, а многоэмиттерным. И мы получим классический элемент ТТЛ 2И-НЕ
Поскольку ТТЛ является модификацией ДТЛ, то и базовым элементом будет тот же самый 2И-НЕ. Да и все параметры ДТЛ и ТТЛ будут схожи. Даже серии микросхем с однотактным выходным каскадом выпускались, например, серия 134.
Кроме всем привычной 155 серии (и ее аналога в планарном корпусе 133 серии) выпускалась и 131 серия, сопротивления резисторов в которой были уменьшены, что повысило ее быстродействие, но и увеличило рассеиваемую мощность. Но 131 серия просуществовала недолго и была вытеснена микросхемами ТТЛШ. В ТТЛШ используются транзисторы и диода с барьером Шоттки, это обеспечивает более высокое быстродействие, но схемотехника с ТТЛ. Поэтому микросхемы ТТЛШ отдельно рассматривать не будем. Даже ставшую весьма популярной 555 серию.
В ТТЛ кроме обычных элементов И-НЕ и ИЛИ не были и так называемые "расширяемые по ИЛИ". И комбинированные, например 4ИЛИ-2И-НЕ. Здесь нет ничего особо сложного
Просто добавляется еще один входной каскад И, который подключается параллельно существующему, что и дает ИЛИ. Показанный синим цветом фрагмент выпускался и в виде отдельных микросхем расширитель по ИЛИ (ЛД). Например, 155ЛР1 была расширяемой по ИЛИ и к ней могла подключаться 155ЛД1.
Входы ТТЛ, как и ранее рассмотренная ДТЛ, имеют вытекающий ток низкого уровня. Причем величина этого тока может быть разной не только в разных сериях, но и у разных микросхем одной серии. И этот ток нужно учитывать.
Эмиттерно-связанная логика (ЭСЛ)
Во всех ранее рассмотренных типах цифровой логики транзисторы работали с насыщением в открытом состоянии. Это увеличивает время переключения и снижает быстродействие. ЭСЛ использует переключатели тока (переключатели тока Йорка) в которых исключается насыщение транзисторов за счет глубок ОС то току в цепях эмиттеров.
Если вы здесь видите дифференциальный каскад, то вы не очень далеки от истины. Но поскольку транзисторы работают не в линейном, а в ключевом режиме, этот каскад является переключателем тока.
Резистор R цепи эмиттеров задает ток, величина которого остается неизменной в любом режиме работы. Сопротивление этого резистора должно быть достаточно большим для поддержания постоянства тока. Во многих случаях вместо резистора используется источник тока. Величина тока выбирается такой, что бы при нормальном режиме работы насыщение транзисторов образующих переключатель тока исключалось.
При низком уровне напряжения на выходах А и В весь ток задаваемый резистором R или источником тока протекает через транзистор VT. На базе этого транзистора задается опорный потенциал, который и обеспечивает открытое, но не насыщенное, состояние транзистора.
Два входных транзистора, на базы которых подаются сигналы А и В включены параллельно. Если присмотреться, то очень похоже на то, как транзисторы включались в РТЛ. В РТЛ такое включение транзисторов обеспечивало операцию логического ИЛИ_НЕ. В ЭСЛ все точно так же, но наличие резистора в цепи эмиттеров (или заданный ток источника) вносит существенные изменения в работу. Базовым элементом ЭСЛ является ИЛИ-НЕ.
Во первых, теперь потенциал эмиттеров отличен от нуля, что определяет и пороговый уровень для входных напряжений. Во вторых, глубокая обратная связь по току исключает насыщение транзисторов. А это существенно повышает быстродействие.
Когда напряжение на одном из входов превышает опорное напряжение на базе VT соответствующий транзистор открывается. При этом ток, задаваемый резистором R переключается в цепь эмиттера соответствующего транзистора, а VT закрывается. При этом потенциал эмиттеров не изменяется. Подача высокого уровня и на второй вход ситуацию не изменяет. VT по прежнему остается закрытым, а ток перераспределяется между двумя входными транзистора (в идеале, одинаково). И потенциал эмиттеров остается прежним.
Выходные сигналы формируются на коллекторах транзисторов переключателя тока. Однако, уровни напряжения этих сигналов будут неверными, повышенными. Для сдвига уровне выходных сигналов и используются эмиттерные повторители, которые кроме того повышают нагрузочную способность логического элемента.
Разность напряжений высокого и низкого логических уровней не может превышать величины сдвига уровней эмиттерными повторителями. Это следует из условия отсутствия насыщения транзисторов. Если позволите, я не буду приводить обоснование и формулы, все таки статья обзорная. Поэтому разность напряжений нуля и единицы в ЭСЛ составляет примерно 0.8-0.9В, в типичных сериях микросхем. Разница между уровнями может быть увеличена использованием дополнительных схемотехнических решений для сдвига уровней.
Обратите внимание, что в элементах ЭСЛ одновременно формируются два противофазных выходных сигнала, так как переключатель тока является и дифференциальным каскадом. Это позволяет исключить использование дополнительных инверторов при построении цифровых схем на ЭСЛ, что положительно сказывается на быстродействии.
Существует вариант ЭСЛ, в котором эмиттерные повторители включены не на выходах, а на входах переключателя тока
Такая логика называется ЭЭСЛ - эмиттерно-связанная логика с эмиттерными повторителями на входе. Она является более быстродействующей, но нагрузочная способность элементов ниже.
Микросхемы ЭСЛ обладают впечатляющим быстродействием, так в серии 1500 время задержки менее 1нс. Но и рассеиваемая ими мощность впечатляет не меньше. При этом помехоустойчивость ЭСЛ довольно низка, хоть и выше, чем у РТЛ. При этом на ЭСЛ были собраны и большие ЭВМ, например ЕС серии Ряд-3.
Интегральная инжекционная логика (ИИЛ или И2Л). Подававшая большие надежды, но сегодня почти забытая, экзотика
Эта логика развивалась уже на излете СССР. На нее возлагались большие надежды, так как она занимала меньше места на кристалле, чем КМОП, была быстрее ТТЛШ (но медленнее ЭСЛ), и при этом довольно экономичная. Были выпущены и микропроцессорные наборы на ее основе, например, серия 582 (секционированные микропроцессорные секции). И более полный набор в серии 583, комбинированная ТТЛШ-ИИЛ. Но сегодня о этом типе логике помнят немногие.
ИИЛ сложно показать в виде схемы, поскольку это полупроводниковая структура
Элемент состоит из подложки с проводимостью n+, которая объединяет выводы эмиттеров всех инверторов, а не просто служит конструктивным элементов. Отдельные элементы не требуется изолировать, что повышает плотность их упаковки на кристалле. На подложке выращивается толстый эпитаксиальный слой проводимости n. Этот слой служит эмиттерной областью n-p-n транзисторов с вертикальной структурой. Этот же слой служит базовой областью p-n-p транзистора. В эпитаксиальном слое размещаются диффузные области. Сначала формируется область базы n-p-n транзистора. Эта же область является и коллектором p-n-p инжектора. В базовой области формируются два n+ кармана, которые являются коллекторами n-p-n транзистора. Один p-n-p инжектор может использоваться для нескольких n-p-n инверторов.
Эмиттер инжектора VTи инжектирует носители заряда которые поступают в эмиттерную область VT. На иллюстрации это показано стрелкой на рисунке структуры. Эмиттерная область VT является одновременно и базовой областью VTи. Носители поступают в базу инвертора VT, которая является одновременно и коллектором VTи, и образуют ток в коллекторных цепях VT. Инвертор выключается, когда ток инжектора отбирается из базы n-p-n транзистора в другую цепь, например, коллектор предыдущего элемента. Такое переключение тока обеспечивается уменьшением входного напряжения, которое управляет смещением на эмиттерном переходе инвертора.
По сути, инжектор обеспечивает токовое питание инвертора. Дополнительный источник питания коллекторных цепей не требуется. Поэтому более правильно было бы назвать такие элементы логикой с инжекционным питанием. Но тут уж как назвали...
Разность между напряжениями логических уровней в ИИЛ мала, порядка 0.7В. То есть, сравнима с ЭСЛ. Но при этом ИИЛ может работать при очень малых токах, порядка наноампер. Рабочий ток регулируется изменением напряжения питания, которое непосредственно влияет на ток инжектора. Диапазон напряжений питания довольно большой, от 1 до 15В. А диапазон рабочих частот немного не дотягивал до 50 МГц.
Неудивительно, что этой логике пророчили большое будущее. Совместимость с другими типами логики обеспечивалась преобразователями уровней, обвязкой, как было сделано в 583 серии. Увы, все это уже в прошлом...
Логика на полевых транзисторах одинаковой проводимости (nМОП, pМОП)
Использование полевых транзисторов с изолированным затвором было весьма привлекательным в силу того, что в статичном режиме они почти не потребляют ток, в отличии от ранее рассмотренных типов. Однако, чувствительность к статическому электричеству и сложность формирования двухтактного выходного каскада сдерживали использование полевых транзисторов.
Тем не менее, цифровые микросхемы на полевых транзисторах с изолированным затвором все таки выпускались. Пожалуй, одной их самых известных серий была 172 (178 в планарном корпусе) pМОП. Это были медленные (время задержки порядка 600 нс) и далеко не самые экономичные микросхемы. Но они были высокопороговыми, с напряжением питания -27В (да, именно минус), что иногда ыло весьма полезным. Кстати, такой же тип имели большинство микросхем 145 серии, которая применялась в бытовых устройствах. Часы на К145ИК1901 наверняка помнят многие.
Как видно, принцип построения МОП логики (с данном случае pМОП) очень похож на РТЛ (ТЛНС). Разница лишь в том, что в качестве нагрузки использован не резистор, а источник тока на полевом транзисторе (динамическая нагрузка). Кроме того, мы теперь можем более просто строить и схемы реализующие операцию И, так как потенциал на затворе отсчитывается не от истока, а от подложки. Конечно, последовательное включение транзисторов повышает потенциал напряжения низкого уровня, но не так значительно, как для биполярных транзисторов. А вот влияния на входные уровни теперь практически отсутствует (в разумных пределах).
Однотактный выход приводит к тем же самым проблемам, что и у РТЛ - малой нагрузочной способности и повышенной рассеиваемой мощности. Построение двухтактных каскадов на однотипных транзисторах возможно, хоть и сопряжено с некоторыми сложностями. Для этого требуется 4 транзистора. Один для инвертора, один для динамической нагрузки инвертора, и два да построение каскада усиления мощности (верхнее и нижнее плечи). При этом достаточно всего 6 транзисторов, что бы организовать одновременно и прямой, и инверсный, выходы. Именно так и было сделано в 172 серии. Я не буду приводить схемы двухтактных выходных каскадов.
Логика на комплементарных полевых транзисторах (КМОП)
С появлением возможности формировать на кристалле транзисторы разной проводимости произошла небольшая революция. Появилась возможность изготавливать достаточно быстродействующие и при этом экономичные (в статическом режиме, динамический это отдельный разговор) микросхемы. Причем совместимые по логическим уровням с популярной ТТЛ, при одинаковом напряжении питания. И работающие в широком диапазоне питающих напряжений.
Обратите внимание, какие простые базовые логические элементы получаются. По сути, 2И-НЕ и 2ИЛИ-НЕ это небольшие вариации простого инвертора. Это развитие МОП логики, но теперь выход сразу двухтактный. Никаких динамических нагрузок, никаких лишних элементов. И нулевой потребляемый ток в статическом режиме при отсутствии нагрузки на выходах элементов. Во всяком случае, для идеальных транзисторов.
Однако, эта высокая экономичность сыграла злую шутку в первых сериях микросхем КМОП, например, в 176 серии. Дело в том, что на входах микросхем устанавливают диоды для защиты от статического напряжения. Вы их не раз видели, два диода последовательно на обе шины питания. А теперь представьте, что питание на схему не подано, но входные сигналы поданы. Вот от этих входных сигналов схема и может питаться через защитные диоды. Самого малого тока оказывается достаточно, так микросхемы микромощные.
Благодаря простоте, технологичности, высокой плотности упаковки элементов на кристалле, хорошим характеристикам, КМОП логики и обрела очень высокую популярность.
Для повышения быстродействия современные микросхемы КМОП часто строят с использованием дополнительных буферных выходных каскадов, которые могут обеспечить высокую скорость перезарядки емкости нагрузки. Однако, такие буферизованные микросхемы не могут использоваться в схемах с медленным изменением входных сигналов.
Например, для микросхемы NC7WZ04P6X оговаривается, что при напряжении питания 5В скорость нарастания входных сигналов должна быть выше 5нс/В (20нс/В для напряжения питания 2В). В противном случае микросхема может выйти из строя, так как на транзисторах мощного буферного каскада рассеивается слишком большая мощность из-за одновременно открытых транзисторов верхнего и нижнего плеча (сквозной ток). Поэтому для RC генераторов, например, может потребоваться использовать старую 176 серию (CD4000), которая не имеет буферных каскадов и подобных ограничений. Выпускаются и специализированные микросхемы, которые могут работать с медленно изменяющимися сигналами (почти аналоговыми), но они дороги. Или использовать триггеры Шмитта.
Заключение
На сегодня, пожалуй, достаточно. Мы рассмотрели далеко не все типы элементов цифровой логики. Да и рассмотрение было очень кратким, обзорным. Тем не менее, наиболее известные и популярные типы показаны. Исключение - инжекционная логика, которая сегодня мало известна. Но она весьма интересна и я просто не мог ее пропустить.
Если что то осталось непонятным, что то упущено, нашли ошибку - пишите в комментариях. Если тема окажется интересной, напишу более подробные статьи.
До новых встреч!