Лічильники. Основні положення

Лічильником називають цифровий пристрій (цифровий автомат), сигнали на виході якого, у певному коді, відображають число імпульсів, що надійшли на рахунковий вхід. Крім того, у лічильниках виконуються такі мікрооперації, як установка у вихідний стан, зберігання й видача слів. По мірі надходження вхідних сигналів лічильник послідовно міняє свої стани, утворені комбінаціями станів тригерів з рахунковим входом. Число дозволених станів лічильника називають модулем рахунку, коефіцієнтом перерахування або ємністю M (у загальному випадку , де n - число тригерів або двійкових розрядів лічильника). Лічильники класифікують за значенням модуля, напрямком рахунку й способом організації міжрозрядних зв’язків.

За значенням модуля рахунку розрізняють: двійкові (), двійково-кодовані з довільним модулем, з одинарним кодуванням і ін.

За напрямком рахунку: підсумовуючі (прямого рахунку - Up-counter), що віднімають (зворотного рахунку - Down-counter) і реверсивні (Up-Down-counter).

За способом організації міжрозрядних зв’язків розрізняють лічильники з послідовним, паралельним і комбінованим переносами.

Крім того, всі перераховані типи лічильників прийнято ділити на два види: синхронні й асинхронні. При цьому в асинхронних лічильниках зміна його стану, викликана впливом чергового імпульсу, характеризується послідовною у часі зміною станів тригерів (як правило, це лічильники з послідовним переносом). У синхронних лічильниках зміна станів характеризується одночасною у часі зміною станів його тригерів. У цій якості синхронні лічильники утворять один з видів синхронних автоматів, тому до них може бути застосована й стандартна методика синтезу цього класу автоматів.

Визначимо деякі закономірності двійкових лічильників. Відповідність між числом вхідних імпульсів і станами 3-розрядного двійкового лічильника (прямій і зворотний рахунок) представлена в табл. 3.1. Розглядаючи її для прямого рахунку, можна відзначити дві закономірності:

- значення змінної Qi змінюється тоді, коли змінна в сусідньому молодшому розряді Qi -1 переходить зі стану «1» у стан «0».

- значення вихідний змінної Qi змінюється при надходженні чергового імпульсу рахунку в тому випадку, коли змінні у всіх молодших розрядах Qi -1, …, Q 1 перебувають у стані «1».

Таблиця 3.1 − Відповідність між числом вхідних імпульсів і станами 3-розрядного двійкового лічильника

Число вхідних імпульсів Підсумовуючий Що віднімає  
  Q3 Q2 Q1 Q3 Q2 Q1
             
             
             
             
             
             
             
             
               

Перша закономірність указує на можливість реалізації лічильника асинхронного типу, друга дозволяє побудувати синхронний лічильник. Для лічильника, що віднімає, аналогічні закономірності можна сформулювати так:

- значення вихідний змінної Qi змінюється, коли змінна в сусідньому молодшому розряді Qi -1 переходить зі стану «0» в «1».

- значення вихідний змінної Qi змінюється при надходженні чергового імпульсу рахунку у випадку, коли всі змінні в попередніх молодших розрядах Qi -1,..., Q 1 перебувають у стані «0».

Асинхронні послідовні лічильники будуються у вигляді ланцюжка тригерів з рахунковим входом (JK -тригер з J=K =1 або D -тригер з інверсним зворотним зв’язком, ), коли тактовий вхід кожного наступного підключений до виходу Q або попереднього, що залежить як від напрямку рахунку, так і від типу входу тригера, що тактує.Схема підсумовуючого лічильника на JK -тригерах і часовій діаграмі його роботи наведені на рис. 3.4. Якщо тактові входи JK -тригерів з’єднати з інверсними виходами попередніх тригерів, то вийде схема лічильника, що віднімає. Аналогічно, якщо в схемі лічильника, що віднімає, на D -тригерах (рис. 3.5) тактові входи тригерів з'єднати з інверсними виходами попередніх тригерів, то лічильник стане підсумовуючої.

Отримані лічильники називають послідовними, тому що в них кожний тригер перемикається вихідним сигналом попередні. Ці лічильники відрізняються простою схемою, але низькою швидкодією в режимі реєстрації вхідних сигналів, тому що в цьому режимі не можна подавати черговий вхідний сигнал, поки не зафіксований попередній стан лічильника. Час установлення коду дорівнює t уст = nt зт.тр, де t зт.тр - час затримки перемикання тригера. Очевидно, що максимальна частота вхідних сигналів у режимі реєстрації становить f макс.рег=1/ t уст. Втім, у режимі розподілу вхідних імпульсів максимальна частота їхнього надходження буде обмежуватися швидкодією молодшого тригера й складе f макс.справ=1/ t зт.тр.


