Счетчик звонков

редактировать

A Счетчик звонков - это тип счетчика, состоящего из триггеров, подключенных к регистр сдвига, с выходом последнего триггера, поступающим на вход первого, образуя "круговую" или "кольцевую" структуру.

Существует два типа счетчиков звонков:

  • A счетчик прямого звонка, также известный как одноразовый счетчик, соединяет выход последний сдвиговый регистр к первому входу сдвигового регистра и передает по кольцу единичный (или нулевой) бит.
  • A счетчик витого кольца, также называемый счетчик концевого кольца, счетчик ходячих колец, счетчик Джонсона или счетчик Мёбиуса, соединяет дополнение выхода последнего сдвигового регистра со входом первого регистра и распространяет по кольцу поток единиц, за которым следуют нули.

Содержание

  • 1 Последовательности четырехбитового счетчика звонков
  • 2 Свойства
  • 3 Логические диаграммы
  • 4 История
  • 5 Приложения
  • 6 См. Также
  • 7 Примечания
  • 8 Ссылки

Последовательности четырехбитового счетчика звонков

Счетчик прямого звонкаСчетчик Джонсона
СостояниеQ0Q1Q2Q3СостояниеQ0Q1Q2Q3
0100000000
1010011000
2001021100
3000131110
0100041111
1010050111
2001060011
3000170001
0100000000

Свойства

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

Прямая и скрученная формы имеют разные свойства, а также относительные преимущества и недостатки.

Общим недостатком кольцевых счетчиков является то, что они представляют собой коды с меньшей плотностью, чем обычные двоичные кодировки номеров состояний. Двоичный счетчик может представлять 2 ^ N состояний, где N - количество битов в коде, тогда как прямой кольцевой счетчик может представлять только N состояний, а счетчик Джонсона может представлять только 2N состояний. Это может быть важным соображением в аппаратных реализациях, где регистры дороже, чем комбинационная логика.

Счетчики Джонсона иногда предпочтительны, потому что они предлагают вдвое больше состояний счета из того же числа регистров сдвига и потому, что они могут самоинициализироваться из состояния все нули, не требуя первого бита счета для внешнего впрыска при запуске. Счетчик Джонсона генерирует код, в котором соседние состояния различаются только на один бит (то есть имеют расстояние Хэмминга, равное 1), как в код Грея, что может быть полезно, если битовая комбинация будет дискретизирована асинхронно.

Когда требуется полностью декодированное или одноразовое представление состояния счетчика, как в некоторых контроллерах последовательности, предпочтительным является прямой кольцевой счетчик. Свойство one-hot означает, что набор кодов разделен минимальным расстоянием Хэмминга, равным 2, поэтому любая однобитовая ошибка обнаруживается (как и любой шаблон ошибки, кроме включения одного бита и выключения один бит).

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

Логические схемы

Счетчик прямого кольца имеет логическую структуру, показанную здесь:

4-битное кольцо счетчик с помощью четырех шлепанцев типа D. Показаны синхронные часы и линия сброса.

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

Счетчик Джонсона, названный в честь Роберта Ройса Джонсона, представляет собой кольцо с перевернутой стороной; вот 4-битный счетчик Джонсона:

4-битный счетчик Джонсона с использованием четырех триггеров D-типа. Показаны синхронные часы и строка сброса.

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

История

До того, как появились цифровые вычисления, цифровые счетчики использовались для измерения скорости случайных событий, таких как радиоактивный распад на альфа- и бета-частицы. Счетчики с быстрым «предварительным масштабированием» снижают частоту случайных событий до более управляемых и более регулярных. Кольцевые счетчики с пятью состояниями использовались вместе со шкалами деления на два для создания декадных (степень десяти) масштабаторов до 1940 года, таких как те, которые были разработаны C. E. Wynn-Williams.

Ранние кольцевые счетчики использовали только один активный элемент (электронная лампа, вентиль или транзистор) на каскад, полагаясь на глобальную обратную связь, а не на локальные бистабильные триггеры, для подавления состояний, отличных от одного горячего состояния, например, в патентной заявке 1941 г. National Cash Registor Company. Уилкокс П. Овербек изобрел версию с использованием нескольких анодов в одной вакуумной лампе. В знак признания его работы, Кольцевые счетчики иногда называют «кольцами Овербека» (а после 2006 г. иногда называют «счетчиками Овербека», поскольку этот термин использовался в Википедии с 2006 по 2018 год).

ENIAC использовал десятичную арифметику на основе 10-позиционных счетчиков с одним горячим кольцом. Работы Муммы в NCR и Овербека в Массачусетском технологическом институте были среди произведений известного уровня техники, исследованных патентным ведомством при признании недействительными патентов Дж. Преспера Эккерта и Джона Мочли для технологии ENIAC.

К 1950-м годам появились кольцевые счетчики с двухтрубным или двухтриодным триггером на каскад.

Роберт Ройс Джонсон разработал ряд различных счетчиков на основе регистра сдвига с целью создания разного числа состояний с простейшей возможной логикой обратной связи и подал заявку на патент в 1953 году. Счетчик Джонсона является самым простым из них..

Приложения

Ранние применения кольцевых счетчиков были в качестве предварительных делителей частоты (например, для счетчика Гейгера и подобных инструментов), в качестве счетчиков для подсчета появления шаблонов в криптоанализе (например, в машина для взлома кода Хита Робинсона и компьютер Colossus ), а также в качестве элементов счетчика-накопителя для десятичной арифметики в компьютерах и калькуляторах, используя либо бипятичность (как в Colossus) или десять состояний one-hot (как в ENIAC ) представления.

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

Помимо того, что это эффективный альтернативный способ генерации оперативных кодов и частотных устройств предварительного масштабирования, счетчик Джонсона также является простой способ кодировать цикл из четного числа состояний, которые могут быть асинхронно дискретизированы без сбоев, так как только один бит изменяется за раз, как в код Грея. Ранние компьютерные мыши использовали 2-битные кодировки Джонсона или Грея вверх-вниз (двунаправленные) для обозначения движения в каждом из двух измерений, хотя у мышей эти коды обычно не генерировались кольцами триггеров (но вместо электромеханических или оптических квадратурных энкодеров ). 2-битный код Джонсона и 2-битный код Грея идентичны, в то время как для 3 или более битов коды Грея и Джонсона различны. В 5-битном случае код такой же, как код Либав – Крейга [de ] для десятичных цифр.

Десятичный
0
1
2
3
4
5
6
7
8
9
1-битный
1
0
1
0
1
0
1
0
1
0
1
2-битный
21
00
01
11
10
00
01
11
10
00
01
3- бит
321
000
001
011
111
110
100
000
001
011
111
4-битный Джонсон
4321
0000
0001
0011
0111
1111
1110
1100
1000
0000
0001
Либав – Крейг
54321
00000
00001
00011
00111
01111
11111
11110
11100
11000
10000
1-2-1
54321
10001
00001
00011
00010
00110
00100
01100
01000
11000
10000
1 из 10
10987654321
0000000001
0000000010
0000000100
0000001000
0000010000
0000100000
0001000000
0010000000
0100000000
1000000000

См. также

Примечания

Ссылки

Последняя правка сделана 2021-06-04 04:08:32
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте