Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Лічильники



5.1. Загальна характеристика лічильників

Лічильником називається типовий функціональний вузол комп'ю­те­ра, призначений для лiчби вхідних імпульсів. Лічильник являє собою зв’язаний ланцюг Т-тригерів, які утворюють пам’ять iз заданим числом сталих станів (рис. 5.1).

Рис.5.1. Логічна структура лічильника
Розрядність лічильника n дорівнює числу T-тригерів. Кожний вхідний імпульс змінює стан лічильника, який зберігається до надходження наступного сигналу. Значення вихо­дів тригерів лічильника Qn,Qn–1,...,Q1 відображають результат лічби в прийнятій системі числення. Логічна функція лічильника позначається буквами СТ (counter).
Список мікрооперацій лічильника вміщує попереднє встанов­лення в початковий стан, інкремент або декремент слова, яке зберігається, видачу слів паралельним кодом та ін.
Вхідні імпульси можуть надходити на лічильник як періодично, так і довільно розподіленими у часі. Амплітуда і тривалість лічильних імпульсів мають задовольняти технічні вимоги для серій мікросхем, які використовуються.
Лічильник є одним з основних функціональних вузлів ко­м­п’ю­тера, а також різних цифрових керуючих та інфор­ма­ційно-вимірювальних систем. Основне застосування лічильників:
утворення послідовності адрес команд програм­и (лічильник команд або програмний лічильник);
підрахунок числа циклів при виконанні операцій ділення, множення, зсуву (лічильник ци­к­лів);
одержання сигналів мікрооперацій і синхронізації; аналого-цифрові перетворення і побудова електронних таймерів (годинників реального часу).
Лічильник характеризується модулем і ємністю лічби. Модуль лічби КЛЧ визначає число станів лічильника. Модуль двійкового n-розрядного лічильника визначається цілим степенем двійки М=2n; в лічильниках інших типів справедлива нерівність КЛЧ £ М. Після лічби числа імпульсів NВХ=КЛЧ лічильник повертається в початковий стан. Таким чином, модуль лічби, який часто називають коефіцієн­том перерахунку, визначає цикл роботи лічильника, після чого його стан повторюється. Тому число вхідних імпульсів і с­тан лічильника однозначно визначені тільки для першого циклу.
Ємність лічби Nmax визначає максимальну кількість вхід­них імпульсів, яку може зафіксувати лічильник при одному циклі роботи. Ємність лічби Nmax=КЛЧ –1 за умови, що ро­бо­та лічильника починається з нульового початкового стану.
У лічильниках використовуються три режими роботи: керування, на­копичення і ділення. У режимі керування зчитування інформації виконується після кожного вхідного лічильного імпульсу, наприклад, в лічильнику адреси команд. У режимі накопичення головним є підрахунок заданого числа імпульсів або лічба протягом певного часу. У режимі ділення (перерахунку) основним є змен­шення частоти надходження імпульсів в КЛЧ разів. Більшість лічиль­ників може працювати в усіх режимах, проте в спеціальних лічиль­никах-дільниках стани в процесі лічби можуть змінюватися в довіль­ному порядку, що дозволяє спростити схему вузла.
Лічильники класифікують за такими ознаками:
способом кодування – позиційні та непозиційні;
модулем лічби – двійкові, десяткові, з довільним постійним або змінним (програмованим) модулем;
напрямком лічби – прості (підсумовуючі, віднімальні) і реверсивні;
способом організації міжрозрядних зв’язків – з послідов­ним, наскрізним, паралельним і комбінованим пере­носами (позикою);
типом використовуваних тригерів – T, JK, D в лічильному режимі;
елементним базисом – потенціальні, імпульсні та потен­ціально-імпульсні.
У лічильниках з позиційним кодуванням числовий вираз поточного стану лічильника визначається за формулою:
N = Qi = rn Qn + rn-1 Qn-1+...+ r1 Q1,
де ri – вага i-го розряду; Qi – значення виходу i-го розряду; n – число розрядів. Нульове значення всіх розрядів звичайно беруть як початковий стан лічильника. Всі інші стани нумерують за числом вхідних імпульсів, що надійшли.
У лічильниках з непозиційним кодуванням (наприклад, у кодах Грея) розряди не мають постійних ваг і кожному набору ста­нів Qn,Qn-1,...,Q1 приписується певна кількість вхідних імпульсів. У комп’ютерах переважно використовують лічильники з позиційним кодуванням.
За видом переходів прості лічильники (Лч) розподіляються на підсумовуючі (прямої лічби) і віднімальні (зворотної лічби). У підсумовуючих лічильниках кожний доданий імпульс U+ збільшує стан на одиницю, тобто реалізується мікрооперація інкремента Лч:= Лч+1. Граф переходів підсумовуючого лічильника показаний на рис.5.2, а, де вершини означають стійкі стани. Із М–1-го стану черговий сигнал U+ повертає лічильник у початковий стан і видає сигнал переповнення Р.
У віднімальних лічильниках кожний віднімальний імпульс U – зменшує стан на одиницю, тобто реалізується мікрооперація декремента Лч:= Лч–1. Граф переходів віднімального лічильника (рис. 5.2, б) характеризується наявністю переходів тільки в зворотному напрямку від деякого (наприклад, М–1-го) попередньо встановленого стану. Після віднімання М імпульсів лічильник видає сигнал позики Z і повертається в початковий М–1-й стан.


