Знакомясь с различными электронными устройствами, вы узнали, что некоторые из них обладают таким сугубо «человеческим» свойством, как способность к логическим действиям (см. «М-К», 1989, № 11, «Логика машин»). Но, оказывается, такие приборы не единственны. Существуют устройства с еще одной замечательной особенностью, присущей, казалось бы, только людям. Речь идет о памяти. Подобно тому как мы помним прошедшие события, скажем прочитанной книги или просмотренного кинофильма, эти приборы подолгу могут хранить заложенную в них информацию. А возникла в ней необходимость — прибор выдаст ее в любое время.
Устройства с таким замечательным свойством получили название триггеров. Благодаря ему триггеры стали применять в самых разнообразных областях электроники — автоматике, измерительных приборах, импульсной аппаратуре. А в вычислительной технике они оказались просто незаменимы. Ведь любое вычислительное устройство — от карманного микрокалькулятора до больших ЭВМ — невозможно представить без элементов, способных накапливать и хранить информацию.
Познакомьтесь с устройством триггера. Но вначале вспомните об уже известном вам мультивибраторе (см. «М-К», 1983, № 11, «Елка-малютка»). Оказывается, триггер — его ближайший «родственник». В этом нетрудно убедиться, взглянув на принципиальную схему триггера (рис. 1). Не правда ли, в ней много общего со схемой симметричного транзисторного мультивибратора?
Роль переключателей, как и в мультивибраторе, в триггере выполняют два транзистора VT1 и VT2 с проводимостью p-n-p-типа. Резисторы R1 и R6 ограничивают коллекторные токи транзисторов, а конденсаторы C1, С3 и резисторы R2, R4 образуют цепи обратной связи. Теперь выясним, для чего нужна батарея GB1. Оказывается, вместе с резисторами R3 и R5 она создает необходимое напряжение смещения на базах транзисторов. Управляющие сигналы поступают в устройство со входов 1 и 2.
Предположим, после включения питания транзистор VT1 оказался закрытым, а VT2 — открытым. Напряжение на его коллекторе в этом случае практически равно нулю. Такое состояние триггер может сохранять сколь угодно долго. Теперь подадим на вход 1 управляющий сигнал — короткий импульс. Через конденсатор C2 он поступит на базу VT1, и транзистор откроется. Одновременно через цепь обратной связи C1R2 на базу VT2 также поступит управляющий импульс, но противоположной полярности. В результате транзистор VT2 закроется, и напряжение на его коллекторе мгновенно возрастет до величины напряжения питания. В этом состоянии триггер также может находиться сколь угодно долго. Кроме того, он уже не будет реагировать на управляющие импульсы, поступающие на вход 1. Чтобы вернуть триггер в исходное состояние, подадим импульс напряжения на вход 2. В этом случае все произойдет в обратном порядке. Напряжение на коллекторе VT2 при этом вновь упадет до нуля.
Вероятно, пока мы разбирались в работе триггера, у вас возникли вопросы: за счет чего триггер может сохранять устойчивое состояние, переходя из одного в другое почти мгновенно? Объясняется это просто. Батарея GBI создает напряжение смещения на базах транзисторов, которое меньше амплитуды входных управляющих импульсов, но достаточное, чтобы удержать транзисторы в устойчивом состоянии. В то же время переключение полупроводниковых приборов происходит по уже знакомым нам законам лавинообразных процессов (см. «М-К», 1990, № 3, «Лавина в транзисторе»).
О состоянии триггера судят по напряжению на его выходе. Поскольку оно может принимать только значения высокого и низкого уровней, им присвоили условные цифровые коды: 1 и 0. Теперь вам уже, вероятно, ясно, что триггер выполняет функции логического элемента.
Попробуем разобраться, каким образом триггер может служить запоминающим устройством. Как вы уже знаете, информация на его выходе принимает одно из двух состояний: 1 или 0. А так как в любом из этих состояний триггер может находиться сколь угодно долго (при условии, что на его входы не поступают управляющие сигналы), то тем самым триггер хранит информацию. По сути, это маленькая ячейка памяти или, образно говоря, «камера хранения» с одним местом для багажа. Понятно, что возможности такой ячейки невелики — ведь запомнить она может всего лишь одно число: 0 или 1. Но уже четыре триггера, объединенные в одно устройство, способны хранить в своей памяти любое число от 0 до 15, «записанное» в двоичном коде. Чем больше триггеров задействовано, тем больше объем памяти.
Собранные на транзисторных триггерах электронно-вычислительные машины были слишком громоздкими и тяжелыми. Стремясь постоянно уменьшить габариты и вес ЭВМ, триггеры со временем научились собирать по интегральной технологии. Так родилось новое поколение триггеров-микросхем. Они оказались и компактней и легче своих старших собратьев, а потому их постепенно вытеснили из вычислительной техники.
Что же представляет собой триггер, собранный на логических ИМС? Рассмотрим аналог транзисторного симметричного триггера, выполненный на уже знакомых вам двух элементах 2И-НЕ (см. «М-К», 1989, № 11, «Логика машин»). Его принципиальная схема показана на рисунке 2а. У него, как и у триггера на дискретных элементах, два установочных входа и один выход, обозначенный латинской буквой Q. Выводу, через который триггер устанавливают в «единичное» состояние, присвоен символ S (первая буква английского слова Set — установка). Вывод установки триггера в «нулевое» состояние имеет символ R (первая буква слова Reset — возврат). Такое устройство называется RS-триггер.
Чтобы понять, как он действует, воспользуемся так называемой таблицей истинности (рис. 2б). Она показывает, каким будет сигнал на выходе триггера при определенной комбинации входных сигналов. Когда на вывод S подано напряжение низкого уровня, а на R — высокого, на выходе установится логическая 1. Если уровни логических сигналов на входах S и R поменять на противоположные, триггер переключится в «нулевое» состояние. При подаче на оба входа напряжения логической единицы состояние триггера не изменится — на это указывает крестик в таблице. И наконец, при «нулевых» сигналах на выводах S и R устройство переключится в «единичное» состояние. Однако такой результат противоречит логике действия триггера, поэтому данную комбинацию входных сигналов принято считать недопустимой.
Триггерами на логических элементах управляют так же, как и транзисторными, при помощи импульсных сигналов. При этом на одном из входов обязательно должно быть постоянное напряжение высокого логического уровня. Если необходимо установить триггер в «единичное» состояние, напряжение высокого уровня подают на вывод R, а управляющий сигнал отрицательной полярности (что соответствует нулевому логическому уровню) — на вывод S. Для установки триггера в «нулевое» состояние поступают наоборот.
А теперь предлагаем вам на практике познакомиться с возможностями триггеров, собрав электронную игру «Лабиринт». Чтобы иметь представление, как она действует, вообразите такую картину. Вы стоите перед входом в настоящий лабиринт и знаете, что выход из него заперт на пять замков. У вас непростая задача — найти не только дорогу, ведущую к выходу, но и отыскать пять ключей, спрятанных в закоулках лабиринта. Но и это еще не все — оказывается, ключи можно забирать только в определенном порядке: сначала от первого замка, затем от второго, третьего, четвертого и, наконец, от пятого. Если же вы первым нашли ключ, например, от второго замка, то взять его не удастся. Он так и останется на своем месте. Единственно, что можно предпринять в этой ситуации,— запомнить, где он лежит. Нашли первый ключ — вот тогда и забирайте второй, а затем и все остальные по порядку. После того как все ключи подобраны, можно отправляться к выходу.
Наша игра имитирует такой лабиринт. Он изображен на ее лицевой панели. Кроме того, на ней имеется шесть лампочек, пять из которых символизируют ключи от замков, а шестая, загораясь, оповещает об окончании игры. Если вам удалось найти один из ключей, загорается соответствующая лампа, которая погаснет сразу после того, как вы удалитесь от места, где он лежит. Если же его удалось взять с собой, лампа будет гореть до конца игры. Она заканчивается, когда вы выходите из лабиринта со всеми пятью ключами.
Чтобы участвовать в игре, вам потребуется деревянная палочка с закругленными концами. Проводя одним из них по изображению лабиринта, вы тем самым как бы идете по нему. Когда конец палочки попадает на место, где спрятан ключ, загорается соответствующая лампа. На рисунке оно ничем не обозначено, и заранее определить его невозможно. Смысл игры заключается в том, чтобы выявить, кому из участвующих в соревновании быстрее всех удастся найти ключи и выйти из лабиринта.
И еще одна немаловажная деталь. Обязательно выберите судью, который давал бы команду на старт, фиксировал время каждого из участников, записывал результаты, следил за тем, чтобы никто из игроков не пересекал «стенки» между проходами, и, наконец, подводил итоги соревнования.
Итак, с правилами игры вы знакомы. Теперь пора выяснить, как устроен наш лабиринт. Обратимся к его принципиальной схеме на рисунке 3. Игра выполнена на трех интегральных микросхемах К155ЛА3, на логических элементах 2И-НЕ которых собрано шесть RS-триггеров. Они последовательно соединены друг с другом. Переключатели SA1—SA5 выполняют роль «ключей» — их необходимо будет найти во время игры. Индикаторные лампы HL1 — HL5, символизирующие эти «ключи», и HL6 — «Финиш», оповещающая об окончании игры, подключены к выходам триггеров через шесть усилителей. Они собраны на транзисторах VT1—VT6 и резисторах R1—R6. Переключатель SA6 установлен на выходе из лабиринта. При его срабатывании загорается лампа HL6.
Питается устройство от батареи GB1, которая подключается к электрическим цепям игры с помощью тумблера SA7. Кнопку SB1 «Сброс» нажимают после окончания очередной попытки, чтобы перевести устройство в исходное состояние и тем самым подготовить его к следующей партии.
Работает устройство так. В исходном состоянии после включения питания на выходах всех триггеров устанавливается напряжение логического 0. При кратковременном нажатии переключателя SA1 первый триггер, собранный на элементах DD1.1 и DD1.2 микросхемы DD1, переходит в «единичное» состояние, после чего загорается индикаторная лампа HL1. Если теперь кратковременно замкнуть переключатель SA2, то в «единичное» состояние перейдет второй триггер и загорится лампа HL2. При последовательном замыкании остальных переключателей все будет происходить похожим образом — оставшиеся триггеры друг за другом станут переходит в «единичное» состояние, а вслед за ними будут загораться лампы HL3 — HL6.
А что произойдет, если мы первым замкнем, например, переключатель SA2? В этом случае загорится лампа HL2. Когда же контакт переключателя вновь разомкнется, лампа погаснет. Почему? В первый момент на входе R триггера будет логический 0, на S-входе — 1, и, следовательно, на выходе — напряжение низкого логического уровня. При нажатии переключателя SA2 на входе S появляется 0, и триггер переходит в «единичное» состояние, а при размыкании SA2 — вновь в «нулевое». Правда, вспомните, такая операция с RS-тpиггepoм считается некорректной. В данном же случае мы поступились этим принципом, чтобы во время игры можно было находить «ключи» не по порядку.
Ознакомившись с принципом действия игры, приступайте к ее сборке. Прежде всего изготовьте монтажную плату. Ее лучше всего сделать из фольгированного гетинакса или текстолита толщиной 1—2 мм, размером 58X38 мм (рис. 4). Все отверстия под выводы радиоэлементов просверлите Ø1 мм, а крепежные — Ø2,5 мм.
Какие же детали можно использовать в самоделке? Микросхемы — К155ЛА3, транзисторы — КТ315 с любым буквенным индексом, резисторы — ВС, МЛТ, ОМЛТ, С2-23 или С2-33, лампы — СМН6.3-20 с гибкими выводами. Если у вас есть лампы с жесткими выводами, для их установки потребуются держатели МФС-1. Тумблер SA7 — из серии МТ, МТД, ПДМ, Т3; кнопочный переключатель — П2К или подобный ему; батарея питания с напряжением 4,5 В (например, «Рубин», «Планета»). Подойдут также три гальванических элемента по 1,5 В — «Орион», «Прима».
Отдельно расскажем о конструкции переключателей SA1 — SA6. Они собираются в виде одного плоского узла, состоящего, подобно пирогу, из нескольких слоев (рис. 5—8). Первый слой—лист плотной бумаги, например ватмана, на одной стороне которого изображены контуры лабиринта. Их можно нанести ручкой или фломастером черного цвета. Вариант такого лабиринта — на рисунке 5. С обратной стороны ватмана приклейте «Моментом» лист тонкой медной фольги и припаяйте к нему монтажный провод, соединив его второй конец с «минусовой» шиной питания (рис. 6). Это будущие подвижные контактные пластины переключателей, соединенные между собой. На фольгу накладывается изоляционная прокладка. Ее также вырежьте из листа ватмана (рис. 7). По площади прокладки сделайте шесть квадратных отверстий размером 10 Х 10 мм, причем одно из них в верхнем левом углу.
И наконец, последняя деталь этого узла — монтажная плата с неподвижными контактами переключателей. Ее необходимо изготовить из фольгированного гетинакса или текстолита толщиной 1,5—2 мм (рис. 8). Плата имеет шесть токоведущих дорожек — одну вверху слева и пять поперечных К ним необходимо подпаять провода для соединения с соответствующими выводами на плате триггеров и усилителей. Причем угловая токоведущая дорожка обязательно должна быть соединена с ножкой 9 микросхемы DD3. Это будет «финишный» переключатель SA6, срабатывающий, когда игра оканчивается и вы «выходите» из лабиринта. Благодаря его действию загорается лампа HL6 «Финиш».
При сборке узла переключателей SA1—SA6 ориентируйтесь на одинаковые буквенные обозначения сторон всех слоев «пирога». Его вид сбоку показан на рисунке 9.
Как же действуют переключатели? Когда вы проводите палочкой по ходам лабиринта и попадаете ею в область, под которой изолирующая прокладка имеет отверстие, фольга замыкается с одной из токопроводящих дорожек и S-вход соответствующего триггера оказывается «заземленным». При этом загорается индикаторная лампа.
Ну а теперь «игру» нужно поместить в корпус. Для этой цели подойдет любая пластмассовая коробка размером 160 Х 120 мм, высотой 30—50 мм. Плату триггеров и усилителей вместе с батареей закрепите на дне корпуса. На лицевой панели (рис. 10) игровым полем вверх разместите плату переключателей, кнопку, тумблер SA7 и индикаторные лампы. Первые пять из них расположите по порядку, а шестую немного в стороне. Лампы с гибкими выводами можно приклеить «Моментом». Баллоны ламп покрасьте лаком красного цвета. На поверхности лицевой панели нанесите обозначения, как показано на рисунке.
Если вы правильно собрали устройство и применили в нем исправные детали, оно готово к работе сразу после включения питания. В налаживании игра не нуждается.
Постарайтесь смонтировать узел переключателей SA1—SA6 так, чтобы игровое поле с листком фольги можно было приподнять с одной стороны и вынуть из-под него изолирующую прокладку. Чтобы игра была по возможности разнообразной, изготовьте несколько таких прокладок с различными комбинациями расположения отверстий — размещение «ключей» в лабиринте тогда будет меняться. Два отверстия не должны располагаться над одной и той же токопроводящей дорожкой платы переключателей.
Не забудьте изготовить прочную деревянную или пластмассовую палочку, закруглив ее концы и отшлифовав их мелкой наждачной бумагой. Если после включения игры загорелась одна из ламп, погасите ее, нажав кнопку «Сброс». Если вы подобрали все ключи, но на финише погасло несколько ламп, значит, села батарея питания и ее необходимо заменить на свежую.
В. Янцев