Цифровые схемы - применение регистров сдвига
В предыдущей главе мы обсудили четыре типа регистров сдвига. В зависимости от требований мы можем использовать один из этих регистров сдвига. Ниже приведены применения регистров сдвига.
Регистр сдвига используется как Parallel to serial converter, который преобразует параллельные данные в последовательные. Он используется в секции передатчика после блока аналого-цифрового преобразователя (АЦП).
Регистр сдвига используется как Serial to parallel converter, который преобразует последовательные данные в параллельные. Он используется в секции приемника перед блоком цифро-аналогового преобразователя (ЦАП).
Регистр сдвига вместе с некоторыми дополнительными вентилями генерирует последовательность нулей и единиц. Следовательно, он используется какsequence generator.
Регистры сдвига также используются как counters. Есть два типа счетчиков в зависимости от типа выхода из крайнего правого D-триггера, подключенного к последовательному входу. Это счетчик кольца и счетчик кольца Джонсона.
В этой главе давайте обсудим эти два счетчика один за другим.
Счетчик звонков
В предыдущей главе мы обсудили работу последовательного входа - параллельного выхода. (SIPO)регистр сдвига. Он принимает данные извне в последовательной форме и требует «N» тактовых импульсов, чтобы сдвинуть данные «N» битов.
По аналогии, ‘N’ bit Ring counterвыполняет аналогичную операцию. Но единственное различие состоит в том, что выход крайнего правого D-триггера задается как вход крайнего левого D-триггера, а не применяется данные извне. Таким образом, счетчик звонков выдает последовательность состояний (набор нулей и единиц), и он повторяется для каждого‘N’ clock cycles.
В block diagram 3-битного счетчика звонков показан на следующем рисунке.
3-битный счетчик кольца содержит только 3-битный регистр сдвига SIPO. Выход крайнего правого D-триггера соединен с последовательным входом крайнего левого D-триггера.
Предположим, начальное состояние D-триггеров слева направо равно $ Q_ {2} Q_ {1} Q_ {0} = 001 $. Здесь $ Q_ {2} $ и $ Q_ {0} $ - это старший и младший бит соответственно. Мы можем понятьworking of Ring counter из следующей таблицы.
Нет положительного фронта часов | Последовательный вход = Q 0 | Q 2 (MSB) | Q 1 | Q 0 (младший бит) |
---|---|---|---|---|
0 | - | 0 | 0 | 1 |
1 | 1 | 1 | 0 | 0 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 0 | 1 |
Первоначальный статус D-триггеров в отсутствие тактового сигнала равен $ Q_ {2} Q_ {1} Q_ {0} = 001 $. Это состояние повторяется для каждых трех переходов положительного фронта тактового сигнала.
Следовательно, следующие operations имеют место для каждого положительного фронта тактового сигнала.
Последовательный ввод первого D-триггера получает предыдущий вывод третьего триггера. Таким образом, текущий выход первого D-триггера равен предыдущему выходному сигналу третьего триггера.
Предыдущие выходы первого и второго D-триггеров сдвинуты вправо на один бит. Это означает, что текущие выходы второго и третьего D-триггеров равны предыдущим выходам первого и второго D-триггеров.
Счетчик кольца Джонсона
Работа Johnson Ring counterаналогичен кольцевому счетчику. Но единственное отличие состоит в том, что дополненный выход крайнего правого D-триггера дается как вход крайнего левого D-триггера вместо обычного выхода. Следовательно, N-битный счетчик Johnson Ring формирует последовательность состояний (набор нулей и единиц), и она повторяется для каждого‘2N’ clock cycles.
Счетчик Johnson Ring также называют Twisted Ring counterи переключить счетчик хвостового кольца. Вblock diagram 3-битного счетчика Johnson Ring показан на следующем рисунке.
3-битный счетчик Johnson Ring также содержит только 3-битный регистр сдвига SIPO. Дополненный выход крайнего правого D-триггера подключен к последовательному входу крайнего левого D-триггера.
Предположим, что изначально все D-триггеры сброшены. Итак, $ Q_ {2} Q_ {1} Q_ {0} = 000 $. Здесь $ Q_ {2} $ и $ Q_ {0} $ - это старший и младший бит соответственно. Мы можем понятьworking счетчика Johnson Ring из следующей таблицы.
Нет положительного фронта часов | Последовательный вход = Q 0 | Q 2 (MSB) | Q 1 | Q 0 (младший бит) |
---|---|---|---|---|
0 | - | 0 | 0 | 0 |
1 | 1 | 1 | 0 | 0 |
2 | 1 | 1 | 1 | 0 |
3 | 1 | 1 | 1 | 1 |
4 | 0 | 0 | 1 | 1 |
5 | 0 | 0 | 0 | 1 |
6 | 0 | 0 | 0 | 0 |
Первоначальный статус D-триггеров в отсутствие тактового сигнала равен $ Q_ {2} Q_ {1} Q_ {0} = 000 $. Это состояние повторяется для каждых шести положительных переходов фронта тактового сигнала.
Следовательно, следующие operations имеют место для каждого положительного фронта тактового сигнала.
Последовательный ввод первого D-триггера получает предыдущий дополненный вывод третьего триггера. Таким образом, текущий выходной сигнал первого D-триггера равен предыдущему дополненному выходному сигналу третьего триггера.
Предыдущие выходы первого и второго D-триггеров сдвинуты вправо на один бит. Это означает, что текущие выходы второго и третьего D-триггеров равны предыдущим выходам первого и второго D-триггеров.