Рис.5.2. Графи лічильників: а – підсумовуючого; б – віднімального; в – реверсивного

Реверсивні лічильники мають переходи в прямому і зворотному напрямках, що дозволяє рахувати підсумовуючі та віднімальні імпульси (рис.5.2, в).У процесі лічби має виконуватися умова åU+ + Nп ³ åU–, де Nп – попередньо записане число. За поточним станом виходів лічильника визначається результат реверсив­ної лічби:
DN = åU+ + Nп – åU –.
До часових характеристик лічильників відносяться роздільна здатність, швидкодія і час встановлення (перемикання) коду.
Роздільна здатність tрз визначається мінімальним інтер­ва­лом часу між двома вхідними імпульсами, при якому ще зберігається працездатність лічильника. Параметр tрз задають часом перемикання tТ першого (молодшого) тригера лічильника, тобто tрз=tТ, оскільки він перемикається під дією кожного вхідного імпульсу.
Швидкодія лічильника визначається максимальною частотою Fm надходження вхідних імпульсів в режимі ділення й обчислюється за формулою Fm = 1/tТ. Час встановлення коду tвст відраховується від початку вхідного імпульсу до моменту отримання нового стану. Даний параметр дозволяє обчислювати швидкодію лічильника в режимі керування із співвідношення Fm.к=1/(tвст + tзч), де tзч – час зчитування інформації.
Міжрозрядні зв’язки забезпечують вироблення сигналів перене­сення в старші розряди при додаванні імпульсів і сигналів позики – при відніманні. Від виду реалізації міжрозрядних зв’язків суттєво залежать параметри tвст і Fm.к.
У лічильниках з послідовними перенесеннями тригери перемикаються почергово після кожного вхідного імпульсу в напрямку від молодших розрядів до старших. Такі лічильники називаються по­с­лідовними або асинхронними. У лічильниках з паралельними перенесеннями тригери перемикаються одночасно після кожного вхідного імпульсу, такі лічильники називаються паралельними або синхронними.


5.2. Двійкові підсумовуючі та віднімальні лічильники

