Предупреждение. Некоторые старые типы JK-триггеров представляют собой «ловушку для единиц». Этот термин вы не найдете ни в одной документации, он означает явление, которое может привести неосведомленного человека к весьма неприятным последствиям. Дело в том, что если на интервале, когда ведомый триггер открыт тактовым сигналом, вход J
и К (или оба одновременно) на какой-то момент изменит свое состояние, а затем до окончания тактового сигнала вернется в исходное, то это кратковременное состояние триггер запомнит и в дальнейшем он будет вести себя так, как если бы это состояние сохранилось. В результате триггер может переброситься на следующем тактовом перепаде, даже если сигналы, действующие в момент этого перепада на входах J и К подтверждают предыдущее состояние. Это может привести, мягко говоря, к своеобразному поведению. Проблема возникает из-за того, что эти триггеры были сконструированы в предположении, что тактовый импульс имеет очень короткую длительность, в то время как в действительности тактирование всегда производится сигналом конечной длительности. Если используется триггер типа «ведущий-ведомый», следует соблюдать меры предосторожности, либо вообще избегать их, применяя более надежные триггеры, работающие по фронту. Две хорошие альтернативы, которые используют истинно запуск по фронту, это приборы `112 и `109. Оба представляют собой сдвоенные (два в одном корпусе) JK-триггеры с асинхронными S- и R-входами, активными по низкому уровню. Устройство `112 срабатывает по отрицательному фронту тактового сигнала, а устройство `109 — по положительному.Схема `109 имеет интересную особенность, а именно, K-вход у него инверсный, поэтому иногда его называют JK-триггер с запретом. Таким образом, если вы соедините входы J
и К вместе, то получите D-триггер. Для перевода его в счетный режим вы заземляете вход К', а на входе J устанавливаете ВЫСОКИЙ уровень.Делитель на 2.
Легко построить схему делителя на 2, используя способность триггеров работать в счетном режиме. На рис. 8.54 показаны два способа построения такого делителя. JK-триггер работает в счетном режиме, когда оба входа имеют ВЫСОКИЙ уровень, производя на выходе сигнал, показанный на рисунке. Вторая схема также будет совершать перебросы, так как ее D-вход подключен к собственному выходу Q и в момент поступления тактового импульса на D-входе всегда действует инверсия по отношению к текущему состоянию триггера. Частота сигнала на выходе в любом случае будет равна половине входной частоты.
Рис. 8.54.
Схемы деления на 2.
Синхронизация информации и тактирование.
В связи с последней схемой возникает интересный вопрос: не получится ли так, что триггер не сможет переброситься, так как состояние D-входа изменяется почти сразу же вслед за тактовым импульсом? Другими словами, не начнет ли схема сбиваться, если на ее входе происходят такие странные явления? Этот вопрос можно сформулировать и следующим образом: в какой точно момент по отношению к тактовому импульсу D-триггер (или какой-нибудь другой) анализирует состояние своего входа? Ответ такой: для любого тактируемого устройства существует определенное «время установления» tуст и «время удержания» tуд. Для того чтобы схема работала правильно, информация должна поступать на вход не позднее чем за время tуст до возникновения тактового перепада и оставаться неизменной по крайней мере в течение времени tуд после него. Например, для триггера 74НС74, tуст = 20 нc и tуд = 3 нc (рис. 8.55).
Рис. 8.55.
Время установления данных и время удержания.
В рассмотренной схеме счетного триггера требование к времени установления будет сохраняться неизменным в течение как минимум 20 нc, предшествующих очередному тактовому перепаду. Может показаться, что при этом нарушается требование к времени удержания, но это не так. Минимальное время распространения сигнала с тактового входа на выход составляет 10 нc, и D-триггер, включенный в счетном режиме, будет иметь неизменное состояние D-входа в течение по меньшей мере 10 нc. Большинство современных устройств вообще не представляют требований ко времени удержания (имеют tуд
= 0). Если сигнал на D-входе изменяется на интервале времени удержания, то может возникнуть любопытный эффект, носящий название «метастабильное состояние», при котором триггер не может определить, в какое состояние он должен перейти. Об этом явлении мы вскоре еще упомянем.Деление на число, большее чем 2.
С помощью каскадного соединения счетных триггеров (выход Q каждого предыдущего триггера подключен к тактическому входу последующего) легко получить «делитель на 2n», или двоичный счетчик. На рис. 8.56 показана схема четырехразрядного асинхронного счетчика и даны его временные диаграммы.
Рис. 8.56.
4-разрядный счетчик.