Регистры (англ. register) представляют собой, по сути, несколько D-триггеров (обычно от 4 до 16), соединенных между собой тем или иным способом. Поэтому принципиальной разницы между ними и отдельными D-триггерами не существует. Правда, триггеры, входящие в состав регистров, не имеют такого количества разнообразных управляющих входов, как одиночные триггеры.
На схемах регистры обозначаются буквами RG. В отечественных сериях микросхем регистрам соответствуют буквы ИР. Все регистры делятся на две большие группы (рис. 8.1):
Существуют регистры и других типов, но они применяются гораздо реже, чем параллельные и сдвиговые, так как имеют узкоспециальное назначение.
В
(рис 8.1) Структура параллельного регистра (а)и сдвигового регистра (б)В
Чаще всего в цифровых схемах используются регистры, управляемые фронтом (то есть тактируемые), однако и стробируемые регистры имеют свой круг задач, в которых их ничто не может заменить.
Принцип действия регистров, срабатывающих по фронту
(рис 8.2) Параллельные регистры стандартных серий, срабатывающие по фронтуВ стандартные серии входит несколько типов параллельных регистров, срабатывающих по фронту (рис. 8.2). Различаются
они количеством разрядов, наличием или отсутствием
Большинство регистров имеют восемь разрядов, то есть запоминают один байт информации. Регистр ТМ8 в справочниках обычно называется счетверенным D-триггером (он и в наименовании несет буквы ТМ), хотя он вполне может рассматриваться и как регистр, так как тактовый вход С и вход сброса –R у всех четырех триггеров объединены между собой.
| Входы | Выходы | |||
|---|---|---|---|---|
-WE |
C |
D |
Q | |
| 0 | 0 $$\to$$ 1 | 0 | 0 | |
| 0 | 0 $$\to$$ 1 | 1 | 1 | |
| 0 | 0 | X |
Не меняется | |
| 0 | 1 | Х |
Не меняется | |
| 1 | Х |
Х |
Не меняется | |
| Входы | Выходы | |||
|---|---|---|---|---|
-EZ |
C |
D |
Q | |
| 0 | 0 $$\to$$ 1 | 0 | 0 | |
| 0 | 0 $$\to$$ 1 | 1 | 1 | |
| 0 | 0 | X |
Не меняется | |
| 0 | 1 | Х |
Не меняется | |
| 1 | Х |
Х |
Z | |
Все регистры, имеющие выход с тремя состояниями, обеспечивают повышенную нагрузочную способность. Задержка
переключения регистров примерно соответствует задержке переключения триггеров. Все временные ограничения, накладываемые
на входные сигналы в случае триггеров, справедливы и для входных сигналов регистров. Например, не
должна быть слишком малой длительность сигнала С, а также не должна быть слишком малой задержка между установлением
сигнала D и приходом
Одно из основных применений регистров состоит в хранении требуемого кода в течение нужного времени. Если для работы остальной части схемы необходимо иметь входной код, который можно легко изменять, то для этого как раз подходит регистр.
На рис. 8.3 показана типичная схема включения регистра для хранения кода и временная диаграмма его работы. Код на входе регистра может изменяться произвольным образом, но в тот момент, когда этот код принимает необходимое значение, на вход С триггера подается синхросигнал (строб), который записывает код в регистр. Этот код будет храниться в регистре до прихода следующего строба. Причем важно и то, что все разряды выходного кода регистра будут переключаться одновременно даже в том случае, когда разряды входного кода переключаются не одновременно. Главное, чтобы к приходу положительного фронта строба (сигнала С) все разряды входного кода приняли нужное, устойчивое значение.
(рис 8.3) Хранение кода в параллельном регистреЕще одно важнейшее применение регистров связано с запоминанием нескольких последовательных значений изменяющегося входного кода. Это позволяет, например, сравнивать предыдущее значение кода с последующим значением этого же кода или производить арифметические операции над несколькими последовательными значениями одного и того же кода. То есть регистр в данном случае выступает как элемент линии задержки, хранящей в себе историю поведения входного кода.
Для примера на рис. 8.4 показана схема вычисления разности двух последовательных значений входного кода. Такая
задача возникает, в частности, при цифровой обработке аналоговых сигналов. Последовательные значения входного 4-разрядного
кода сопровождаются тактовым сигналом, по положительному фронту которого производится запись в два последовательно
включенных регистра. Когда на выходе регистра RG1 присутствует N -ое значение входного кода, на выходе регистра RG2
будет (N–1) -ое значение этого же кода.
(рис 8.4) Схема вычисления разности значений кодов в двух последовательных тактахПодавая эти два кода с выходов регистров на 4-разрядный N -ым значением и (N–1) -ым значением. В данном случае очень удобен
регистр ТМ8, имеющий
Регистры также широко используются для организации
Пусть, например, последовательность входных кодов, следующих с периодом T, поступает на вход цепочки из двух узлов, производящих обработку или преобразование этих кодов (рис. 8.5). Узлы эти могут представлять собой комбинационные микросхемы (например, сумматоры) или более сложные устройства, включающие в себя микросхемы счетчиков или микросхемы памяти. Главное состоит в том, что выходные сигналы этих узлов выставляются не мгновенно, а в течение какого-то конечного времени, величина которого определяется внутренним строением узла. Пусть задержка установления выходного кода первого узла равняется t1, а задержка установления выходного кода второго узла составляет t2. Очевидно, что период следования входных кодов T не должен быть меньше, чем сумма этих двух задержек:
T>t1+t2
(рис 8.5) Работа последовательной цепочки двух узловИначе код на выходе цепочки может никогда не принять устойчивого значения, так как переходный процесс предыдущего такта будет сменяться переходным процессом следующего такта. То есть быстродействие узлов накладывает жесткое ограничение на тактовую частоту.
Однако можно обойти это ограничение, если воспользоваться принципом конвейера, заставить узлы работать не
последовательно, а параллельно. Это достигается включением между узлами регистра, тактируемого входным тактовым
сигналом. Еще один регистр целесообразно включить на выходе второго узла, что обеспечит длительность устойчивого
кода на выходе всего устройства, равную длительности периода t1 и t2 с добавлением времени задержки регистра:
T>max{t1,t2}+tRG
(рис 8.6) Конвейерная обработка с помощью регистровТо есть к следующему фронту
Точно так же можно построить конвейер на любое количество последовательно включенных узлов. Конечно, в результате введения конвейера происходит задержка выполнения полной функции устройства на число тактов, равное числу введенных регистров. Однако в том случае, когда необходимо обрабатывать большие последовательности входных кодов, эта задержка наблюдается только один раз - в самом начале последовательности, а затем уже она не имеет значения.
Регистры могут также применяться в составе вычислителей, выполняя функцию накопителя результата вычисления. В
данном случае мы уже имеем дело с более сложной обработкой информации, чем при чисто
Рассмотрим два примера схем таких вычислителей.
Первая схема известна как
(рис 8.7) Структура накапливающего сумматораТо есть на один вход
Отметим три особенности
Во-первых, когда выходной код достигает максимальной величины (становится больше 2n, где n - количество разрядов
регистра), происходит переполнение
Во-вторых, особенность
Наконец, в-третьих, совсем не обязательно шаг нарастания выходного кода
(рис 8.8) Накапливающий сумматорНа рис. 8.8 показана схема 8-разрядного T > tSM + tRG,
где Т - период tSM - задержка 8-разрядного tRG - задержка регистра.
Последний пример применения регистров, который мы рассмотрим, - это вычислитель максимального значения входного кода. Такой вычислитель, например, может применяться в схемах цифровых осциллографов для измерения амплитуды входного аналогового сигнала.
Пусть мы имеем последовательность входных кодов, и нам необходимо выявить экстремальный (то есть максимальный или минимальный) код из всей этой последовательности. Эта задача решается довольно просто путем применения компаратора кодов и регистра, охваченных обратной связью (рис. 8.9).
(рис 8.9) Вычислитель экстремального значения входного кодаВ данном случае удобно использовать регистр со входом разрешения записи (ИР27). В регистре сохраняется код
Допустим, мы вычисляем максимум. При этом запись в регистр текущего значения входного кода будет производиться только
в том случае, когда это текущее значение больше числа, содержащегося в регистре. На выходе ">"
Аналогично вычисляется и минимум, только в данном случае в регистр будет записываться не только код, меньший числа в регистре, но и код, равный этому числу. Понятно, что на конечный результат вычисления это никак не повлияет.
Применение таких регистров сильно ограничено, хотя иногда они довольно удобны. В некоторых схемах они могут успешно заменять регистры, срабатывающие по фронту, а в других схемах их применение вместо регистров, срабатывающих по фронту, недопустимо.
В стандартных сериях регистры, срабатывающие по уровню, представлены гораздо меньше, чем регистры, срабатывающие по фронту. На рис. 8.10 показаны в качестве примеров две микросхемы 4-разрядного регистра ТМ7 и 8-разрядного регистра ИР22. Стробирующие входы С нередко на схемах обозначают E (от английского "Enable" - "разрешение"), для того чтобы не путать их с тактовыми входами D-триггеров.
(рис 8.10) Регистры, срабатывающие по уровнюМикросхему ТМ7 (и близкую к ней ТМ5) часто называют набором триггеров, но ее можно рассматривать и как регистр.
Микросхема состоит из четырех триггеров, стробирующие входы которых С соединены попарно, то есть можно говорить о двух
двухразрядных регистрах-защелках. Входы С1 и С2 микросхемы управляют каждый двумя разрядами данных. Все триггеры имеют
как прямые, так и
При единице на входе С выходные сигналы повторяют входные, то есть регистр работает как обычный буфер с прямыми и
инверсными выходами. При нуле на входе С на выходе регистра постоянно хранится та
| Входы | Выходы | ||
|---|---|---|---|
D |
C |
Q |
-Q |
| 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 0 |
| 0 | 0 | Не меняется | |
| 1 | 0 | Не меняется | |
Регистр ИР22 отличается от ТМ7 тем, что имеет выходы с тремя состояниями (и соответственно, вход разрешения всех
выходов –EZ) и тем, что всеми восемью разрядами управляет один стробирующий сигнал С. Суть работы от этого не изменяется.
При единице на входе С регистр работает как буфер-
| Входы | Выход | ||
|---|---|---|---|
-EZ |
C |
D |
Q |
| 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 0 |
| 0 | 0 | X |
Не меняется |
| 1 | X |
X |
Z |
Величины задержек триггеров, срабатывающих по уровню, в 1,5–2 раза превышают задержки D-триггеров. Для правильной
работы микросхем положительный импульс на входе С не должен быть слишком коротким, а задержка между изменением
информации на входе D и отрицательным
Основное применение регистра, срабатывающего по уровню стробирующего сигнала, состоит в запоминании на какое-то
заданное время входного кода, причем в остальное время выходной код регистра должен повторять входной (
рис. 8.11).
Стробирующий сигнал С в этом случае должен быть отрицательным на все время запоминания, и запоминаться будет входной
код регистра в момент отрицательного (
(рис 8.11) Продление длительности входного кода с помощью регистра-защелкиВ ряде случаев регистры данного типа могут успешно заменять регистры, срабатывающие по фронту. Например, такая замена возможна в случае необходимости запоминания входного кода по сигналу С до момента прихода следующего сигнала С (рис. 8.12).
Сигнал С в данном случае должен быть коротким положительным импульсом, причем он обязательно должен быть "вложен" в
запоминаемый входной код, то есть начинаться после начала (момента установления) кода, а заканчиваться до конца
(момента снятия) кода (это так называемый
(рис 8.12) Использование регистра-защелки для замены регистра, срабатывающего по фронтуОднако подобная замена регистра, срабатывающего по фронту, на регистр, срабатывающий по уровню, возможна далеко не
всегда. Некоторые схемы в принципе не могут работать с
(рис 8.13) Лавинообразная обратная связь в накапливающем сумматоре с регистром-защелкойИ таких схем, принципиально не допускающих применения регистра-защелки, довольно много. Именно поэтому использование их сильно ограничено, а выбор микросхем в стандартных сериях невелик.
Регистры сдвига или
В связи с названием направления сдвига в
Однако, как известно, в любом двоичном числе слева расположены старшие разряды, а справа - младшие разряды. Поэтому сдвиг двоичного числа вправо будет сдвигом в сторону младших разрядов, а сдвиг влево - сдвигом в сторону старших разрядов. Это противоречие, не чей-то злой умысел, просто так исторически сложилось, и об этом надо помнить разработчику цифровой аппаратуры.
(рис 8.14) Направление сдвига в сдвиговых регистрахВ стандартные серии цифровых микросхем входит несколько типов
Регистр ИР8 - наиболее простой из
(рис 8.15) Сдвиговые регистры| Входы | Выходы | ||||||
|---|---|---|---|---|---|---|---|
-R |
C |
D1 |
D2 |
Q0 |
Q1 |
$$\dots$$ | Q7 |
| 0 | X |
X |
X |
0 | 0 | $$\dots$$ | 0 |
| 1 | 0 | X |
X |
Не меняются | |||
| 1 | 1 | Х |
Х |
Не меняются | |||
| 1 | 0 $$\to$$ 1 | 1 | 1 | 1 | Q0 | $$\dots$$ | Q6 |
| 1 | 0 $$\to$$ 1 | 0 | Х | 0 | Q0 | $$\dots$$ | Q6 |
| 1 | 0 $$\to$$ 1 | Х | 0 | 0 | Q0 | $$\dots$$ | Q6 |
Регистр ИР9 выполняет функцию, обратную регистру ИР8. Если ИР8 преобразует входную последовательную информацию
в выходную параллельную, то регистр ИР9 преобразует входную параллельную информацию в выходную последовательную.
Однако суть сдвига не меняется, просто в ИР9 все внутренние триггеры имеют выведенные параллельные входы, и только
один, последний триггер имеет выход (причем как прямой, так и инверсный). Запись входного кода в регистр производится
по нулевому сигналу на входе -WR. Сдвиг осуществляется по положительному фронту на одном из двух тактовых входов С1 и
С2, объединенных по функции 2ИЛИ. Имеется также вход расширения DR, сигнал с которого в режиме сдвига перезаписывается
в младший разряд
| Входы | Функция | ||
|---|---|---|---|
-WR |
C1 |
C2 |
|
| 0 | X |
X |
|
| 1 | 1 | Х |
Хранение |
| 1 | Х |
1 | Хранение |
| 1 | 0 | 0 $$\to$$ 1 | Сдвиг |
| 1 | 0 $$\to$$ 1 | 0 | Сдвиг |
(рис 8.16) Соединение регистров ИР8 для увеличения разрядности Как и все остальные
(рис 8.17) Соединение регистров ИР9 для увеличения разрядностиРегистр ИР13 соединяет в себе возможности регистров ИР8 и ИР9. Он имеет как восемь входов для параллельной записи, так и соответствующие им восемь выходов параллельной информации. Сдвиг осуществляется по положительному фронту тактового сигнала С, причем сдвиг возможен как в сторону старших разрядов (вправо), так и в сторону младших разрядов (влево). Для наращивания разрядности у регистра ИР13 имеются последовательные информационные входы DR и DL, сигналы с которых вдвигаются, соответственно, в младший и в старший разряды. Предусмотрен сброс всех выходов регистра в нуль по нулевому сигналу на входе –R.
| Входы | Функция | |||
|---|---|---|---|---|
C |
-R |
SR |
|
|
X |
0 | X |
X |
Сброс |
| 0 $$\to$$ 1 | 1 | 1 | 0 | Сдвиг вправо |
| 0 $$\to$$ 1 | 1 | 0 | 1 | Сдвиг влево |
| 0 $$\to$$ 1 | 1 | 0 | 0 | Хранение |
| 0 $$\to$$ 1 | 1 | 1 | 1 | |
Режим работы регистра ИР13 определяется двумя управляющими входами SR и
Отметим, что регистр ИР13 применяется заметно реже, чем более простые регистры ИР8 и ИР9, так как задач, в которых были бы нужны все возможности ИР13, не так уж много, а управление работой ИР13 - довольно сложное.
Наконец, последний
Регистр ИР24 обеспечивает сдвиг информации в обоих направлениях. Имеются входы расширения DR и DL, а также
выходы расширения Q0 и Q7, что позволяет легко наращивать разрядность. Отличие выходов Q0 и Q7 от нулевого и
седьмого разрядов данных состоит в том, что Q0 и Q7 - однонаправленные, то есть в любом режиме работы выдают информацию
с выходов внутренних триггеров младшего и старшего разрядов. Тактируется регистр
Режим работы микросхемы определяется сигналами на управляющих входах SR и
При единичном сигнале на SR и нулевом сигнале на
При единичном сигнале на
При обоих нулях на входах SR и
| Входы | Функция | |||
|---|---|---|---|---|
-R |
C |
SR |
|
|
| 0 | Х |
Х |
Х |
Сброс |
| 1 | 0 $$\to$$ 1 | 1 | 0 | Сдвиг вправо |
| 1 | 0 $$\to$$ 1 | 0 | 1 | Сдвиг влево |
| 1 | 0 $$\to$$ 1 | 1 | 1 | |
| 1 | Х |
0 | 0 | Хранение |
При обеих единицах на входах SR и
(рис 8.18) Объединение регистров ИР24 для увеличения разрядностиОбъединяя два регистра ИР24, легко получить 16-разрядный
Главное применение всех
Для примера на рис. 8.19 показана простейшая схема передачи
(рис 8.19) Последовательная передача информации с помощью регистров сдвигаНа передающем конце (слева на рисунке) с помощью
Первый бит последовательного входа (со входа 7 регистра ИР9) начинает передаваться с началом сигнала записи -Зап.
Следующие разряды передаются с каждым следующим положительным фронтом
Следующее применение
(рис 8.20) Линия задержки входного сигнала на регистре сдвига
(рис 8.21) Формирователь импульсов с длительностью, задаваемой управляющим кодомВ исходном состоянии (до прихода положительного фронта входного сигнала) триггер сброшен в нуль, на всех выходах
Пусть управляющий код равен 5. Тогда в тот момент, когда на выходе 5
Таким образом, длительность выходного сигнала будет определяться
Наконец, последнее применение
Задача состоит в том, чтобы выходной сигнал или код менял свое состояние случайно (или почти случайно). Сигнал должен случайно переключаться из 0 в 1 и из 1 в 0, а код должен случайно принимать значения из диапазона от 0 до (2N–1), где N - число разрядов кода (например, от 0 до 255 при 8-разрядном коде). Псевдослучайные последовательности имеют то преимущество перед истинно случайными, что они - предсказуемые и периодические, но в этом же и их недостаток.
Структура генератора квазислучайной последовательности на сдвиговом регистре очень проста (рис. 8.22). Она представляет собой регистр сдвига с параллельными выходами (например, ИР8), несколько (минимум два) выходных сигналов которого объединены с помощью элемента Исключающее ИЛИ, с выхода которого сигнал подается на вход регистра, замыкая схему в кольцо. Схема тактируется сигналом с частотой fT.
(рис 8.22) Структура генератора псевдослучайной последовательности| $${}^1$$ | 7 | 8 | 15 | 16 | 24 | 31 |
|---|---|---|---|---|---|---|
| Выходы | 6,5 | 7,6,4,2 | 14,13 | 15,13,12,10 | 23,22,21,16 | 30,17 |
Выбор номеров разрядов для подключения обратной связи представляет собой непростую задачу, но существуют справочные
таблицы, в которых они приведены. В любом случае одна из точек подключения - выход старшего разряда. В
табл. 8.9
приведены точки подключения обратной связи для
Из таблицы видно, что выгоднее брать число разрядов не кратное 8, например, 7, 15 или 31. В этом случае для обратной связи используются всего лишь два выхода, то есть достаточно одного двухвходового элемента Исключающее ИЛИ.
Период выходной последовательности генератора составляет (2N-1) тактов, где N - количество разрядов регистра
сдвига. За это время каждое из возможных значений выходного кода (кроме одного) встречается один раз. Количество
единиц в выходном сигнале больше количества нулей на единицу.
Выходной код 000 $$\dots$$ 0 представляет собой запрещенное состояние, так как он блокирует работу генератора, воспроизводя сам себя снова и снова. Но в то же время получиться такой нулевой код может только сам из себя, поэтому достаточно обеспечить, чтобы его не было при включении питания схемы.
Частоты в спектре выходного сигнала будут следовать с интервалом (fT/2N–1), а огибающая спектра будет
практически постоянной до частоты 0,25fT, то есть шум до этой частоты можно считать белым (спад в 3 дБ происходит на
частоте 0,45 fT ).
(рис 8.23) 31-разрядный генератор псевдослучайной последовательности на регистрах сдвигаНа рис. 8.23 показана практическая схема генератора псевдослучайной последовательности на 31-разрядном сдвиговом
регистре. Обратная связь осуществляется с выходов 30 и 17 регистра через двухвходовой элемент Исключающее ИЛИ с
инвертором. Из-за применения
Регистры (англ. register) представляют собой, по сути, несколько D-триггеров (обычно от 4 до 16), соединенных между собой тем или иным способом. Поэтому принципиальной разницы между ними и отдельными D-триггерами не существует. Правда, триггеры, входящие в состав регистров, не имеют такого количества разнообразных управляющих входов, как одиночные триггеры.
На схемах регистры обозначаются буквами RG. В отечественных сериях микросхем регистрам соответствуют буквы ИР. Все регистры делятся на две большие группы (рис. 8.1):
Существуют регистры и других типов, но они применяются гораздо реже, чем параллельные и сдвиговые, так как имеют узкоспециальное назначение.
В
(рис 8.1) Структура параллельного регистра (а)и сдвигового регистра (б)В
Чаще всего в цифровых схемах используются регистры, управляемые фронтом (то есть тактируемые), однако и стробируемые регистры имеют свой круг задач, в которых их ничто не может заменить.
Принцип действия регистров, срабатывающих по фронту
(рис 8.2) Параллельные регистры стандартных серий, срабатывающие по фронтуВ стандартные серии входит несколько типов параллельных регистров, срабатывающих по фронту (рис. 8.2). Различаются
они количеством разрядов, наличием или отсутствием
Большинство регистров имеют восемь разрядов, то есть запоминают один байт информации. Регистр ТМ8 в справочниках обычно называется счетверенным D-триггером (он и в наименовании несет буквы ТМ), хотя он вполне может рассматриваться и как регистр, так как тактовый вход С и вход сброса –R у всех четырех триггеров объединены между собой.
| Входы | Выходы | |||
|---|---|---|---|---|
-WE |
C |
D |
Q | |
| 0 | 0 $$\to$$ 1 | 0 | 0 | |
| 0 | 0 $$\to$$ 1 | 1 | 1 | |
| 0 | 0 | X |
Не меняется | |
| 0 | 1 | Х |
Не меняется | |
| 1 | Х |
Х |
Не меняется | |
| Входы | Выходы | |||
|---|---|---|---|---|
-EZ |
C |
D |
Q | |
| 0 | 0 $$\to$$ 1 | 0 | 0 | |
| 0 | 0 $$\to$$ 1 | 1 | 1 | |
| 0 | 0 | X |
Не меняется | |
| 0 | 1 | Х |
Не меняется | |
| 1 | Х |
Х |
Z | |
Все регистры, имеющие выход с тремя состояниями, обеспечивают повышенную нагрузочную способность. Задержка
переключения регистров примерно соответствует задержке переключения триггеров. Все временные ограничения, накладываемые
на входные сигналы в случае триггеров, справедливы и для входных сигналов регистров. Например, не
должна быть слишком малой длительность сигнала С, а также не должна быть слишком малой задержка между установлением
сигнала D и приходом
Одно из основных применений регистров состоит в хранении требуемого кода в течение нужного времени. Если для работы остальной части схемы необходимо иметь входной код, который можно легко изменять, то для этого как раз подходит регистр.
На рис. 8.3 показана типичная схема включения регистра для хранения кода и временная диаграмма его работы. Код на входе регистра может изменяться произвольным образом, но в тот момент, когда этот код принимает необходимое значение, на вход С триггера подается синхросигнал (строб), который записывает код в регистр. Этот код будет храниться в регистре до прихода следующего строба. Причем важно и то, что все разряды выходного кода регистра будут переключаться одновременно даже в том случае, когда разряды входного кода переключаются не одновременно. Главное, чтобы к приходу положительного фронта строба (сигнала С) все разряды входного кода приняли нужное, устойчивое значение.
(рис 8.3) Хранение кода в параллельном регистреЕще одно важнейшее применение регистров связано с запоминанием нескольких последовательных значений изменяющегося входного кода. Это позволяет, например, сравнивать предыдущее значение кода с последующим значением этого же кода или производить арифметические операции над несколькими последовательными значениями одного и того же кода. То есть регистр в данном случае выступает как элемент линии задержки, хранящей в себе историю поведения входного кода.
Для примера на рис. 8.4 показана схема вычисления разности двух последовательных значений входного кода. Такая
задача возникает, в частности, при цифровой обработке аналоговых сигналов. Последовательные значения входного 4-разрядного
кода сопровождаются тактовым сигналом, по положительному фронту которого производится запись в два последовательно
включенных регистра. Когда на выходе регистра RG1 присутствует N -ое значение входного кода, на выходе регистра RG2
будет (N–1) -ое значение этого же кода.
(рис 8.4) Схема вычисления разности значений кодов в двух последовательных тактахПодавая эти два кода с выходов регистров на 4-разрядный N -ым значением и (N–1) -ым значением. В данном случае очень удобен
регистр ТМ8, имеющий
Регистры также широко используются для организации
Пусть, например, последовательность входных кодов, следующих с периодом T, поступает на вход цепочки из двух узлов, производящих обработку или преобразование этих кодов (рис. 8.5). Узлы эти могут представлять собой комбинационные микросхемы (например, сумматоры) или более сложные устройства, включающие в себя микросхемы счетчиков или микросхемы памяти. Главное состоит в том, что выходные сигналы этих узлов выставляются не мгновенно, а в течение какого-то конечного времени, величина которого определяется внутренним строением узла. Пусть задержка установления выходного кода первого узла равняется t1, а задержка установления выходного кода второго узла составляет t2. Очевидно, что период следования входных кодов T не должен быть меньше, чем сумма этих двух задержек:
T>t1+t2
(рис 8.5) Работа последовательной цепочки двух узловИначе код на выходе цепочки может никогда не принять устойчивого значения, так как переходный процесс предыдущего такта будет сменяться переходным процессом следующего такта. То есть быстродействие узлов накладывает жесткое ограничение на тактовую частоту.
Однако можно обойти это ограничение, если воспользоваться принципом конвейера, заставить узлы работать не
последовательно, а параллельно. Это достигается включением между узлами регистра, тактируемого входным тактовым
сигналом. Еще один регистр целесообразно включить на выходе второго узла, что обеспечит длительность устойчивого
кода на выходе всего устройства, равную длительности периода t1 и t2 с добавлением времени задержки регистра:
T>max{t1,t2}+tRG
(рис 8.6) Конвейерная обработка с помощью регистровТо есть к следующему фронту
Точно так же можно построить конвейер на любое количество последовательно включенных узлов. Конечно, в результате введения конвейера происходит задержка выполнения полной функции устройства на число тактов, равное числу введенных регистров. Однако в том случае, когда необходимо обрабатывать большие последовательности входных кодов, эта задержка наблюдается только один раз - в самом начале последовательности, а затем уже она не имеет значения.
Регистры могут также применяться в составе вычислителей, выполняя функцию накопителя результата вычисления. В
данном случае мы уже имеем дело с более сложной обработкой информации, чем при чисто
Рассмотрим два примера схем таких вычислителей.
Первая схема известна как
(рис 8.7) Структура накапливающего сумматораТо есть на один вход
Отметим три особенности
Во-первых, когда выходной код достигает максимальной величины (становится больше 2n, где n - количество разрядов
регистра), происходит переполнение
Во-вторых, особенность
Наконец, в-третьих, совсем не обязательно шаг нарастания выходного кода
(рис 8.8) Накапливающий сумматорНа рис. 8.8 показана схема 8-разрядного T > tSM + tRG,
где Т - период tSM - задержка 8-разрядного tRG - задержка регистра.
Последний пример применения регистров, который мы рассмотрим, - это вычислитель максимального значения входного кода. Такой вычислитель, например, может применяться в схемах цифровых осциллографов для измерения амплитуды входного аналогового сигнала.
Пусть мы имеем последовательность входных кодов, и нам необходимо выявить экстремальный (то есть максимальный или минимальный) код из всей этой последовательности. Эта задача решается довольно просто путем применения компаратора кодов и регистра, охваченных обратной связью (рис. 8.9).
(рис 8.9) Вычислитель экстремального значения входного кодаВ данном случае удобно использовать регистр со входом разрешения записи (ИР27). В регистре сохраняется код
Допустим, мы вычисляем максимум. При этом запись в регистр текущего значения входного кода будет производиться только
в том случае, когда это текущее значение больше числа, содержащегося в регистре. На выходе ">"
Аналогично вычисляется и минимум, только в данном случае в регистр будет записываться не только код, меньший числа в регистре, но и код, равный этому числу. Понятно, что на конечный результат вычисления это никак не повлияет.
Применение таких регистров сильно ограничено, хотя иногда они довольно удобны. В некоторых схемах они могут успешно заменять регистры, срабатывающие по фронту, а в других схемах их применение вместо регистров, срабатывающих по фронту, недопустимо.
В стандартных сериях регистры, срабатывающие по уровню, представлены гораздо меньше, чем регистры, срабатывающие по фронту. На рис. 8.10 показаны в качестве примеров две микросхемы 4-разрядного регистра ТМ7 и 8-разрядного регистра ИР22. Стробирующие входы С нередко на схемах обозначают E (от английского "Enable" - "разрешение"), для того чтобы не путать их с тактовыми входами D-триггеров.
(рис 8.10) Регистры, срабатывающие по уровнюМикросхему ТМ7 (и близкую к ней ТМ5) часто называют набором триггеров, но ее можно рассматривать и как регистр.
Микросхема состоит из четырех триггеров, стробирующие входы которых С соединены попарно, то есть можно говорить о двух
двухразрядных регистрах-защелках. Входы С1 и С2 микросхемы управляют каждый двумя разрядами данных. Все триггеры имеют
как прямые, так и
При единице на входе С выходные сигналы повторяют входные, то есть регистр работает как обычный буфер с прямыми и
инверсными выходами. При нуле на входе С на выходе регистра постоянно хранится та
| Входы | Выходы | ||
|---|---|---|---|
D |
C |
Q |
-Q |
| 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 0 |
| 0 | 0 | Не меняется | |
| 1 | 0 | Не меняется | |
Регистр ИР22 отличается от ТМ7 тем, что имеет выходы с тремя состояниями (и соответственно, вход разрешения всех
выходов –EZ) и тем, что всеми восемью разрядами управляет один стробирующий сигнал С. Суть работы от этого не изменяется.
При единице на входе С регистр работает как буфер-
| Входы | Выход | ||
|---|---|---|---|
-EZ |
C |
D |
Q |
| 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 0 |
| 0 | 0 | X |
Не меняется |
| 1 | X |
X |
Z |
Величины задержек триггеров, срабатывающих по уровню, в 1,5–2 раза превышают задержки D-триггеров. Для правильной
работы микросхем положительный импульс на входе С не должен быть слишком коротким, а задержка между изменением
информации на входе D и отрицательным
Основное применение регистра, срабатывающего по уровню стробирующего сигнала, состоит в запоминании на какое-то
заданное время входного кода, причем в остальное время выходной код регистра должен повторять входной (
рис. 8.11).
Стробирующий сигнал С в этом случае должен быть отрицательным на все время запоминания, и запоминаться будет входной
код регистра в момент отрицательного (
(рис 8.11) Продление длительности входного кода с помощью регистра-защелкиВ ряде случаев регистры данного типа могут успешно заменять регистры, срабатывающие по фронту. Например, такая замена возможна в случае необходимости запоминания входного кода по сигналу С до момента прихода следующего сигнала С (рис. 8.12).
Сигнал С в данном случае должен быть коротким положительным импульсом, причем он обязательно должен быть "вложен" в
запоминаемый входной код, то есть начинаться после начала (момента установления) кода, а заканчиваться до конца
(момента снятия) кода (это так называемый
(рис 8.12) Использование регистра-защелки для замены регистра, срабатывающего по фронтуОднако подобная замена регистра, срабатывающего по фронту, на регистр, срабатывающий по уровню, возможна далеко не
всегда. Некоторые схемы в принципе не могут работать с
(рис 8.13) Лавинообразная обратная связь в накапливающем сумматоре с регистром-защелкойИ таких схем, принципиально не допускающих применения регистра-защелки, довольно много. Именно поэтому использование их сильно ограничено, а выбор микросхем в стандартных сериях невелик.
Регистры сдвига или
В связи с названием направления сдвига в
Однако, как известно, в любом двоичном числе слева расположены старшие разряды, а справа - младшие разряды. Поэтому сдвиг двоичного числа вправо будет сдвигом в сторону младших разрядов, а сдвиг влево - сдвигом в сторону старших разрядов. Это противоречие, не чей-то злой умысел, просто так исторически сложилось, и об этом надо помнить разработчику цифровой аппаратуры.
(рис 8.14) Направление сдвига в сдвиговых регистрахВ стандартные серии цифровых микросхем входит несколько типов
Регистр ИР8 - наиболее простой из
(рис 8.15) Сдвиговые регистры| Входы | Выходы | ||||||
|---|---|---|---|---|---|---|---|
-R |
C |
D1 |
D2 |
Q0 |
Q1 |
$$\dots$$ | Q7 |
| 0 | X |
X |
X |
0 | 0 | $$\dots$$ | 0 |
| 1 | 0 | X |
X |
Не меняются | |||
| 1 | 1 | Х |
Х |
Не меняются | |||
| 1 | 0 $$\to$$ 1 | 1 | 1 | 1 | Q0 | $$\dots$$ | Q6 |
| 1 | 0 $$\to$$ 1 | 0 | Х | 0 | Q0 | $$\dots$$ | Q6 |
| 1 | 0 $$\to$$ 1 | Х | 0 | 0 | Q0 | $$\dots$$ | Q6 |
Регистр ИР9 выполняет функцию, обратную регистру ИР8. Если ИР8 преобразует входную последовательную информацию
в выходную параллельную, то регистр ИР9 преобразует входную параллельную информацию в выходную последовательную.
Однако суть сдвига не меняется, просто в ИР9 все внутренние триггеры имеют выведенные параллельные входы, и только
один, последний триггер имеет выход (причем как прямой, так и инверсный). Запись входного кода в регистр производится
по нулевому сигналу на входе -WR. Сдвиг осуществляется по положительному фронту на одном из двух тактовых входов С1 и
С2, объединенных по функции 2ИЛИ. Имеется также вход расширения DR, сигнал с которого в режиме сдвига перезаписывается
в младший разряд
| Входы | Функция | ||
|---|---|---|---|
-WR |
C1 |
C2 |
|
| 0 | X |
X |
|
| 1 | 1 | Х |
Хранение |
| 1 | Х |
1 | Хранение |
| 1 | 0 | 0 $$\to$$ 1 | Сдвиг |
| 1 | 0 $$\to$$ 1 | 0 | Сдвиг |
(рис 8.16) Соединение регистров ИР8 для увеличения разрядностиКак и все остальные
(рис 8.17) Соединение регистров ИР9 для увеличения разрядностиРегистр ИР13 соединяет в себе возможности регистров ИР8 и ИР9. Он имеет как восемь входов для параллельной записи, так и соответствующие им восемь выходов параллельной информации. Сдвиг осуществляется по положительному фронту тактового сигнала С, причем сдвиг возможен как в сторону старших разрядов (вправо), так и в сторону младших разрядов (влево). Для наращивания разрядности у регистра ИР13 имеются последовательные информационные входы DR и DL, сигналы с которых вдвигаются, соответственно, в младший и в старший разряды. Предусмотрен сброс всех выходов регистра в нуль по нулевому сигналу на входе –R.
| Входы | Функция | |||
|---|---|---|---|---|
C |
-R |
SR |
|
|
X |
0 | X |
X |
Сброс |
| 0 $$\to$$ 1 | 1 | 1 | 0 | Сдвиг вправо |
| 0 $$\to$$ 1 | 1 | 0 | 1 | Сдвиг влево |
| 0 $$\to$$ 1 | 1 | 0 | 0 | Хранение |
| 0 $$\to$$ 1 | 1 | 1 | 1 | |
Режим работы регистра ИР13 определяется двумя управляющими входами SR и
Отметим, что регистр ИР13 применяется заметно реже, чем более простые регистры ИР8 и ИР9, так как задач, в которых были бы нужны все возможности ИР13, не так уж много, а управление работой ИР13 - довольно сложное.
Наконец, последний
Регистр ИР24 обеспечивает сдвиг информации в обоих направлениях. Имеются входы расширения DR и DL, а также
выходы расширения Q0 и Q7, что позволяет легко наращивать разрядность. Отличие выходов Q0 и Q7 от нулевого и
седьмого разрядов данных состоит в том, что Q0 и Q7 - однонаправленные, то есть в любом режиме работы выдают информацию
с выходов внутренних триггеров младшего и старшего разрядов. Тактируется регистр
Режим работы микросхемы определяется сигналами на управляющих входах SR и
При единичном сигнале на SR и нулевом сигнале на
При единичном сигнале на
При обоих нулях на входах SR и
| Входы | Функция | |||
|---|---|---|---|---|
-R |
C |
SR |
|
|
| 0 | Х |
Х |
Х |
Сброс |
| 1 | 0 $$\to$$ 1 | 1 | 0 | Сдвиг вправо |
| 1 | 0 $$\to$$ 1 | 0 | 1 | Сдвиг влево |
| 1 | 0 $$\to$$ 1 | 1 | 1 | |
| 1 | Х |
0 | 0 | Хранение |
При обеих единицах на входах SR и
(рис 8.18) Объединение регистров ИР24 для увеличения разрядностиОбъединяя два регистра ИР24, легко получить 16-разрядный
Главное применение всех
Для примера на рис. 8.19 показана простейшая схема передачи
(рис 8.19) Последовательная передача информации с помощью регистров сдвигаНа передающем конце (слева на рисунке) с помощью
Первый бит последовательного входа (со входа 7 регистра ИР9) начинает передаваться с началом сигнала записи -Зап.
Следующие разряды передаются с каждым следующим положительным фронтом
Следующее применение
(рис 8.20) Линия задержки входного сигнала на регистре сдвига
(рис 8.21) Формирователь импульсов с длительностью, задаваемой управляющим кодомВ исходном состоянии (до прихода положительного фронта входного сигнала) триггер сброшен в нуль, на всех выходах
Пусть управляющий код равен 5. Тогда в тот момент, когда на выходе 5
Таким образом, длительность выходного сигнала будет определяться
Наконец, последнее применение
Задача состоит в том, чтобы выходной сигнал или код менял свое состояние случайно (или почти случайно). Сигнал должен случайно переключаться из 0 в 1 и из 1 в 0, а код должен случайно принимать значения из диапазона от 0 до (2N–1), где N - число разрядов кода (например, от 0 до 255 при 8-разрядном коде). Псевдослучайные последовательности имеют то преимущество перед истинно случайными, что они - предсказуемые и периодические, но в этом же и их недостаток.
Структура генератора квазислучайной последовательности на сдвиговом регистре очень проста (рис. 8.22). Она представляет собой регистр сдвига с параллельными выходами (например, ИР8), несколько (минимум два) выходных сигналов которого объединены с помощью элемента Исключающее ИЛИ, с выхода которого сигнал подается на вход регистра, замыкая схему в кольцо. Схема тактируется сигналом с частотой fT.
(рис 8.22) Структура генератора псевдослучайной последовательности| $${}^1$$ | 7 | 8 | 15 | 16 | 24 | 31 |
|---|---|---|---|---|---|---|
| Выходы | 6,5 | 7,6,4,2 | 14,13 | 15,13,12,10 | 23,22,21,16 | 30,17 |
Выбор номеров разрядов для подключения обратной связи представляет собой непростую задачу, но существуют справочные
таблицы, в которых они приведены. В любом случае одна из точек подключения - выход старшего разряда. В
табл. 8.9
приведены точки подключения обратной связи для
Из таблицы видно, что выгоднее брать число разрядов не кратное 8, например, 7, 15 или 31. В этом случае для обратной связи используются всего лишь два выхода, то есть достаточно одного двухвходового элемента Исключающее ИЛИ.
Период выходной последовательности генератора составляет (2N-1) тактов, где N - количество разрядов регистра
сдвига. За это время каждое из возможных значений выходного кода (кроме одного) встречается один раз. Количество
единиц в выходном сигнале больше количества нулей на единицу.
Выходной код 000 $$\dots$$ 0 представляет собой запрещенное состояние, так как он блокирует работу генератора, воспроизводя сам себя снова и снова. Но в то же время получиться такой нулевой код может только сам из себя, поэтому достаточно обеспечить, чтобы его не было при включении питания схемы.
Частоты в спектре выходного сигнала будут следовать с интервалом (fT/2N–1), а огибающая спектра будет
практически постоянной до частоты 0,25fT, то есть шум до этой частоты можно считать белым (спад в 3 дБ происходит на
частоте 0,45 fT ).
(рис 8.23) 31-разрядный генератор псевдослучайной последовательности на регистрах сдвигаНа рис. 8.23 показана практическая схема генератора псевдослучайной последовательности на 31-разрядном сдвиговом
регистре. Обратная связь осуществляется с выходов 30 и 17 регистра через двухвходовой элемент Исключающее ИЛИ с
инвертором. Из-за применения
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.