Двійкові лічильники реалізують лічбу вхідних імпульсів у двійковій системі числення.
Число розрядів n двійкового підсумовуючого лічильника для зада­н­ого модуля М знаходять із виразу n = log2М. Значення поточного числа N+ вхідних імпульсів n-розрядного підсумовуючого лічильника при відліку з нульового початкового стану визначають за формулою
N+= Qi=2n-1 Qn+2n-2 Qn-1+...+20 Q1,
де 2i–1 – вага i-го розряду; QiÎ{0,1} – логічне значення прямого ви­ходу тригера i-го розряду. Розряди двійкового лічильника будуються на двосту­пеневих Т-тригерах або D-тригерах з динамічним керуванням по фронту синхросигналу (в лічильному режимі).
У двійковому підсумовуючому лічильнику перенесення Рi в сусідній стар­ший розряд Qi+1 виникає в тому випадку, коли в момент надходження чергового лічильного імпульсу U+ всі молодші розряди находяться в одиничному стані, тобто Pi=U+QiQi–1...Q1=1. Після вироблення пе­ре­несення старший розряд перемикається в стан «1», а всі молодші розряди – в стан «0».
Асинхронні підсумовуючі лічильники на двоступеневих Т-тригерах будуються так, щоб вхідні імпульси U+ надходили на лічильний вхід тільки першого (молодшого) розряду. Сигнали перенесення передаються асинхронно (послідовно в часі) з прямих виходів молодших розрядів на Т-входи сусідніх старших, як показано на рис.3.14 для трирозрядного лічильника.

а б
Рис.5.3. Асинхронний підсумовуючий лічильник на двосту­пеневих Т-тригерах: а – схема; б – часові діаграми роботи
Зміна станів тригерів відбувається за спадом лічильного імпульсу для першого розряду, а для останніх – за спадом сигналу перенесення (рис.5.3, б).
Після підрахунку семи імпульсів на виході трирозрядного лічильника установлюється двійковий код Q3Q2Q1=111 (тобто максимальне значення або ємність лічби). Після приходу восьмого вхід­ного імпульсу U+ трирозрядний підсумовуючий лічильник перемикається у початковий нульовий стан послідовно (асинхронно) в часі: спочатку спадає напруга на виході Q1, потім – на виході Q2 і т.д.
За допомогою імпульсу по входу скидання R лічильник повер­тається в нульовий стан у будь-який момент часу.
Часові параметри n-розрядного асинхронного лічильника на двоступеневих тригерах визначаються із співвідношень:
роздільна здатність tрз = tT1+tT2 = 2tT, де tT1 і tT2 – час перемикання першого і другого ступенів тригера, при­чому tT1=tT2= tT;
час встановлення tвст= tT1+ ntT2»ntT;
максимальна частота лічби в режимі ділення і керування відповідно: Fm=1/2tT; Fm.к»1/ntT.
В режимі керування швидкодія асинхронного лічильника при­близно в n раз менша ніж в режимі ділення.
Схема трирозрядного асинхронного двійкового підсу-мовуючого лічильника на Т-тригерах з динамічним керуванням по фронту показана на рис.5.4. Лічильні імпульси U+ надходять на Т-вхід тільки першого (молодшого) розряду; наступні тригери перемикаються асинхронно від сигналів перенесення з інверсних виходів сусід­ніх молодших розрядів.

а б
Рис.5.4. Асинхронний підсумовуючий лічильник на тригерах з динаміч­ним керуванням по фронту: а – схема; б – часові діаграми роботи
Часові параметри асинхронного n-розрядного двійкового лічильника на тригерах з динамічним керуванням: tрз = tT, tвст = ntT, Fm=1/tT,Fm.к»1/ntT.
Перевагою асинхронних лічильників є простота схеми: збіль­шення розрядності виконується підключенням необхідного чис­ла тригерів.
До недоліків асинхронних лічильників відносяться порівняно низька швидкодія в режимі керування та її залежність від чи­сла розрядів, а також поява проміжних вихідних двійкових кодів у процесі послідовного перемикання тригерів у новий стан.
Для одержання мінімального часу перемикання лічильника використовують паралельні перенесення (рис.5.5). Для цього в кожному розряді синхронного лічильника є схема збігу, за допомогою якої аналізуються стани всіх попередніх молодших тригерів і вироблюються функції перенесення згідно з такими логічними співвідношеннями:
P1 = U+Q1; P2 = U+Q2Q1; P3 = U+ Q3Q2Q1; Р4= U+ Q4Q3Q2Q1.
При надходженні чергового лічильного імпульсу U+ перемикаються тільки ті тригери, для яких усі попередні (молодші) розряди знаходяться в цей момент в одиничному стані.

