Как все это работает?

Вопросы никогда не бывают нескромными.

В отличие от ответов.

Оскар Уайльд

А сейчас поговорим о назначении и принципах работы простейших логических элементов и узлов, выполненных на их основе. Любой логический элемент имеет один или несколько входов и один или несколько выходов. Подавая различные комбинации цифровых сигналов на входы и фиксируя состояние выходов, можно исследовать логические схемы, составить для них таблицы истинности — таблицы, отражающие поведение схемы при всевозможных комбинациях входных сигналов. Составление таблицы истинности — это наиболее простой способ описания простых устройств цифровой техники. Существуют и другие способы, например временные диаграммы, в которых все сигналы «разворачиваются» на временной горизонтальной оси в виде графика. Можно описывать работу словами или же языком математики (есть так называемая Булева алгебра — Дж. Буль (1815–1864) — английский математик разработал специальную алгебру логики). Кроме языка математики, со всеми остальными способами мы с вами познакомимся. Но для описания многих логических элементов таблиц истинности вполне достаточно.

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

Простейшие логические элементы

Один логический элемент, в зависимости от технологии его изготовления, может состоять из 5…15 компонентов (транзисторов, резисторов, диодов). На одном кристалле полупроводника за один технологический цикл изготавливается сразу несколько аналогичных логических элементов, связанных между собой только цепями питания, что позволяет уменьшить габариты и стоимость разрабатываемой конструкции. К тому же при разработке топологии печатной платы в этом случае можно использовать те элементы, для которых проще всего выполнить разводку соединения (элементы можно менять местами на электрической схеме). Чтобы не загромождать схему линиями, обычно цепи питания микросхем не рисуют (их указывают отдельно), но об их необходимости подключения не следует забывать, иначе ничто работать не будет.

Еще необходимо учитывать, что в цифровых схемах логические элементы могут иметь один из пяти вариантов выполнения выходного каскада (рис. 14.8):

Рис. 14.8. Разные варианты внутренней структуры выходных каскадов цифровых микросхем

а) обычный выход (чаще всего комплиментарный), на котором может присутствовать либо 0, либо лог. 1 (он непосредственно подключается к входу другого логического элемента). На электрической схеме такой выход ничем не выделяют — их большинство;

б) выход с открытым коллектором или стоком (если к такому выходу не подключить внешний резистор, соединенный с +Uп, то мы не увидим никакого изменения уровня сигнала). Открытые выходы можно объединять между собой, то есть они могут работать на одну нагрузку (резистор). На электрической схеме такой выход обозначается ромбиком с чертой внизу;

в) выход с тремя состояниями. На нем может быть либо 0, либо лог. 1, либо «ничего» — так называемое высокоимпедансное состояние (Z-состояние) — вывод как бы повисает в воздухе. Выполняется это за счет того, что выходными транзисторами можно раздельно управлять, и перевод в это состояние осуществляется закрыванием обоих транзисторов. На электрической схеме такой выход обозначается ромбиком с чертой посередине (например, такой является микросхема K561ЛH1 с 6 инверторами, рис. 14.9);

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

Ну а теперь давайте познакомимся с самыми распространенными элементами, рис. 14.9 (их работу надо запомнить).

Рис. 14.9. Простые логические микросхемы

Повторитель сигнала — элемент, не несущий в себе никакой осмысленной цифровой операции. Принцип работы следует из его названия, а таблица истинности показана на рис. 14.10.

Рис. 14.10. Таблица истинности повторителя сигнала

Он используется для увеличения нагрузочной способности выходов, для буферирования слабых цифровых сигналов (усиления по току), для преобразования электрических уровней и согласования, разных типов микросхем. Одинаковые логические элементы можно включать параллельно по 2–4 штуки, это увеличивает нагрузочную способность (выходной ток). В крайнем случае роль буферного элемента может выполнять каскад эмиттерного повторителя на любом транзисторе — так делают, когда необходим только один или два повторителя, из-за чего неудобно ставить микросхему, имеющую их аж 6 штук или же когда на выходе нужен ток, превосходящий возможности одного буфера (для управления реле или ИК-диодом).

Инвертор — логический элемент, выполняющий операцию логического отрицания НЕ (NOT — обозначение этой операции в зарубежной литературе).

Таблица истинности инвертора показана на рис. 14.11.

Рис. 14.11. Таблица истинности инвертора НЕ (NOT)

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

Элемент И — выполняет функцию логического умножения (AND). Работу его очень просто продемонстрировать с помощью схемы, выполненной на реле, рис. 14.12.

Рис. 14.12. Пояснение работы логического элемента И

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

Диаграмма напряжений и таблица истинности этого элемента показаны на рис. 14.13.

Рис. 14.13. Диаграмма напряжений и таблица истинности элемента И (AND)

Чаще всего показанный логический элемент обозначают, как 2И, поскольку входов у схемы — два; существуют разновидности элементов, выполняющих функцию логического умножения трех (3И) и более входных сигналов. В любом случае изменение сигнала на выходе произойдет при одновременной установке в высокий уровень всех входных сигналов.

Элемент И-НЕ — разновидность элемента, выполняющего функцию логического умножения с той разницей, что на выходе осуществляется операция НЕ (NOT) — инверсия. Таблица истинности такого элемента показана на рис. 14.14. По аналогии с предыдущим элементом имеются также элементы 3И-НЕ и другие.

Рис. 14.14. Таблица истинности и диаграмма напряжений элемента И-НЕ (NAND)

Элемент ИЛИ — выполняет функцию логического сложения (OR). Вновь проиллюстрируем работу с помощью простейшей схемы, показанной на рис. 14.15.

Рис. 14.15. Пояснение работы логического элемента ИЛИ

В разомкнутом состоянии переключателей SA1 и SA2 прибор PV регистрирует низкий уровень, при замыкании переключателей SA1 или SA2 регистрируется высокий уровень, то же самое происходит и при их одновременном замыкании.

Таблица истинности элемента показана на рис. 14.16.

Рис. 14.16. Диаграмма напряжений и таблица истинности элемента ИЛИ (OR)

Элемент ИЛИ-HE (NOR) показан на рис. 14.17 и дополнительных пояснений не требует.

Рис. 14.17. Таблица истинности и диаграмма напряжений элемента ИЛИ-HE (NOR)

Элемент Исключающее ИЛИ (XOR) — может быть составлен из названных элементов путем их соединения по определенному правилу. Однако этот элемент принято включать в набор «кирпичиков» цифровой техники, поскольку функция, выполняемая им, уникальна. Это — цифровой компаратор, который сигнализирует о равенстве сигналов на входах. На выходе будет лог. 0 только когда на обоих входах 0 или 1. Таблица истинности этого элемента показана на рис. 14.18.

Рис. 14.18. Таблица истинности и диаграмма напряжений элементу Исключающее ИЛИ (XOR)

Элемент Исключающее ИЛИ-HE (XNOT-OR) мало чем отличается от предыдущего элемента. На выходе будет лог. 1, только когда на обоих входах 0 или 1. Таблица его истинности показана на рис. 14.19.

Рис. 14.19. Таблица истинности и диаграмма напряжений элемента Исключающее ИЛИ-НЕ (XNOT-OR)

Кроме описанных простейших элементов, часто используются и более сложные, размещенные в одном корпусе микросхемы. Например, элемент 2И-ИЛИ, изображенный на рис. 14.20, может быть заменен показанной эквивалентной схемой.

Рис. 14.20. Вариант комбинации логических элементов в одном корпусе для удобства создания конструкций

Иногда в практических схемах, кроме обычных логических элементов, можно встретить логические элементы, выполненные на диодах-резисторах (рис. 14.21).

Рис. 14.21. Диодно-резисторные логические элементы

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

Триггер — ячейка памяти

Итак, комбинационная логическая схема, как мы уже поняли, строится на основе элементарного логического элемента. Последовательностная логическая схема в своей основе имеет другой элементарный элемент — триггер. Но не думайте, что сейчас вы встретите что-то принципиально новое. В рассказе о триггере мы столкнемся со знакомыми нам логическими «кирпичиками», соединенными особым образом.

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

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

На практике часто используются триггеры Шмитта как с одиночным инвертирующим триггером, так и с логикой 2И-НЕ на входе, рис. 14.22.

Рис. 14.22. Триггеры Шмитта из серии К561

Если вам не удалось приобрести одиночный триггер Шмитта, то его можно заменить эквивалентом, собранным на двух обычных инверторах, как это показано на рис. 14.23, но для этого придется. установить дополнительные резисторы, как показано.

Рис. 14.23. Замена инвертирующего элемента триггера Шмитта его аналогом на двух инверторах

Рис. 14.24 поясняет процесс переключения такого элемента.

