Кольцевой счетчик — это тип счетчика, состоящий из триггеров , соединенных в сдвиговый регистр , причем выходной сигнал последнего триггера подается на вход первого, образуя «круговую» или «кольцевую» структуру.
Существует два типа счетчиков звонков:
Кольцевые счетчики часто используются при проектировании аппаратного обеспечения (например, при проектировании ASIC и FPGA ) для создания конечных автоматов . Для двоичного счетчика потребуется сумматорная схема, которая существенно более сложна, чем кольцевой счетчик, и имеет более высокую задержку распространения по мере увеличения количества битов, тогда как задержка распространения кольцевого счетчика будет почти постоянной независимо от количества битов в коде. .
Прямая и скрученная формы имеют разные свойства, а также относительные преимущества и недостатки.
Общим недостатком кольцевых счетчиков является то, что они представляют собой коды меньшей плотности, чем обычные двоичные кодировки номеров состояний. Двоичный счетчик может представлять 2 N состояний, где N — количество битов в коде, тогда как прямой кольцевой счетчик может представлять только N состояний, а счетчик Джонсона может представлять только 2 N состояний. Это может быть важным фактором в аппаратных реализациях, где регистры дороже, чем комбинационная логика.
Счетчики Джонсона иногда предпочтительнее, поскольку они предлагают в два раза больше состояний счета из того же числа сдвиговых регистров, а также потому, что они способны самоинициализироваться из состояния «все нули», не требуя внешнего ввода первого бита счета при запуске. -вверх. Счетчик Джонсона генерирует код, в котором соседние состояния отличаются только на один бит (то есть имеют расстояние Хэмминга , равное 1), как в коде Грея , что может быть полезно, если битовая комбинация будет выбираться асинхронно. [1]
Когда требуется полностью декодированное или оперативное представление состояния счетчика, как в некоторых контроллерах последовательности, предпочтительным является прямой кольцевой счетчик. Свойство one-hot означает, что набор кодов разделен минимальным расстоянием Хэмминга , равным 2, [2] поэтому можно обнаружить любую однобитовую ошибку (как и любой шаблон ошибок, кроме включения одного бита и выключения одного бита). .
Иногда используются двунаправленные сдвиговые регистры (с использованием мультиплексоров для получения входных данных для каждого триггера от его левого или правого соседа), так что можно создать двунаправленные или восходящие кольцевые счетчики. [3]
Прямой кольцевой счетчик имеет логическую структуру, показанную здесь:
Вместо линии сброса, устанавливающей исходный шаблон «горячий» , прямое кольцо иногда делается самоинициализирующимся за счет использования вентиля распределенной обратной связи на всех выходах, кроме последнего, так что на входе отображается 1, когда ни на одном этапе нет единицы, кроме последней. [4]
Счетчик Джонсона, названный в честь Роберта Ройса Джонсона , представляет собой кольцо с инверсией; вот 4-битный счетчик Джонсона:
Обратите внимание на небольшой пузырь, указывающий на инверсию сигнала Q из последнего сдвигового регистра перед обратной подачей на первый вход D, что делает его счетчиком Джонсона.
До появления цифровых вычислений цифровые счетчики использовались для измерения скорости случайных событий, таких как радиоактивный распад на альфа- и бета-частицы. Быстрые счетчики с «предварительным масштабированием» снизили частоту случайных событий до более управляемых и более регулярных показателей. Кольцевые счетчики с пятью состояниями использовались вместе со счетчиками деления на два для создания декадных (степени десяти) счетчиков до 1940 года, например, разработанных CE Wynn-Williams . [5]
Ранние кольцевые счетчики использовали только один активный элемент (вакуумная лампа, лампа или транзистор) на ступень, полагаясь на глобальную обратную связь, а не на локальные бистабильные триггеры, для подавления состояний, отличных от состояний с перегревом, например, в патентной заявке 1941 года. Роберта Э. Муммы из Национальной компании по производству кассовых аппаратов . [6] Уилкокс П. Овербек изобрел версию, использующую несколько анодов в одной вакуумной лампе, [7] [8] В знак признания его работы кольцевые счетчики иногда называют «кольцами Овербека» [9] [10] (и после 2006 года, иногда как «счетчики Овербека», поскольку Википедия использовала этот термин с 2006 по 2018 год).
ENIAC использовал десятичную арифметику, основанную на счетчиках с одним горячим кольцом с 10 состояниями . Работы Муммы из NCR и Овербека из Массачусетского технологического института были среди работ предшествующего уровня техники, рассмотренных патентным бюро и аннулировавших патенты Дж. Преспера Эккерта и Джона Мочли на технологию ENIAC. [11]
К 1950-м годам появились кольцевые счетчики с двухламповым или двухтриодным триггером на каскад. [12]
Роберт Ройс Джонсон разработал ряд различных счетчиков на основе сдвиговых регистров с целью получения различного количества состояний с максимально простой логикой обратной связи и подал заявку на патент в 1953 году. [13] Счетчик Джонсона является самым простым из них.
Ранние применения кольцевых счетчиков были в качестве прескалеров частоты (например, для счетчика Гейгера и подобных приборов), [5] в качестве счетчиков для подсчета вхождений шаблонов в криптоанализе (например, в машине для взлома кодов Хита Робинсона и компьютере Colossus ), [14] и в качестве аккумулятора. элементы счетчика для десятичной арифметики в компьютерах и калькуляторах, использующие либо двоичное пятеричное (как в Colossus), либо одногорячее представление с десятью состояниями (как в ENIAC ).
Счетчики с прямым кольцом генерируют полностью декодированные горячие коды, которые часто используются для выполнения определенного действия в каждом состоянии циклического цикла управления. Горячие коды также можно декодировать с помощью счетчика Джонсона, используя один вентиль для каждого состояния. [15] [номер 1]
Помимо того, что счетчик Джонсона является эффективным альтернативным способом генерации горячих кодов и преобразователей частоты, он также является простым способом кодирования цикла из четного числа состояний, которые могут быть асинхронно дискретизированы без сбоев, поскольку при этом изменяется только один бит. время, как в коде Грея . [16] Ранние компьютерные мыши использовали 2-битные кодировки Джонсона или Грея вверх-вниз (двунаправленные) для обозначения движения в каждом из двух измерений, хотя у мышей эти коды обычно генерировались не кольцами триггеров (а вместо этого -механические или оптические квадратурные энкодеры ). [17] 2-битный код Джонсона и 2-битный код Грея идентичны, тогда как для 3 и более битов коды Грея и Джонсона различны. В 5-битном случае код такой же, как код Либо-Крейга для десятичных цифр. [18] [19] [20] [21] [22] [23] [24] [25]
Счетчик с шагающим кольцом, также называемый счетчиком Джонсона, и несколько резисторов могут обеспечить аппроксимацию синусоидальной волны без помех. В сочетании с регулируемым прескалером это, пожалуй, самый простой генератор с числовым управлением . Два таких счетчика с шагающим кольцом, возможно, являются самым простым способом создания непрерывной фазовой частотной манипуляции , используемой в двухтональной многочастотной сигнализации и ранних модемных тонах. [26]
{{cite book}}
: CS1 maint: игнорируются ошибки ISBN ( ссылка )(519 страниц) [1][…] Кольцо Овербека используется для подачи синхронизированных импульсов в компьютерных цепях так же, как кулачковые автоматические выключатели подают синхронизированные импульсы в механических машинах. Он состоит из набора триггеров с общим входом от
линии привода кольца
, по которой передаются импульсы, подаваемые с технологического барабана. […] Первоначально триггеры сбрасываются в ВЫКЛ, за исключением домашнего
триггера
, который включен. Каждый отрицательный входной импульс выключает включенный триггер. Падение напряжения на выводе 10 выключенного триггера приведет к включению следующего триггера. Это продолжается по замкнутому кольцу […]
просто считают четыре состояния в любом направлении (вверх или вниз), изменяя только один бит за раз. (т.е. 00, 01, 11, 10). Это простой случай счетчика кода Грея или счетчика Джонсона (счетчик Мебиуса).(41 страница)
{{cite book}}
: |work=
игнорируется ( помощь )