Логические микросхемы. Часть 8. D – триггер
В статье приводится описание D – триггера, его работа в различных режимах, простая и наглядная методика изучения принципа действия.
В предыдущей части статьи было начато изучение триггеров. Самым простым в этом семействе считается RS триггер, о котором и было рассказано в седьмой части статьи. Более широкое применение в устройствах электроники получили D и JK триггеры. По смыслу действия они, как и RS триггер, также являются устройствами с двумя устойчивыми состояниями на выходе, но имеют более сложную логику работы входных сигналов.
Следует отметить, что все сказанное будет справедливо не только для микросхем серии К155, а и для других серий логических микросхем, например, К561 и К176. И не только то, что касается триггеров, в точности также работают все микросхемы логики, отличие лишь в электрических параметрах сигналов – уровнях напряжения и рабочих частотах, мощности потребления и нагрузочной способности.
D триггер
В серии микросхем К155 имеется несколько модификаций D-триггеров, однако наиболее распространена микросхема К155ТМ2. В одном 14-выводном корпусе размещены два независимых D-триггера. Единственное, что их объединяет это общая цепь питания. Каждый триггер имеет четыре входных сигнала логического уровня и, соответственно, два выхода. Это прямой выход и инверсный, с которыми мы уже знакомы по рассказу об RS-триггере. Здесь они выполняют ту же самую функцию. На рисунке 1 представлен D-триггер.
Также имеются микросхемы, содержащие в одном корпусе по четыре D – триггера: это такие микросхемы как К155ТМ5 и К155ТМ7. Иногда в литературе их называют четырехразрядными регистрами.
Рисунок 1. Микросхема К155ТМ2.
На рисунке 1а показана вся микросхема в том виде, как ее обычно изображают в справочниках. На самом деле на схемах каждый триггер, находящийся в корпусе, может быть изображен вдалеке от своего «напарника», при этом на чертеже могут не показываться выводы, которые в данной схеме просто не используются, хотя на самом деле они есть. Пример такого начертания D-триггера показан на рисунке 1б.
Рассмотрим более подробно входные сигналы. Это будет сделано на примере триггера с выводами 1…6. Соответственно, все сказанное будет справедливо и в отношении другого триггера (с номерами выводов 8…13).
Сигналы R и S выполняют ту же функцию, что и аналогичные сигналы RS триггера: при подаче на вход S уровня логического нуля триггер установится в единичное состояние. Это означает, что на прямом выходе (вывод 5) появится логическая единица. Если же теперь подать логический нуль на R-вход, то триггер сбросится. Это значит, что на прямом выходе (вывод 5) появится уровень логического нуля, а на инверсном (вывод 6) будет присутствовать логическая единица.
Вообще, когда говорят о состоянии триггера, имеется в виду состояние его прямого выхода: если триггер установлен, то на его прямом выходе высокий уровень (логическая единица). Соответственно, подразумевается, что на инверсном выходе все с точностью до наоборот, поэтому инверсный выход часто при рассмотрении работы схемы просто не упоминают.
Логическую единицу на входы R и S можно подавать сколько угодно: состояние триггера не изменится. Это говорит о том, что для входов R и S рабочим является низкий уровень. Именно поэтому входы RS начинаются с маленького кружочка, который обозначает, что рабочий уровень сигнала низкий или, что то же самое, инверсный. Такой маленький кружочек у входных сигналов можно встретить не только у триггеров, а и в изображении некоторых других микросхем, например, дешифраторов или мультиплексоров, что также говорит о том, что рабочим уровнем данного сигнала является низкий уровень. Это общее правило для всех условных графических обозначений микросхем.
Кроме RS входов D-триггер имеет еще вход данных D, от английского Data (данные), и вход синхронизации C от английского же Clock (импульс, строб). Используя эти входы можно заставить триггер работать либо как элемент памяти, либо как счетный триггер. Для того, чтобы разобраться в работе D-триггера лучше собрать небольшую схему и провести несложные опыты.
Обратите внимание на изображение входа C: правый по рисунку конец этого вывода заканчивается небольшой наклонной чертой в направлении слева – вверх – направо. Эта черта говорит о том, что переключение триггера по входу C происходит в момент перехода входного сигнала из нуля в единицу. На рисунке 3 показана возможная форма импульсов на входе С.
Для того, чтобы более подробно разобраться с работой D – триггера лучше всего собрать схему, как показано на рисунке 2.
Рисунок 2. Схема для изучения работы D – триггера.
Рисунок 3. Варианты импульсов на входе С.
Для наглядности работы триггера подключим к его выходам (выводы 5 и 6) светодиодные индикаторы. Такой же индикатор подключим на вход С. Вход D через резистор сопротивлением 1 КОм подключается к шине источника питания +5 В, и, как показано на схеме, кнопка SB1. После того, как схема собрана, проверим качество монтажа, и после этого можно включать питание.
Работа D триггера по RS входам
При включении один из светодиодов HL2 или HL3 должен обязательно зажечься. Предположим, что это будет HL3, следовательно, при включении триггер установился в единицу, хотя может установиться и в нуль. Входные сигналы низкого уровня на входы RS будем подавать с помощью отрезка гибкого проводника соединенного с общим проводом.
Сначала попробуем подать низкий уровень на вход S, просто замыкая вывод 4 на общий провод. Что при этом произойдет? На выходах триггера сигналы останутся в том же состоянии, что и были при включении. Почему? Все очень просто: триггер уже находится в единичном состоянии или установлен, и подача управляющего сигнала на вход S просто подтверждает это состояние триггера, изменение состояния не происходит. Такой режим работы для триггера нисколько не вреден и достаточно часто встречается в работе реальных схем.
Теперь с помощью той же проволочки подадим низкий уровень на вход R. Результат не заставит себя ожидать: триггер перейдет в состоянии низкого уровня, или как еще говорят, сбросится. Повторная и последующая подача низкого уровня на вход R также просто подтвердит состояние, на этот раз нулевое, в точности так же, как это было описано чуть выше, для входа S. Из этого состояния его может вывести либо подача низкого уровня на вход S, либо комбинация сигналов на входах C и D.
Следует отметить, что иногда D – триггер может применяться просто как RS – триггер, то есть входы C и D не используются. В этом случае для повышения помехоустойчивости их следует через резисторы сопротивлением 1 КОм подключить к шине +5 В, либо соединить с общим проводом.
Работа триггера по входам C и D
Предположим, что в данный момент триггер установлен, поэтому зажжен светодиод HL3. Что произойдет, если нажать на кнопку SB1? Ровным счетом ничего, состояние выходных сигналов триггера не изменится. Если теперь по входу R сбросить триггер, то будет светить светодиод HL2, а HL3 погаснет. Нажатие на кнопку SB1 и в этом случае состояния триггера не изменит. Это говорит о том, что на входе С нет тактирующих импульсов.
Теперь попробуем на вход C подать тактирующие импульсы. Проще всего это сделать, собрав генератор прямоугольных импульсов, уже знакомый нам по предыдущим частям статьи. Его схема приведена на рисунке 4.
Рисунок 4. Генератор тактовых импульсов.
Чтобы наблюдать за работой схемы визуально, частота генератора должна быть невелика, при указанных на схеме деталях составляет около 1 Гц, то есть 1 колебание (импульс) в секунду. Частоту генератора можно изменять подбором конденсатора С1. Состояние входа С индицирует светодиод HL1: светодиод зажжен – на входе С высокий уровень, если погашен, то уровень низкий. В момент зажигания светодиода HL1 на входе С происходит формирование положительного перепада напряжения (из низкого уровня в высокий). Именно этот переход заставляет срабатывать D – триггер по входу С, а не наличие на этом входе высокого или низкого уровня напряжения. Это следует запомнить, и следить за поведением триггера именно в момент формирования фронта импульса.
Если на вход С подключить генератор импульсов и включить питание, то первым же импульсом триггер установится в единицу, последующие импульсы состояния триггера не изменят. Все сказанное справедливо для случая, когда переключатель SB1 находится в положении, указанном на рисунке.
Теперь давайте переключим SB1 в нижнее по схеме положение, тем самым подав на вход D низкий уровень. Первый же импульс пришедший с генератора переведет триггер в состояние логического нуля или триггер будет сброшен. Об этом нам подскажет светящийся светодиод HL2. Последующие импульсы на входе С также не меняют состояния триггера.
На рисунке 2б показана временная диаграмма работы триггера по CD входам. Предполагается, что состояние входа D меняется как показано на рисунке, а на вход С поступают периодические тактирующие импульсы.
Первый импульс на входе С устанавливает триггер в единичное состояние (вывод 5), а второй импульс состояния триггера не меняет, поскольку на входе С до сих пор уровень остается высоким.
Состояние входа D между вторым и третьим тактирующими импульсами изменяется с высокого уровня на низкий, это видно на рисунке 2. Но переключение триггера в нулевое состояние происходит лишь по началу третьего тактирующего импульса. Четвертый и пятый импульсы на входе С состояния триггера не изменяют.
Следует обратить внимание на тот факт, что сигнал на входе D изменил свое значение с низкого уровня на высокий во время тактирующего импульса на входе С. Однако, изменение состояния триггера не произошло, так как положительный фронт тактирующего импульса был раньше, чем произошло изменение уровня на входе D.
В единичное состояние триггер будет переключен лишь шестым импульсом, точнее его фронтом. Седьмой импульс сбросит триггер, так как во время его положительного фронта на входе D уже установился высокий уровень. Следующие импульсы работают точно также, поэтому читатели могут разобраться с ними самостоятельно.
Еще одна временная диаграмма приведена на рисунке 5.
Рисунок 5. Полная временная диаграмма работы D триггера.
На рисунке видно, что триггер может работать в трех режимах, два из которых уже были рассмотрены выше. На рисунке это асинхронный и синхронный режимы. Наибольший интерес на временной диаграмме представляет превалирующий режим: тут видно, что во время низкого уровня на входе R изменения состояния триггера по входам С и D не происходит, что говорит о том, что входы RS являются приоритетными. Также на рисунке 5 приведена таблица истинности для D – триггера.
Из всего сказанного можно сделать следующие выводы: каждый положительный перепад импульса на входе С устанавливает триггер в состояние, которое в этот момент было на входе D, или просто переносит его состояние на прямой выход триггера Q. Отрицательный перепад на импульса на входе С никакого влияния на состояние триггера не оказывает.
На рисунке 3 показаны возможные формы импульсов на С входе: это меандр (3а), короткие импульсы высокого уровня, или положительные (3б), короткие импульсы низкого уровня (отрицательные) (3в). В любом случае срабатывание триггера происходит по положительному перепаду.
В одних случаях это будет фронт импульса, а в других его спад. Это обстоятельство следует учитывать при разработке и анализе схем на D – триггерах. Работа D – триггера в счетном режиме Одним из основных назначений D – триггера является его использование в счетном режиме. Для того, чтобы заставить работать его в качестве счетчика импульсов, достаточно на вход D подать сигнал с его собственного инверсного выхода. Такое соединение показано на рисунке 6.
Рисунок 6. Работа D – триггера в счетном режиме.
В таком режиме по приходу каждого импульса на вход С, триггер будет менять свое состояние на противоположное, как показано на временной диаграмме. И объяснение этому самое простое и логичное: состояние на входе D всегда противоположно, инверсно, по отношению к прямому выходу. Поэтому, в свете предыдущего рассмотрения работы триггера, на прямой выход переносится его инверсное состояние. Один триггер, хоть и в счетном режиме, много не насчитает, всего лишь до двух: 0..1 и снова 0..1, и так далее.
Чтобы получить счетчик, способный считать по – настоящему потребуется соединить последовательно несколько триггеров, работающих в счетном режиме. Об этом будет рассказано несколько позже в отдельной статье. Кроме этого, следует обратить внимание на тот факт, что импульсы на выходе триггера имеют частоту ровно в два раза меньшую, чем входные на входе С. Это свойство используется в тех случаях, когда необходимо поделить частоту сигнала в число раз кратное двум: 2, 4, 8, 16, 32 и так далее.
Форма импульсов после деления триггером всегда есть меандр, даже в случае очень коротких входных импульсов на входе С. На этом рассказ о возможностях применения D триггера можно закончить. В следующей части статьи будет рассказано о применении триггеров типа JK
Продолжение статьи: Логические микросхемы. Часть 9. JK триггер