Читаем Код. Тайный язык информатики полностью

В функциональную таблицу D-триггера со срабатыванием по фронту требуется добавить новый символ — стрелку вверх (↑), которая обозначает изменение значения сигнала с 0 на 1.

Стрелка указывает на то, что значение выходного сигнала Q становится равным входному сигналу «Данные» в момент изменения значения сигнала Clk с 0 на 1. Этот процесс называется положительным переходом сигнала Clk (отрицательный переход с 1 к 0). Схема триггера выглядит следующим образом.

Маленькая угловая скобка указывает на то, что триггер срабатывает по фронту.

Теперь хочу показать вам схему, использующую D-триггер, срабатывающий по фронту, которую нельзя продублировать с помощью триггера, срабатывающего по уровню. Вспомните осциллятор, который мы создали в начале этой главы. Значение выходного сигнала этого осциллятора чередуется между 0 и 1.

Давайте подключим выход осциллятора ко входу Clk D-триггера, срабатывающего по фронту, а выход — ко входу D.

Выход триггера одновременно является его же входом. Это обратная связь с обратной связью! На практике это может привести к проблеме. Осциллятор сконструирован из реле, которое вибрирует с максимально возможной скоростью. Выход осциллятора подключен к реле, из которых сконструирован триггер. Эти другие реле могут не поспевать за скоростью осциллятора. Чтобы избежать этого, предположим, что реле, используемое в осцилляторе, работает медленнее, чем реле, применяемые в других местах этой схемы.

Чтобы понять, что происходит в этой схеме, давайте посмотрим на функциональную таблицу, иллюстрирующую различные изменения. Допустим, что вход Clk и выход Q равны 0. Значит, выход Q, подключенный к входу D, равен 1.

Когда значение входного сигнала Clk изменяется с 0 на 1, выходной сигнал Q становится равным входному сигналу D.

Поскольку выходной сигнализменяется на 0, входной сигнал D также поменяется на 0. Теперь входной сигнал Clk станет равен 1.

Входной сигнал Clk возвращается к 0, не влияя на значения выходных сигналов.

Теперь значение входного сигнала Clk снова изменяется на 1. Поскольку входной сигнал D равен 0, выходной сигнал Q становится равным 0, а выходной сигнал — 1.

Таким образом, входной сигнал D также становится равным 1.

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

Когда входной сигнал Clk изменяется с 0 на 1, значение на входе D (которое совпадает со значением на выходе Q) передается на выход Q, при этом также изменяется значение Q и D до следующего перехода значения входного сигнала Clk от 0 к 1.

Если частота осциллятора равна 20 герц (20 циклов в секунду), частота выхода Q в два раза меньше — 10 герц. По этой причине такая схема, в которой выход Q соединен со входом триггера «Данные», также называется делителем частоты.

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

Давайте рассмотрим четыре сигнала, которые я обозначил в верхней части схемы.

Признаю, что я выбрал самые подходящие точки начала и окончания этой диаграммы, однако ничего нечестного в этом нет: этот шаблон повторяется в данной схеме снова и снова. Не кажется ли она знакомой?

Подскажу: обозначим эти сигналы нулями и единицами.

Не догадались? Попробуйте повернуть диаграмму на 90 градусов по часовой стрелке и прочитать 4-битные числа по горизонтали. Каждое из них соответствует десятичному числу от 0 до 15.

Двоичное число

Десятичное число

0000

0

0001

1

0010

2

0011

3

0100

4

0101

5

0110

6

0111

7

1000

8

1001

9

1010

10

1011

11

1100

12

1101

13

1110

14

1111

15

Эта схема производит подсчет в двоичном формате, и чем больше триггеров добавляем в схему, тем большую сумму можно получить с ее помощью. В главе 8 я указал, что в последовательности возрастающих двоичных чисел каждый столбец цифр чередуется между 0 и 1 с частотой вдвое меньшей, чем столбец справа от него. Этот счетчик имитирует эту закономерность. При каждом положительном переходе сигнала Clk значения выходных сигналов счетчика увеличиваются на 1, это и называется приращением или инкрементом.

Давайте объединим восемь триггеров и поместим их в общий корпус.

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

Перейти на страницу:

Похожие книги

Самоучитель UML
Самоучитель UML

Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы. Цель книги – помочь программистам освоить новую методологию разработки корпоративных программных приложений для последующего применения полученных знаний с использованием соответствующих CASE-инструментов.

Александр Васильевич Леоненков , Александр Леоненков

Зарубежная компьютерная, околокомпьютерная литература / Программирование / Прочая компьютерная литература / Книги по IT
Киберкрепость: всестороннее руководство по компьютерной безопасности
Киберкрепость: всестороннее руководство по компьютерной безопасности

Как обеспечить надежную защиту в эпоху, когда кибератаки становятся все более продвинутыми? Каковы последствия уязвимости цифровых систем? Петр Левашов, экс-хакер с богатым бэкграундом, рассматривает все грани кибербезопасности, начиная с базовых принципов и заканчивая новейшими технологиями.Читатели познакомятся с:• основами компьютерной безопасности и актуальными методами защиты;• современными методами шифрования данных и криптографии;• процедурами ответа на инциденты и восстановления после катастроф;• юридическими и регуляторными требованиями к компьютерной безопасности.Автор использует свой уникальный опыт, чтобы предоставить читателям углубленное понимание кибербезопасности. Его подход охватывает теоретические знания и практическую подготовку, делая этот материал доступным для профессионалов и новичков.

Пётр Юрьевич Левашов

Зарубежная компьютерная, околокомпьютерная литература