Рис.5.5. Схема підсумовуючого лічильника з паралельними перенесеннями
Час установлення синхронного лічильника не залежить від числа розрядів і дорівнює tвст = tТТ + tР, де tТТ – час перемикання дво­ступеневого тригера; tР – час затримки розповсюдження сигналу вентилем у ланцюзі перенесення. Максимальна частота лічби в режимі керування Fm» 1/tТТ. Таким чином, синхронні лічильники забезпечують найбільшу швидкодію в режимі керування.
При побудові багаторозрядних синхронних лічильників з’являються труднощі – зростання числа входів вентилів у ланцюзі перенесення і збільшення навантаження на виходи тригерів.
У двійковому віднімальному лічильнику кожний віднімальний ім­пульс U – зменшує стан на одиницю. Поточне значення кількості вхідних імпульсів n-розрядного двійкового віднімального лічильника визначається за формулою
åU –=Nп – N –,
де N – – значення коду на прямих виходах тригерів лічильника;
Nп – попередньо записане початкове число; при цьому має виконуватися умова åU –£ Nп.
У віднімальних лічильниках сигнали міжрозрядного зв’язку нази­ваються позиками. За правилом двійкового віднімання в момент надходження лічильного імпульсу U – позика із старшого розряду з одиничним значе­нням виникає за умови, що всі молодші тригери знахо­дяться в нульовому стані. Після цього всі вони перемикаються в стан «1», а старші – в стан «0». Сигнали позики утворюються на інверсних виходах двоступеневих тригерів або на прямих виходах тригерів з динамічним керуванням по фронту.
Параметри віднімального лічильника (модуль і ємність лічби, швидкодія) збігаються з аналогічними характеристиками підсумовуючих лічильників.
Схема трирозрядного двійкового асинхронного віднімального лічильника на двоступеневих тригерах показана на рис.5.6, а.

Рис.5.6. Асинхронний віднімальний лічильник на двоступеневих тригерах: а – схема; б – часові діаграми роботи
Перед початком роботи за допомогою сигналу на спільному вході S всі тригери лічильника встановлюються в стан “1”, утворюючи вихідний код 111. Віднімальний імпульс U– надходить на лічильний вхід лише першого молодшого розряду, міжрозрядні сигнали позики знімаються асинхронно з інверсних виходів тригера.
Після надходження семи віднімальних імпульсів усі тригери лічильника установлюються в стан «0», утворюючи вихідний код 000. Восьмий віднімальний імпульс перемикає лічильник в стан 111 (за умови, що розглядається трирозрядна схема).
У віднімальному лічильнику на тригерах з динамічним керуванням по фронту сигнали позики знімаються з прямих виходів триг­ерів.

5.3. Двійкові реверсивні лічильники

Двійкові реверсивні лічильники мають переходи у двох напрямках: в прямому (при лічбі підсумовуючих сигналів U +) і в зворотному (при переліку віднімальних сигналів U –). Поточне значення різниці підрахованих імпульсів визначається із співвідношення
åU + – åU – = N – Nп,
де N – значення коду на прямих виходах тригерів лічильника;
Nп – попередньо записане в лічильник початкове число. В лічбі має виконуватися умова åU –£Nп +åU +£ 2n–1.
Розрізняють одноканальні та двоканальні реверсивні лічильники. В одноканальних реверсивних лічильниках підсумовуючі U + і віднімальні U – сигнали почергово надходять на спільний лічильний вхід, а напрямок лічби задається напрямком ланцюгів міжрозряд­них перенесень або позик. Для перемикання міжрозрядних зв’язків у одноканальному реверсивному лічильнику потрібні додаткові керуючі сигнали.
Двоканальні реверсивні лічильники мають два лічильних входи: один для підсумовуючих імпульсів U +, другий – для віднімальних U –. Перемикання ланцюгів міжрозрядних зв’язків здійснюється автоматично лічильними сигналами: для переносів – імпу­ль­­сами U +, для позики – імпульсами U –. Схема одноканального трироз­рядного двійкового реверсивного лічильника показана на рис.3.18. Міжрозрядні зв’язки комутуються за допомогою логічних елементів І ЧИ.
Для задання напрямку лічбі використовують додатковий RS-тригер: з його прямого виходу знімається сигнал керування додаванням YД (вмикає ланцюги перенесення), а з інверсного виходу – сигнал керування відніманням YВ (вмикає ланцюги позики). На виходах елементів І ЧИ (які називаються “схеми реверса”) виробляється сигнал Тi для лічильних входів старших розрядів:


Рис.5.7. Схема одноканального реверсивного лічильника
Таким чином, якщо керуючий RS-тригер знаходиться в стані «1», то лічильник реалізує режим прямої лічби вхідних імпульсів (тобто підсумовування), в іншому випадку – забезпечує ре­жим зворотної лічби (віднімання). В обох режимах роботи тригери перемикаються асинхронно.
Схема двоканального чотирирозрядного двійкового реверсив­ного лічильника показана на рис.5.8. Лічильні Т-входи в тригерах внутрішньо зв’язані схемою ЧИ.
Підсумовуючі імпульси U+ надходять на лічильний вхід першого (молодшого) розряду лічильника і одночасно – на входи всіх вентилів у ланцюзі паралельного перенесення. При цьому формуються імпульси міжрозрядних перенесень на основі логічних виразів:


Рис.5.8. Схема двоканального реверсивного лічильника

Віднімальні імпульси U-- надходять на лічильний вхід першого розряду лічильника і одночасно на входи всіх вентилів у ланцюзі паралельних позик. При цьому формуються імпульси міжрозрядних позик на основі таких логічних виразів:

Таким чином, у двоканальних реверсивних лічильниках напрямок лічби безпосередньо задається підсумовуючими U+ або віднімальними U– імпульсами. Забороняється одночасне надходження на входи двоканального реверсивного лічильника підсумовуючих і віднімаючих імпульсів.
На практиці з урахуванням схемотехнічних можливостей мікро­схем середнього ступеня інтеграції багаторозрядні реверсивні лічильники будують у вигляді групової структури. При цьому кожна група представляється, наприклад, мікросхемою чотирирозрядного реверсивного лічильника з паралельними перенесеннями і позиками. Між групами можуть бути утворені послідовні або парал­ельні зв’язки.

5.4. Двійково-десяткові лічильники

Двійково-десяткові лічильники реалізують лічбу імпульсів у десятковій системі числення, причому кожна десяткова цифра від нуля до дев’яти кодується чотирирозрядним двійковим кодом (тетрадою). Ці лічильники часто називають десятковими або декадними, оскільки вони працюють з модулем лічби, кратним десяти (10, 100, 1000 і т.д.).
Багаторозрядний двійково-десятковий лічильник будується на основі регулярного ланцюга декад, при цьому перша (молодша) декада має вагу 100, друга – 101, третя – 102 і т.д.
Декада будується на основі чотирирозрядного двійкового лічильника, в якому вилучається надлишкове число станів. Вилучення зайвих шести станів у декаді досягається багатьма способами:
попереднім записуванням числа 6 (двійковий код 0110);
після лічби дев’ятого імпульсу вихідний код дорівнює 1111 і десятковий сигнал повертає лічильник у початковий стан 0110, отже, тут результат лічби фіксується двійковим кодом з надлишком 6;блокуванням переносів: лічба імпульсів до дев’яти здійснюється у двійковому коді, після чого вмикаються логічні зв’язки блокування перенесень; з надходженням десятого імпульсу лічильник закінчує цикл роботи і повертається в початковий нульовий стан;введенням обернених зв’язків, які забезпечують лічбу в двійковому коді й примусовим перемиканням лічильника в нульовий початковий стан після надходження десятого імпульсу.
Схема синхронного десяткового лічильника з блокуванням перенесень показана на рис.5.9. У цій схемі С-входи використовуються як лічильні. З надходженням десятого імпульсу на С-вхід молодшого розряду JK-триг­ера обнуляються перший і четвертий розряди і сигналом з виходу Q4 блокують перемикання другого і третього розряду.