Рисунок 3.4 − Асинхронний підсумовуючий лічильник на JK - тригерах (а) і часова діаграма його роботи (б)

Рисунок 3.5 − Асинхронний лічильник, що віднімає, на D -тригерах (а), часова діаграма його роботи (б).

Другий недолік складається в тім, що через нагромадження часових зрушень у розрядах у процесі встановлення коду, у лічильнику на короткі проміжки часу виникають помилкові стани. Тому, якщо до вихідних розрядів такого лічильника підключити дешифратор, то на його виходах можуть з’явитися помилкові сигнали, що відповідають проміжним фазам переходу лічильника з одного стану в інший. Від названих недоліків вільні синхронні лічильники.

Синхронні двійкові лічильники. Схему синхронного лічильника можна представити узагальненою структурною схемою (рис. 3.6), що включає тригери з рахунковим входом T і комбінаційну схему, що формує функції порушення fi для цих рахункових входів. В JK -тригерах рахунковий вхід організується шляхом з’єднання входів J і K. Вхід управляє режимом роботи схеми ( − прямий рахунок, − зворотний рахунок), а вихідний сигнал переносу/позики CR/BR (Carry/Borrow) може використовуватися для нарощування розрядності лічильника.

Рисунок 3.6 − Структурна схема синхронного лічильника

Як треба з аналізу табл. 3.1 (правило 2), перемикання тригера молодшого розряду здійснюється із приходом рахункового сигналу CLK, а інших тільки в тому випадку, коли всі тригери молодших розрядів установлені в «1» (прямій рахунок) або в «0» (зворотний рахунок).

Отже, у загальному випадку, функція порушення тригера fi для синхронного двійкового лічильника може бути визначена виразом:

, . (3.1)

Для молодшого розряду: f1=1. Сигнал переносу/займу може формуватися у двох випадках, а саме, коли в лічильнику зберігається максимальне значення коду при й мінімальне значення при :

. (3.2)

На рис. 3.7 представлена схема 4-розрядного синхронного двійкового лічильника зі змінюваним напрямком рахунку, побудованого відповідно до виразів (3.1) і (3.2) з тією відмінністю, що в схему введений додатковий керуючий вхід CE (Count Enable − дозвіл рахунку). Часові діаграми роботи лічильника (рис. 3.8) пояснюють особливості формування переносу в режимі прямого рахунку й заёма - у зворотному з урахуванням запізнювання в їхньому формуванні щодо рахункового (тактового) сигналу CLK.

Рисунок 3.7 − Двійковий лічильник зі змінюваним напрямком рахунку

( − прямий, − зворотний)

Каскадувати рахункові групи можна двома способами: з використанням послідовного або паралельного переносів. При паралельному переносі (рис. 3.9) дві рахункові групи як би поєднуються в єдину синхронну схему 8-розрядного лічильника. Наявність керуючого входу дозволу рахунку CE при такому способі об’єднання є просто обов’язковим. Іноді, коли висока швидкість не потрібна, рахункові групи можна з’єднати послідовно (рис. 3.10), при цьому сигнал переносу (займу) служить тактовим сигналом наступної старшої групи. У цьому випадку (див. діаграми рис. 3.8) замість виходу доцільно використати той же сигнал, тільки синхронізований тактовим сигналом (CR/BR). Схему ж лічильника при цьому можна спростити, забравши вхід дозволу рахунку CE.

Рисунок 3.8 − Діаграма формування переносу й позики в 4-розрядному синхронному лічильнику (CE=1)

Рисунок 3.9 − Каскадування синхронних лічильників з паралельним переносом

Рисунок 3.10 − Каскадування синхронних лічильників за допомогою послідовного переносу

Синтез лічильників із довільним модулем. Різні області застосування вимагають використання лічильників з різними модулями (наприклад, як дільники частоти імпульсної послідовності використаються лічильники з M< 2 n, для роботи в 10-вій системі числення застосовуються декадні лічильники з M =10 і т.д.).

Ті методи побудови лічильників з довільним модулем рахунку, що вже існують дуже різноманітні й зводяться по суті до різних підходів в усуненні надлишкових станів , де 2 n − модуль рахунку n - розрядного двійкового лічильника [2, 3, 4, 8]. У лабораторній роботі використаються лише два способи:

- класичний метод синтезу лічильника з довільним модулем M, що розглядає поводження лічильника як синхронного автомата із заданою таблицею переходів;

- метод виключення групи надлишкових станів.

Класичний метод. Коротко перелічимо основні етапи синтезу.

1. На основі заданого значення модуля M визначаємо число тригерів n, округливши до найближчого більшого цілого величину .

2. Вибираємо (якщо він не є заданим) тип тригера, у якому є або легко реалізується рахунковий режим.

3. Вибираємо природний порядок рахунку, починаючи з 0 (у діапазоні 0...M-1), або з α (у діапазоні від α до 2n-1) і складаємо таблицю переходів лічильника за формою табл. 3.2 (обрані JK-тригер і M=5).

Таблиця 3.2 – Таблиця переходів лічильника

Таблиця 3.2

Стани лічильника Функції збудження тригерів
Вихідний (t) Наступний (t +1)            
Q3 Q2 Q1 Q3 Q2 Q1 J3 K3 J2 K2 J1 K1
              *   *   *
              *   * *  
              * *     *
              * *   *  
            *     *   *

4. Складаємо карти Карно для кожної з функцій порушення від аргументів і знаходимо відповідні мінімальні форми:

J 3= Q 2 Q 1, J 2 = Q 1, J 1= ,

K 3=1, K 2=Q1, K 1=1.

5. На основі відомих виразів для функцій збудження будуємо схему синхронного лічильника із заданим модулем.

Метод виключення. Використання методу припускає знання виразу для функції збудження рахункового входу i -го розряду лічильника (1). Виклад методу проведемо на конкретному прикладі синтезу підсумовуючого лічильника, для якого вираз (3.1) при прийме вид

, . (3.3)

Для молодшого i =1 розряду f 1=1. Значення модуля рахунку M =6. Як тригер, Т -тригер.

1. На основі заданого значення модуля M визначаємо число тригерів n, округливши до найближчого більшого цілого величину , тобто n =3.

2. Складається таблиця станів лічильника по модулю 2 n.

3. Виключається з таблиці група надлишкових станів з виділенням у таблиці наступних кодових комбінацій (наборів): A, B, C. При цьому: А − стан попередній групі надлишкових станів, В − перший в групі надлишкових станів, а С - наступний за групою надлишкових станів (рис. 3.11).

Рисунок 3.11 – Стани лічильника

4. Виконується функція корекції порозрядних функцій порушення fi (i =1, 2, 3) за наступними правилами:

а) Якщо i -ті розряди для станів В і С збігаються, то корекція не потрібна: Qi (B) = Qi (C), тоді fi*= fi..

Тут fi* відкоректоване значення порозрядної функції збудження. У даному прикладі

f 1 *= f 1=1. (3.4)

Якщо i -ті розряди для станів В і С не збігаються, то корекція виконується за правилами.

б) Qi (А) ≠ Qi (C) − має місце перемикання стану тригера для знову встановлених суміжних станів. Тоді fi*= fi V φА, де функція φА = 0 для всіх наборів, за винятком набору А, для якого φА = 1. Отже, і fi* =1, що забезпечить перемикання тригера i- го розряду при переході з набору станів А до В.

в) Qi (А) = Qi (C) – відсутнє перемикання стану тригера для знову встановлених суміжних станів. Тоді fi*= , у цьому випадку значення порозрядної функції порушення fi*= 0 буде блокувати перемикання тригера i- го розряду при переході з набору станів А до В.

Оскільки надлишкові стани виключені зі станів лічильника, то вираз для функції φА можна мінімізувати з врахуванням цих надлишкових станів. У цьому випадку, як це неважко одержати, будемо мати φА = Q 3 Q 1. У розглянутому прикладі синтезу лічильника має місце корекція як за правилом (3.4, б):

f 3*= f 3V φА = Q 1 Q 2 V Q 3 Q 1, (3.5)

так і за правилом (3.4, с):

f2*= = Q 1* = . (3.6)

У виразах (3.5) і (3.6) f2=Q 1і f3= Q 1 Q 2 представляють порозрядні функції збудження для 2-го й 3-го розрядів відповідно. На рис 3.12 зображена схема лічильника, побудована у відповідності до виразу (3.4) − (3.6). Індивідуальні завдання для синтезу синхронних лічильників з довільним модулем зведені в табл. 3.3.

Рисунок 3.12 – Лічильник з модулем М =6


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: