3.1. Моностабильные схемы

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

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

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

Рис. 3.1. Простой моностабильный генератор отрицательного импульса.

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

Воспользуемся для этого временной диаграммой, приведенной на рис. 3.2.

Рис. 3.2. Диаграмма сигналов схемы, показанной на рис. 3.1

Поскольку до запуска уровень напряжения на входе равен нулю, конденсатор С первоначально разряжен. На входе инвертора действует логический 0, а на его выходе имеется высокий уровень (логическая 1). При запуске входное напряжение быстро изменяется от нуля до +5 В. Этот перепад напряжения передается через конденсатор на вход инвертора. Инвертор воспринимает вход логической 1, когда входной сигнал переходит порог логической 1 (примерно 1,5 В), и его выход быстро изменяет состояние с логической 1 на логический 0.

Затем конденсатор заряжается через резистор R, и напряжение на входе инвертора экспоненциально спадает до нуля. Когда входное напряжение инвертора уменьшается ниже порога логического 0 (также около 1,5 В), он воспринимает вход как логический 0, и на его выходе устанавливается состояние логической 1.

Временной интервал заряда конденсатора зависит от постоянной времени RC. Следовательно, при выборе соответствующих значений резистора и конденсатора можно получить нужную длительность выходного им пульса. Отметим, однако, что для обычных ТТЛ-элементов оптимальное значение R составляет около 470 Ом и его нельзя ни сильно увеличивать, ни уменьшать. Поэтому для получения выходных импульсов различной длительности приходится варьировать емкость конденсатора С.

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

Рис. 3.3. Простой моностабильный генератор положительного импульса.

На рис. 3.4 и 3.5 показано, как получить положительный и отрицательный выходные импульсы при запуске отрицательным фронтом. Эти схемы похожи на предыдущие, но в них вход инвертора переводится в состояние логической 1 при помощи резисторного делителя. Благодаря делителю на входе инвертора действует постоянное напряжение примерно 2,5 В.

Рассмотрев простейшие моностабильные схемы, познакомимся с популярной микросхемой 74121 ждущего мультивибратора или одновибратора. В зависимости от конфигурации схемы запуск осуществляется фронтом любой полярности. Микросхема имеет два дополняющих выхода Q и Q¯, а длительность импульса определяется внешними резистором и конденсатором.

Рис. 3.4. Генератор положительного импульса, запускаемый спадающим фронтом.

Рис. 3.5. Генератор отрицательного импульса, запускаемый спадающим фронтом.

Внутреннее устройство микросхемы представлено на рис. 3.6.

Рис. 3.6. Внутреннее устройство микросхемы 74121 .

Управляющие входы А1, А2 и В определяют три режима запуска:

1) при подключении А1 или А2 к логическому 0 одновибратор запускается положительным фронтом сигнала на входе В;

2) если А1 и В подключены к логической 1, одновибратор запускается отрицательным фронтом сигнала на входе А2;

3) когда А2 и В подключены к логической 1, запуск осуществляется отрицательным фронтом сигнала на входе A1.

В отличие от других микросхем одновибратор 74121 не допускает повторного запуска (перезапуска) при формировании им выходного импульса. Иными словами, после начала формирования выходного импульса последующие сигналы запуска не распознаются. Более того, в обычных условиях одновибратор до следующего запуска требует интервала восстановления, равного длительности выходного импульса.

3.2. Расширители импульсов

Типичное применение одновибратора связано с расширением очень короткого импульса. Микросхема 74121 идеально подходит для реализации этой функции; ее можно запустить очень коротким импульсом, на который она реагирует формированием выходного импульса фиксированной длительности. Единственное условие надежного запуска состоит в том, чтобы длительность входного импульса превышала 50 нс. Номинал времязадающего резистора должен находиться в диапазоне от 1,5 до 47 кОм. Минимальная емкость внешнего конденсатора составляет 10 пкФ, а максимальная ограничивается только его током утечки. При необходимости можно использовать конденсатор емкостью в сотни микрофарад. Следовательно, одновибратор обеспечивает значительно больший диапазон длительностей выходных импульсов, чем рассмотренные выше простые схемы с инверторами. Длительность выходного импульса микросхемы 74121 в зависимости от R и С можно определить по номограмме (рис. 3.7.)

Рис. 3.7. Номограмма для расчета длительности импульса в микросхеме 74121 . При С = 0,01 мкФ и R = 15 кОм длительность импульса составляет 100 мкс.

3.3. RS-триггеры

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

Простейший триггер реализуется на двух элементах НЕ-И или НЕ-ИЛИ (рис. 3.8).

Рис. 3.8. Типы RS-триггеров :

а — на элементах НЕ-И; б — на элементах НЕ-ИЛИ

Он имеет два входа установки и сброса и два дополняющих выхода Q и Q¯. Сигнал логической 1 на входе установки заставляет выход Q перейти (или остаться) в состоянии логической 1, а сигнал логической 1 на входе сброса заставляет выход Q перейти (или остаться) в состояние логического 0. В любом случае триггер останется в установленном или сброшенном состоянии до тех пор, пока входной сигнал не изменит это его состояние.

У простейших триггеров, выполненных на элементах НЕ-И или НЕ-ИЛИ, имеется существенный недостаток, который виден из таблицы истинности (табл. 3.1).

Невозможно предсказать выходное состояние, которое останется после подачи логической 1 на оба входа одновременно. Следовательно, необходимы специальные меры, чтобы предотвратить такую запрещенную входную комбинацию.

На практике триггеры на элементах НЕ-И и НЕ-ИЛИ встречаются редко, так как существует множество более универсальных микросхем триггеров, поведение которых полностью предсказуемо. Обозначения трех наиболее распространенных триггеров RS-, D- и JK-типов показаны на рис. 3.9.

Рис. 3.9. Условные обозначения RS- , D- и JK-триггеров .

D-триггер имеет два основных входа: D (от Delay — задержка или Data — данные) и CLOCK (синхронизация). Входные данные (логический 0 или логическая 1) подаются в триггер так, что его выходное состояние изменяется только в те моменты, когда меняется состояние сигнала синхронизации. Такая работа называется синхронизируемой. Предусматриваются также вспомогательные входы (обычно с активным низким уровнем), предназначенные для прямой установки или сброса триггера. Эти входы называются (пред) установкой PR и очисткой (сбросом) CLR.

Типичное использование D-триггера как однобитной защелки данных показано на рис. 3.10. Работа схемы наглядно поясняется временной диаграммой на рис. 3.11.

Рис. 3.10. D-триггер как защелка д анных.

Рис. 3.11. Временная диаграмма работы D-триггера .

Как видно из диаграммы, состояние входа D передается на выход Q по нарастающему фронту сигнала синхронизации. Спадающий фронт сигнала синхронизации не оказывает воздействия на выход Q. Отметим, что обычные D-триггеры, например 7474, 74174 и 74175, синхронизируются нарастающим фронтом CLOCK, а JK-триггеры — спадающим фронтом.

3.4. JK-триггеры

JK-триггер имеет два синхронизируемых входа J и K, два прямых входа PR и CLR, вход синхронизации, а два выхода являются дополняющими, т. е. когда один из них представляет 1, другой представляет 0, и наоборот. Входы PR и CLR активны при низком уровне, т. е. сигнал логического 0 на входе PR переводит выход Q в состояние логической 1, а сигнал логического 0 на входе CLR — в состояние логического 0. Таблица истинности JK-триггера приведена в табл. 3.2.

Действия сигналов (пред) установки PR и очистки (сброса) CLR приведены в табл. 3.3

3.5. Двоичные счетчики/делители

На рис. 3.12 представлен типичный четырехразрядный двоичный счетчик-делитель на JK-триггерах. Каждый из триггеров делит частоту пополам, поэтому, как видно из временной диаграммы на рис. 3.13, частота выходного сигнала равна 1/16 частоты входного сигнала.

Рис. 3.12. Четырехразрядный счетчик на JK-триггерах .

Рис. 3.13. Временная диаграмма работы счетчика, показанного на рис. 3.12.

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

3.6. Регистры сдвига

На рис. 3.14 показан четырехразрядный регистр сдвига, построенный на JK-триггерах. Данные сдвигаются из отдельного разряда в соседний справа разряд по каждому спадающему фронту синхронизации. За четыре полных такта синхронизация логическая 1 со входа первого разряда передается на выход Q последнего разряда.

Рис. 3.14. Четырехразрядный регистр сдвига на JK .

Временная диаграмма работы регистра сдвига представлена на рис. 3.15. При ее построении предполагалось, что первоначально регистр сброшен, а логическое состояние на входе не изменяется в течение четырех тактов синхронизации.

Рис. 3.15. Временная диаграмма работы регистра сдвига, показанного на рис. 3.14 (предполагается, что на входе данных действует сигнал логической 1).

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

3.7. Логические пульсаторы

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

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

Питание пульсатора, как и логического пробника, обычно берется от проверяемой схемы с помощью пары скрученных проводов, оканчивающихся зажимами типа «крокодил». Зажимы удобно подключать к выводам электролитических развязывающих конденсаторов или к выходным выводам стабилизатора.

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

Рис. 3.16. Двухфазный делитель частоты синхронизации для микропроцессора. Логический пульсатор подключается в точке A , а логическим пробником касаются точки В .

Делитель выполнен на ТТЛ-микросхеме, представляющей собой сдвоенный JK-триггер (см. ее внутреннее устройство на рис. 3.17).

Рис. 3.17. Внутреннее устройство JК-триггера .

Отметим, что в этой микросхеме питание подается на нестандартные контакты.

Предположим, что на шине нет обоих сигналов синхронизации и модуль отсоединен от системной синхронизации, которая считается исправной. Подсоединим пульсатор на вход синхронизации IС2а и одновременно проконтролируем выход IС2Ь с помощью логического пробника. Для проверки правильности работы делителя нужно несколько раз нажать на кнопку и наблюдать изменения сигнала на выходе прибора. (Отметим, что пульсатор «перевешивает» любой логический выход микросхемы IC1.)

Узнавать, какой конкретно JK-триггер не работает, не имеет смысла, так как придется заменять всю микросхему. Убедившись в правильной работе IC2, необходимо проверить шинные драйверы IС3а и IС3Ь. Для этого нужно просто перенести логический пробник на соответствующую линию шины, продолжая подавать импульсы на вход синхронизации первого JK-триггера.