Рис.5.9. Схема десяткового лічильника на JK-тригерах
Схе­ма п’ятирозрядного підсумовуючого двійково-десят­ко­во­го лічильника показана на рис.5.10.

Рис.5.10. Схема п’ятирозрядного підсумовуючого двійково-десяткового лічильника
Модуль даного лічильника складає Клч=105=100000, ємність лічби Nmах=Клч –1= 99999.
Виходи тригерів кожної декади підключаються до входів де­ши­фраторів, які забезпечують візуальну індикацію ст­ану лічильника за допомогою різного роду світлових табло.


5.5. Лічильники з одиничним кодуванням

При одиничному (унітарному) кодуванні стани n-розряд­ного лічильника розрізняються лише місцеположенням однієї одиниці, яка називається маркуючим кодом; в інших розрядах записані нулі. В окремих випадках маркуючий код складається з двох одиниць і називається парно-одиничним.
Лічильник з одиничним кодуванням – це ланцюг тригерів, в якому забезпечується зсув попередньо записан­ого маркуючого коду по “кільцю” в напрямку старших роз­рядів (прямий підрахунок) або молодших (обернений підрахунок). Такі лічильники часто називають кільцевими (за аналогією з кільцевими регістрами зсуву).
Лічильник з одиничним кодуванням характеризується модулем КСЧ = n і ємністю лічби Nmах = n – 1. Таким чином, число станів кільце­вого лічильника дорівнює його розрядності і є значно меншим порівняно з іншими типами лічильників. В кільцевих лічильниках кожний розряд має вагу, яка дорівнює номеру стану 0,1,2,...,(n – 1). Із стану (n – 1) після надходження чергового імпульсу лічильник утворює на виході сигнал закінчення циклу (переповнення) і повертається в початковий стан за допомогою кола оберненого зв’язку з виходу старшого розряду Qn на вхід молодшого розряду Q1. Схема чотири­розрядного кільцевого лічильника показана на рис.5.11, а. Перед початком роботи по входу D схеми ЧИ в молодший розряд лічильника записується одиниця і встановлюється початковий код Q4Q3Q2Q1=0001. З надходженням кожного лічильного імпульсу по входу синхронізації одиничний код послідовно зсувається в бік старших розрядів; при цьому молодші розряди, виконані на D-тригерах з динамічним керуванням, обнуляються.
Після надходження четвертого імпульсу лічильник повертається в початковий стан за допомогою сигналу з виходу Q4 на вхід схеми ЧИ.

а б
Рис.5.11. Кільцевий лічильник: а – схема; б – часові діаграм­и

Практичне використання кільцевих лічильників пояснюється такими його перевагами:
не потребує вихідного дешифратора, оскільки всі ст­ани відрізняються наявністю одиниці лише в одному якому-небудь тригері;
в процесі лічби завжди переключається в одиничний стан лише один тригер, що забезпечує мінімальне значення tвст;
спрощується побудова схеми контролю лічильника.
Схема лічильника Джонсона будується на основі кільцевого, в якому обернений зв’язок реалізується підключенням інверсного виходу старшого розряду до входу молодшого.
Лічильник Джонсона (рис.5.12) характеризується модулем лічби КЛЧ=2n і ємністю лічби Nmах=2n – 1. Таким чином, число станів лічильника Джонсона в два рази більше аналогічного параметра кільцевого лічильника. Проте інформація на виходах лічильника Джонсона представляється не в двійковій позиційній системі числення, яка потребує додаткового перетворення.

Рис.5.12. Лічильник Джонсона: а – схема; б – часові діаграм­и
Як видно із часових діаграм (рис.5.12, б), в процесі лічби спочатку рухається “хвиля” одиниць, а потім – “хвиля” нулів. Дешифрація станів лічильника Джонсона здійснюється простіше порівняно з двійковими позиційними лічильниками.





Дата публикования: 2014-11-26; Прочитано: 525 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...