Счетчики

Счетчики представляют собой еще одну из разновидностей регист­ров, изменяющих свое состояние при подаче на их вход импульсных сиг­налов. В компьютерах счетчики применяются в устройствах управления для формирования адресов ячеек ЗУ, в которых хранятся команды и программы, в аналого-цифровых преобразователях и т. п. Различают сум-мирующие и вычитающие счетчики. Каждый им­пульс на входе суммиру-ющего счетчика (рис. 20, 21) увеличивает код храни­мого в нем числа на единицу.

 

Рисунок 20

 
 
                                                                 
                                                               
                                                                 
                                                                t
                                                               
                                                                 
                                                                t
                                                               
                                                                 
                                                                t
                                                               
                                                                 
                                                                t

 

 

 


Рисунок 21

 

В вычитающем счетчике (рис. 22, 23) на каж­дый входной импульс происходит уменьшение хранимого кода на еди­ницу.

 

Рисунок 22

 

 
 
                                                                 
                                                               
                                                                 
                                                                t
                                                               
                                                                 
                                                                t
                                                               
                                                                 
                                                                t
                                                               
                                                                 
                                                                t

 

 

 


Рисунок 23

Реверсивный счетчик (рис. 24) может считать как с увеличением, так с уменьшением кода, в зависимости от того будут ли поданы им­пульс

 
 

 


Рисунок 24

на вход суммирования «+» или на вход вычитания «–».

Эти простейшие счетчики реализованы на T-триггерах. В них все подлежащие переключению триггеры изменяют свое состояние не одно­временно, а последовательно друг за другом. Например, если все три триг­гера счетчика на рис. 20 находятся в единице, то очередной входной им­пульс опрокинет первый триггер. Изменение уровня на выходе первого триггера опрокинет второй триггер, выходной сигнал которого, заставит опрокинуться третий. Поэтому счетчики, построенные по такому прин­ципу, называются асинхронными.

Недостатком асинхронных счетчиков является задержка в установ­лении соответствующего кода после прихода счетного импульса. Кроме того, при переходе от одного кода к другому счетчик на короткое время принимает промежуточные состояния. Например, рассмотрим работу суммирующего счетчика, начиная с состояния 011 (цифра слева соответ­ствует старшему триггеру, находящемуся на рис 19 справа). Тогда, при приходе счетного импульса код в данном счетчике будет меняться сле­дующим образом: 011 – 010 – 000 – 100. В данном случае переходной про­цесс от кода 011 к коду 100 содержит два промежуточных состояния 010 и 000. В случае если к выходам счетчика подключены другие устройства, например дешифратор параллельного кода, эти промежуточные состояния вызовут ложные срабатывания этих устройств.

Указанные недостатки устраняются при использовании синхронных счет­чиков, в которых срабатывание триггеров происходит одновременно. Это достигается благодаря тому, что триггеры синхронного счетчика оп­роки­дываются под воздействием входного импульса, а не от сигнала пре­дыду­щего триггера. При этом счетчик строится так, чтобы каждому им­пульсу соответствовали срабатывания только определенных триггеров. Счетчик со сквозным переносом (рис. 25), является одним из вариантов построения синхронного счетчика. В этом счетчике на счетные входы триггеров по­даются входные тактовые импульсы. Эти импульсы проходят через схемы «И», на другие входы которых поступают сигналы с выходов соответст­вующих триггеров. Основная идея такого включения состоит в том, что из тактового сигнала формируется так называемый импульс переноса, кото­рый проходит только на те триггера, которые должны опроки­дываться.

 
 

 


Рисунок 25

 

Рассмотрим работу счетчика на предыдущем примере. Первый и второй триггер находятся в 1, поэтому на выходах соответствующих им схем И из тактовых импульсов сформируются еще до их опрокидывания сигналы переноса. Эти сигнал переноса с первой схемы И опрокинет вто­рой триггер, а сигнал переноса со второй, схемы И опрокинет третий триг­гер, первый триггер опрокинется непосредственно от тактового сиг­нала. Таким образом, переход счетчика от состояния 011 в состояние 100 про­изойдет без промежуточных состояний практически синхронно с зад­ним фронтом тактового импульса. На самом деле триггеры срабатывают не со­всем синхронно из-за задержек вносимых схемами И, но эта не­синхрон­ность на порядок ниже чем у асинхронных счетчиков.

Счетчик из триггеров имеет устойчивых состояний и мо­жет хранить числа в диапазоне от 0 до , при этом сам счетчик называ­ется двоичным. Число называют коэффициентом пересчета или коэффи­циен­том деления счетчика. Если необходимо построить счетчик с коэф­фициентом деления меньшим чем , то некоторые состояния счет­чика можно запретить, используя, например обратные связи. Счетчик, в кото­ром имеется только десять устойчивых состояний, называют десятич­ным или декадным. Несколько включенных друг за другом декад обра­зуют многоразрядный счетчик, работающий в десятичной системе счисле­ния.

Пример десятичного счетчика приведен на рис. 26. В этом счетчике запрещены состояния, начиная с 1010 и кончая состоянием 1111. Таким образом, после состояния 1001 (код цифры 9 десятичной системы) следует состояние 0000 (код цифры 0). Этот счетчик работает в так называемом двоично-десятичном коде.

 
 

 


Рисунок 26

 

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

Любой счетчик можно использовать как делитель частоты входных импульсов. В самом деле, как следует из временных диаграмм работы

счетчиков, частота выходных импульсов, снимаемых с последнего триг­гера счетчика в раз ниже частоты входных импульсов, т.е. . Именно это свойство используют в процессорах для реализа­ции программируемого таймера, представляющего собой счетчик с про­граммируемым коэффициентом деления и стабильной известной частотой, поступающей на вход этого счетчика. Пример счетчика с управляемым ко­эффициентом деления, задаваемым кодом, приведен на рис. 27.

 
 


Рисунок 27