Рис. 14.24. Гистерезисная характеристика триггера Шмитта (с инверсией сигнала и диаграммы напряжений, поясняющие работу

На них удобно выполнять генераторы импульсов, как это показано на рис. 14.25.

Рис. 14.25. Генератор импульсов на основе триггера Шмитта

RS-триггер (его вид и эквивалентная структура, но собранная на двух отдельных элементах 2ИЛИ-НЕ, приведены на рис. 14.26).

Рис. 14.26. RS-триггер, таблица истинности для прямого выхода Q и его внутренняя структура

Входы имеют уникальные названия: S (set) — установка, R (reset) — сброс. Работу триггера поясняет приведенная таблица истинности, где Q(t) — состояние выхода до появления управляющего входного сигнала, a Q(t+1) — последующее состояние (для инверсного выхода, если он есть, все то же самое, только наоборот).

При подаче на оба входа триггера (R и S) уровня логической единицы состояние — на выходах не определено (непредсказуемо), поэтому такой сигнал является запрещенным и обычно, не используется. Для установки на выходе Q логической единицы необходимо подать лог. 1 на вход S, и наоборот — для установки лог. 0 достаточно кратковременно подать лог. 1 на входе R. При нулевых уровнях на входах состояние триггера не изменяется — это состояние называется режимом хранения. При включении питания состояние триггера не определено — он может с равной вероятностью иметь на выходе Q как единицу, так и ноль.

Среди серии 561 в качестве RS-триггеров могут использоваться микросхемы приведенные на рис. 14.27.

Рис. 14.27. Микросхемы многофункциональных триггеров

Реальные микросхемы, выпускающиеся промышленностью, чаще всего являются совмещенными — их можно использовать и в качестве RS-триггеров, и в качестве других типов триггеров. Это на практике оказывается удобнее, чем применять триггеры «в чистом виде».

На рисунке из трех типов микросхем только одна является в чистом виде RS-триггером (561TP2). Две остальные многофункциональны, но если у них дополнительные входы не использовать (т. е. подключить к общему проводу), а сигналы подавать только на R и S входы, то мы получим типичный RS-триггер.

В одном корпусе у микросхемы 561ТР2 имеется четыре независимых триггера, а дополнительный вход EZ (если на нем лог. 0) позволяет переводить выходы всех триггеров в Z-состояние.

D-триггер — имеет и другое название — триггер с задержкой на такт (типичный вид его показан на рис. 14.28).

Рис. 14.28. D-триггер, диаграмма напряжений и таблица истинности, поясняющая его работу

Вход D (data — информация) называется информационным, а вход С (clock — часы) — синхронизирующим. Работает триггер следующим образом. При подаче тактового импульса на вход С, представляющего собой, например, перепад логического сигнала из низкого уровня в высокий (об этом указывает наклонная черта у вывода, как показано на рис. 14.28), происходит запись логического сигнала, установленного на входе D, в триггер. Логический сигнал, записанный в триггере, появляется на прямом и инверсном выходах (Q и ), как показано на временной диаграмме, представленной на том же рисунке.

Среди микросхем 561 серии в режиме D-триггера могут работать 561ТМ2 (в этом случае входы R и S соединяются с общим проводом), 561ТВ1 (входы J и К объединяются и используются как D, a R и S соединяются с общим проводом), а также 561ТМЗ (рис. 14.29).

Рис. 14.29. D-триггер из серии 561

Последняя микросхема содержит четыре триггера, имеющих индивидуальные входы D и два выхода (прямой и инверсный), но вход тактовый (С) у всех триггеров общий, к тому же имеется возможность переключать момент срабатывания триггеров при помощи входа V (если на нем низкий уровень — информация появится на выходе по переднему фронту на С, а если высокий — по заднему).

Т-триггер легко сделать из D-триггера, соединив информационный вход и инверсный выход, как показано на рис. 14.30.

Рис. 14.30. Т-триггер (а), преобразование D-триггера в Т-триггер (б) и поясняющая его работу диаграмма (в)

Этот триггер обладает удивительным свойством — он делит на 2 частоту сигнала, поступающего на вход С. Т-триггер находит применение в счетчиках цифровых сигналов, о которых мы поговорим чуть позже.

JK-триггер — пожалуй, самый сложный и наиболее универсальный из всех, рис. 14.31.

Рис. 14.31. JK-триггер и таблица истинности, поясняющая его работу

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

Цифровые счетчики

Простейший счетчик импульсов можно построить, соединив каскадно несколько Т-триггеров, как показано на рис. 14.32.

Рис. 14.32. Простейший 4-разрядный асинхронный счетчик, построенный на основе Т-триггеров

Каждая последующая ступень делит цифровой сигнал по частоте в 2 раза. С помощью такого счетчика можно зафиксировать 16 импульсов. Двоичный код на выходах будет меняться так, как показано в таблице на рис. 14.33 и на диаграммах напряжений, рис. 14.34.

Рис. 14.33. Счетчик, состоящий из JK-триггеров, и счетная последовательность по модулю 16

Рис. 14.34. Диаграмма, поясняющая работу счетчиков импульсов

Обратите внимание: сигнал с выхода предыдущего триггера поступает на тактовый вход последующего. Такая схема построения счетчиков называется асинхронной.

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

Счетчики бывают реверсивные и нереверсивные. Реверсивные могут считать импульсы, увеличивая или уменьшая значение двоичного кода на его выходах (например, К561ИЕ11, К561ИЕ14). Изменение направления счета, как правило, задается с помощью сигнала на отдельном входе, имеющего обозначение ± или ±1. Реверсивные счетчики могут генерировать увеличивающийся или уменьшающийся двоичный код. Многие счетчики имеют входы предустановки, которые позволяют «загрузить» в него определенный код и продолжить счет не от нулевого (или, максимального) значения, а именно от этого кода.

Практически все счетчики имеют вход сброса (R), подача сигнала на который устанавливает выходы в исходное состояние, то есть нулевое, рис. 14.35.

Рис. 14.35. КМОП микросхемы счетчиков

Все они считают импульсы, приходящие на вход, а некоторые имеют свободные логические элементы для выполнения задающего автогенератора в составе микросхемы (К176ИЕ5, К176ИЕ12). Есть счетчики, которые имеют внутри на выходе встроенный дешифратор двоичного кода в десятичный (например, К561ИЕ8 и К561ИE9). С особенностями работы таких счетчиков удобнее знакомиться на основе практических конструкций.

Интересными представителями этой группы логических «кирпичиков» считаются счетчики с переменным коэффициентом деления. Что это такое? Чуть выше мы рассмотрели 4-разрядный (тетрадный) двоичный счетчик. Не является ли излишним такое уточнение? Ничуть! Двоичный счетчик генерирует код, который легко представить в шестнадцатиричной системе, по шестнадцати состояниям. Но существуют также и десятичные счетчики, которые, досчитав до 9 от 0, вновь начинают с нуля. Десять цифр просто представлены своим двоичным эквивалентом, и не более. Есть и счетчики с коэффициентами 8, 6, а есть и такие, которые могут стать и десятичными, и двоичными, и другими — по желанию разработчика. Со временем читатель познакомится с этими представителями элементов цифровой техники.

Разные регистры

Очень часто в цифровых схемах используются регистры. Регистры, в отличие от счетчиков, не подсчитывают количество импульсов, а используются для накопления и сдвига данных. Самый простой вид регистра — сдвиговый. Его устройство изображено на рис. 14.36, а диаграмма, поясняющая работу, показана на рис. 14.37.

Рис. 14.36. Сдвиговый 4-разрядный регистр

Рис. 14.37. Диаграмма, поясняющая работу сдвигового регистра

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

Регистр сдвига легко превратить в параллельный кольцевой регистр. Для этого достаточно соединить выход «5» со входом «1» и ввести выводы параллельной загрузки двоичного кода в регистр. При подаче тактовых импульсов код будет «циркулировать» по регистру, то есть перемещаться в нем по кольцу.

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

Преобразователи кодов сигналов

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

Наиболее часто в радиолюбительской практике встречается два вида дешифраторов. Условное обозначение обоих видов различается мало. На рис. 14.38, а, показан первый вид дешифратора.

Работает он следующим образом. При подаче на выводы «А0»…«АЗ» двоичного кода, на одном из выходов «0»…«9» появится сигнал лог. 1. Например, при подаче двоичного кода соответствующего цифре «5», на выходе «5» появится высокий уровень сигнала, а на всех остальных выходах — низкий. И так далее.

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

Рис. 14.38. Микросхемы дешифраторов:

а — десятичного кода; б— для управления цифровым индикатором

А теперь несколько слов о шифраторах. Этот элемент очень похож на дешифратор первого вида с той лишь разницей, что входы становятся выходами, а выходы — входами. Двоичный код здесь не управляет элементом, а генерируется им.

Коммутаторы цифровые и аналоговых сигналов

Вы уже знаете, что в аналоговой схемотехнике для коммутации сигналов используются переключатели. И, если нужно один единственный сигнал подавать то на одну схему, то на другую, применяется переключатель «на несколько положений» — так называемый многоканальный переключатель. В цифровой технике для этих целей используются мультиплексоры и демультиплексоры.

У мультиплексора имеется несколько входов и один выход. Переключение осуществляется с помощью двоичного кода, подаваемого на специально предусмотренные входы. Отличие демультиплексора от мультиплексора заключается в том, что у демультиплексора один вход и несколько выходов. В остальном он подобен мультиплексору.

Созданы и специальные аналоговые мультиплексоры (коммутаторы), управляемые цифровыми уровнями, — они более близки к механическим включателям и применяются довольно часто. Для таких элементов безразлично, какой из выводов ключа будет являться входом, а какой выходом, а во включенном состоянии сам канал имеет маленькое сопротивление (20…100 Ом). Такое сопротивление часто можно не учитывать. Аналоговые коммутаторы более универсальны, так как могут передавать не только цифровые, но и любые другие сигналы, важно только, чтобы они не превышали напряжения питания для микросхемы (рис. 14.39).

Рис. 14.39. Обозначение и внутренняя структура часто используемых коммутаторов из серии 561

* * *

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