§ Микросхема

Это — легендарная микросхема К155ЛА3 (есть еще и КМ155 и 555, разные вариации). Она пользовалась колоссальной популярностью где-то в конце 80-х, начале 90-х годов из-за своей высокой доступности и простоты. Это сейчас она 50р стоит в розницу и 34р оптом на чипдипе на январь 2023 года, а тогда такие микросхемы были просто в достатке. Так что применялись они и для мультивибратора, и как цифровые и как аналоговые схемы, например усилители, в общем, применений — вагон. По стечению обстоятельств, у меня есть примерно 250 микросхем логики К155ЛА3 и КМ155ЛА3, но в этом нет смысла, потому что применять их не буду. Но мне стало интересно, что можно было бы сделать из них такого простого, что уместилось бы на беспаечной макетной плате.
Рис 1. Внутренняя структура микросхемы, и то, как микросхема выглядит
Рис 1. Внутренняя структура микросхемы, и то, как микросхема выглядит
Да, одну картинку я все-таки взял с другого сайта, каюсь.

§ Что можно сделать

Из одной микросхемы можно сделать по крайней мере, несколько модулей:
  • Элемент XOR
  • Мультиплексор
  • Демультиплексор
  • D-триггер

§ Элемент XOR

Начнем с самого первого, а именно, элемента XOR. Его схема приведена ниже на рисунке.
Рис 2. Схема XOR на 4 И-НЕ
Рис 2. Схема XOR на 4 И-НЕ
Последние 3 элемента представляют из себя схему на 2И и ИЛИ, потому она работает успешно из-за того факта, что когда подается две единицы либо на один из входов И, то на выходе тоже единица. Если же одновременно подается две единицы на вход A и B, то первый И-НЕ становится 0, и выход тоже 0, так что соблюдается таблица истинности XOR.
Рис 3. Печатная схема в EasyEDA
Рис 3. Печатная схема в EasyEDA
Внизу два контакта это входы A, B. Контакт сверху - выход C.

§ Мультиплексор

Элемент выбирает значение либо из A, либо из B, в зависимости от того, что установлено на пин S. Если S=0, то C=A, иначе C=B. Мультиплексор выступает в цифровой электронике в качестве оператора IF, кратко:
C = S ? B : A
Так работает мультиплексор.
Рис 4. Мультиплексор в Logisim
Рис 4. Мультиплексор в Logisim
Здесь опять требуются 4 логических элемента И-НЕ для реализации мультиплексора. С какой-то стороны, это даже удобно в чем-то. Один элемент — одна микросхема.
Рис 5. Как выглядит на печатной плате
Рис 5. Как выглядит на печатной плате
Соединения проводов на печатной плате представлено выше.

§ Демультиплексор

Да, с этим мне пришлось немало повозиться, прежде чем я нашел решение. Я даже написал специальную программу у себя на сайте, для того, чтобы отыскать решение. И это решение было успешно найдено.
Рис 6. Демультиплексор, 4 NAND Demux
Рис 6. Демультиплексор, 4 NAND Demux
Таблица истинности демультиплексора:
S A | Q1 Q2
0 0 | 0  0
0 1 | 1  0
1 0 | 0  0
1 1 | 0  1
Стоит описать принцип работы получше. Последние 2 NAND представляют из себя просто инверторы к элементам И-НЕ слева. Тот NAND, который снизу слева, представляет из себя типичную схему "AND", то есть, на выходе Q2 = A & S. Самая интересная часть это выход Q1.
На выходе Q1 сигнал 1 появится тогда, когда на входе левого верхнего NAND будет две единицы. Рассмотрим все случаи:
  • S=0, A=0, тут явно не будет 2 единицы
  • S=0, A=1, на выходе нижнего NAND будет 1, и как A=1, так что Q1=1
  • S=1, A=0, тоже будет 0
  • S=1, A=1, а вот тут как раз на выходе NAND снизу будет 0, потому что И-НЕ для двух единиц от A и S будет 0
По итогу получается таблица истинности 0,1,0,0 — именно такая, какая нам и нужна. Вот и вся премудрость, оказывается. Все очень просто. Но не столь очевидно на первый взгляд.
Рис 7. Печатная плата для расположения контактов demux
Рис 7. Печатная плата для расположения контактов demux

§ D-триггер

На микросхеме к155ла3 можно также создать триггер, который запоминает состояние, причем сделать триггер даже можно не один. Например, можно сделать 2 триггера, каждый из которых будет состоять из 2-NAND. Но это пока что неинтересно, потому что с D-триггером можно сохранять информацию с пина D по высокому уровню CLK.
Рис 8. Схема D-триггера
Рис 8. Схема D-триггера
Как работает триггер? Справа есть 2-NAND, выход одного является входом другого, тем самым достигая стабильного состояния, которое переключается в другое стабильное состояние при подаче 0 на один из входов. Состояние, когда ничего не переключается — это подача двух единиц на входы. Тогда на одном из выходов будет 1, на другом 0. Это зависит от случайности, в данном случае при подаче питания на триггер.
Слева есть 2 NAND, которые являются схемой переключения триггеров. Когда на входе D=0, CLK=0, то на выходе у обоих зафиксирован 1. Если CLK=1, то тогда на выходе сверху будет либо 0 (D=1), а снизу 1 , либо же, наоборот, либо 1 сверху и 0 внизу (D=0). О том, как работает этот триггер, я напишу в другой статье.
Теперь лишь остается нарисовать схему в EasyEDA.
Рис 9. Триггер для микросхемы
Рис 9. Триггер для микросхемы
На этом всё, рассмотрел все 4 схемы.