You are on page 1of 7

ЛЕКЦІЯ 8. Лічильники. Регістри.

Лічильники.
На базі рахункових тригерів можна побудувати цифровий пристрій, що одержав
назву електронного лічильника. Електронні лічильники дозволяють вести підрахунок
електричних імпульсів, кількість яких (що надійшли на вхід лічильника) представляється,
зазвичай, в паралельному коді. Лічильники можуть відрізнятися модулем рахунку і типом
лічильної послідовності, яка, зокрема, може бути двійковою, двійково-десятковою, в коді
Грея і т.п. Цифрові послідовнісні пристрої, виконані за схемою лічильника, але такі, що
мають один рахунковий вхід і один вихід називаються подільниками частоти. Таким
чином, будь-який лічильник може служити в якості подільника частоти, якщо
використовується інформація тільки одного з його виходів. Таким чином лічильники і
подільники мають єдину структуру. 
Лічильники і подільники поділяються на асинхронні і синхронні. У синхронних
лічильників все розрядні тригери синхронізуються паралельно одними і тими ж
синхроімпульсами, які надходять з джерела цих імпульсів. Асинхронні лічильники мають
послідовну синхронізацію, тобто кожний наступний розрядний тригер синхронізується
вихідними імпульсами тригера попереднього розряду. Асинхронні лічильники іноді
називають послідовними, а синхронні лічильники – паралельними.
Синхронні лічильники, в свою чергу, поділяються на паралельно-синхронні і
послідовно-синхронні. Паралельні лічильники мають більш високу швидкість рахунку,
ніж асинхронні.
Лічильники, незалежно від способу синхронізації, підрозділяються на лічильники
прямого рахунку (підсумовуючі) і на лічильники зворотного рахунку (віднімаючі). В
реверсивних лічильниках є вхід для перемикання режиму роботи, тобто напрямку
рахунку. Багато типів лічильників мають додаткові входи предустановки, що дозволяють
використовувати ці лічильники як регістри пам'яті.
Як розрядні тригери лічильників і подільників можуть бути використані двоступеневі
D-тригери, Т- і JK-тригери.
Лічильники відносяться до послідовних пристроїв з циклічно повторюваною
послідовністю станів. Число, що відповідає кількості імпульсів (які надійшли на вхід
лічильника), при якому лічильник "повертається" в початковий стан, називається модулем
або коефіцієнтом рахунку. Наприклад, максимальний модуль рахунку лічильника з двох
тригерів дорівнює k = 22 = 4, трьох тригерів – k = 23 = 8 і т.д. У загальному випадку для n-
розрядного лічильника – k = 2 n. Модуль рахунку лічильника чисельно збігається з
модулем ділення подільника частоти. Лічильник за модулем 8 дозволяє реалізувати (без
додаткових схемних витрат) дільник частоти на 8. Це означає, що даний дільник ділить
частоту вхідної імпульсної послідовності на 8.
Асинхронний двійковий лічильник являє собою сукупність послідовно з'єднаних
тригерів (D або JK), кожен з яких асоціюється з бітом в двійковому поданні числа.
Якщо в лічильнику n тригерів, то число можливих станів лічильника дорівнює 2 n, і,
отже, модуль рахунку k також дорівнює 2 n. Рахункова послідовність у двійковому
підсумовуючому лічильнику починається з нуля і доходить до максимального числа 2 n–1,
після чого знову проходить через нуль і повторюється. У віднімаючому двійковому
лічильнику послідовні двійкові числа перебираються в зворотному порядку, і при
повторенні послідовності максимальне число йде за нулем.
Як видно з рисунку а, синхронізуючі входи всіх тригерів, крім крайнього лівого (Т1),
з'єднані з виходами попередніх тригерів. Тому стан тригера змінюється у відповідь на
зміну стану попереднього тригера.
З таблиці стану лічильника (б) легко помітити, що значення розряду в обраній позиції
змінюється тоді, коли в сусідній праворуч позиції стан переходить з 1 в 0, управління
тригерами здійснюється заднім фронтом синхроімпульсів.

Схема а), таблиця станів тригерів б) і часові діаграми, що пояснюють роботу в)


послідовного 4-розрядний лічильника на JK - тригерах
Лічильники зворотного рахунку (віднімаючі лічильники). На рисунку приведена
схема асинхронного 3-розрядного двійкового віднімаючого лічильника, побудованого на
базі D-тригерів. Умови для зміни станів тригерів віднімаючих лічильників аналогічні
умовам для підсумкових лічильників з тією лише різницею, що вони повинні "спиратися"
на значення інверсних, а не прямих виходів тригерів. Отже, розглянутий вище лічильник
можна перетворити на віднімаючий, просто переключивши входи "С" тригерів з виходів Q
на виходи Q̅ .
Робота віднімаючого лічильника на D-тригерах наочно ілюстрована на рисунку б. З
рисунку випливає, що після нульового стану всіх тригерів, з приходом першого
синхроімпульсу вони встановлюються в стан 1. Надходження другого синхроімпульсу
призводить до зменшення цього числа на одну одиницю і т.д. Після надходження
восьмого імпульсу, знову, всі тригери обнуляються і цикл рахунку повторюється, що
відповідає модулю k = 8.

Схема а) і часові діаграми б) віднімаючого 3-розрядного лічильника на D-тригерах


У деяких випадках необхідно, щоб лічильник міг працювати як в прямому, так і в
зворотному напрямку рахунку. Такі лічильники називаються реверсивними. Реверсивні
лічильники можуть бути як асинхронного, так і синхронного типу. Вони будуються
шляхом застосування логічних комутаторів (мультиплексорів) у колах зв'язку між
тригерами.
Всі розглянуті типи лічильників можуть бути використані в цифрових пристроях
"помірної" швидкодії, коли частота проходження синхроімпульсів не перевищує
критичного значення, при якому час затримки установки тригерів останніх (старших)
розрядів лічильника стає співмірним з тривалістю періоду вхідних тактових імпульсів. У
зв'язку з цим, асинхронні лічильники будуються на відносно невелику кількість розрядів,
так як при більшій кількості розрядів вихідні сигнали тригерів старших розрядів
з'являються пізніше, ніж керуючі фронти синхроімпульсів (надходять на вхід першого
тригера)
Лічильники з довільним коефіцієнтом рахунку. Принцип побудови подібного
класу рахункових пристроїв полягає у виключенні декількох станів звичайного двійкового
лічильника, що є надлишковими для лічильників з коефіцієнтом перерахунку, що
відрізняються від двійкових. При цьому надлишкові стани виключаються за допомогою
зворотних зв'язків усередині лічильника.
Число надлишкових станів для будь-якого лічильника визначається з наступного
виразу:
m = 2n – k
де m – число заборонених станів, k – необхідний коефіцієнт рахунку; 2n – число стійких
станів n-розрядного двійкового лічильника.
Завдання синтезу лічильника з довільним коефіцієнтом рахунку полягає у визначенні
необхідних зворотних зв'язків і мінімізації їх числа. Необхідна кількість тригерів
визначається з виразу
n = [log2 k],
де log2 k] – двійковий логарифм заданого коефіцієнта перерахунку k, округлений до
найближчого цілого числа.
У кожному окремому випадку доводиться застосовувати якісь конкретні методи
отримання необхідного коефіцієнта перерахунку. Існує кілька методів отримання
лічильників із заданим коефіцієнтом перерахунку k. Один з цих методів полягає в
негайному скиданні в 0 лічильника, встановленого в комбінацію, відповідному числу k.
Його називають також методом автоскидання. Розглянемо приклад реалізації лічильника з
k=10 методом автоскидання. Очевидно, що скидаючи двійковий 4-розрядний лічильник на
нуль кожен раз, коли він буде приймати стан 1010, можна забезпечити "повернення"
лічильника в початковий стан після кожних десяти імпульсів. Подібний прийом зручно
застосовувати при використанні лічильників в інтегральному виконанні, які мають вузли
кон'юнкції (І) на входах скидання в нуль, як це зроблено в мікросхемі К1533ИЕ5. В
даному прикладі організовані з'єднання, що забезпечують коефіцієнт перерахунку k=10.
КР1533ИЕ5 складається з чотирьох рахункових тригерів, один з яких має роздільні
виводи входу і виходу, а інші три тригера з'єднані послідовно за схемою асинхронного
лічильника.
Регістри.
Найбільш поширеними вузлами цифрової техніки і пристроїв автоматики є регістри.
Регістри будуються на базі синхронних одно- і двоступеневих RS і D-тригерів. За
способом прийому та видачі інформації регістри діляться на наступні групи:
 з паралельним прийомом і видачею (а);
 з послідовним прийомом і видачею (регістри зсуву) (б);
 з послідовним прийомом і паралельної видачею (в);
 з паралельним прийомом і послідовної видачею (г);
 комбіновані, з різними способами прийому і видачі (д);
 реверсивні.
Регістри зберігання (пам'яті). Регістри з паралельним прийомом і видачею
інформації служать для зберігання інформації і називаються регістрами пам'яті або
зберігання. Зміна інформації, що зберігається в регістрі пам'яті (запис нової інформації)
здійснюється після встановлення на входах D0 … Dm нової цифрової комбінації
(інформації) при надходженні певного рівня або фронту синхросигналу (синхроімпульсу)
на вхід "С" регістру. Кількість розрядів записуваної цифрової інформації визначається
розрядністю регістра, а розрядність регістра, в свою чергу, визначається кількістю
тригерів, які складають цей регістр. У якості розрядних тригерів регістра пам'яті
використовуються синхронізовані фронтом тригери. Регістри пам'яті можуть бути
реалізовані на D-тригерах. У деяких випадках регістри можуть мати вхід для
встановлення виходів в стан 0. Цей асинхронний вхід називають входом R "скидання"
("очистки") тригерів регістра.
На рисунку наведені схеми 4-розрядних регістрів пам'яті на D- і RS-тригерах,
синхронізуються рівнем і фронтом синхроімпульсів (зазвичай чотири тригери об'єднані в
одному корпусі ІМС).
Регістри зсуву. Регістри з послідовним прийомом або видачею інформації
називаються зсувними регістрами або регістрами зсуву. Регістри зсуву можуть
виконувати функції зберігання і перетворення інформації. Вони можуть бути використані
для побудови перемножувачів і подільників чисел двійкової системи числення, тому що
зсув двійкового числа вліво на один розряд відповідає множенню його на два, а зсув
управо – діленню на два. Регістри зсуву широко використовуються для виконання різних
часових перетворень цифрової інформації: послідовне накопичення послідовної цифрової
інформації з подальшою одночасною видачею (перетворення послідовної цифрової
інформації в паралельний код) або одночасний прийом (паралельний прийом) інформації з
подальшою послідовною видачею (перетворення паралельного коду в послідовний).
Регістри зсуву можуть служити також як елементи затримки сигналу, представленого в
цифровій формі. Дійсно, регістри з послідовним прийомом (введенням) і виводом
здійснюють затримку передачі інформації на m+1 тактів (m+1 – число розрядів регістра)
машинного часу. Регістри зсуву зазвичай реалізуються на D-тригерах (рисунок а) або на
RS-тригерах (рисунок б), де для введення інформації в перший розряд включається
інвертор (перший розряд являє собою D-тригер). Слід зазначити, що всі регістри зсуву
будуються на базі двоступеневих тригерів або синхронізуються фронтом синхроімпульсу.
Розрядність регістрів зсуву, як і у регістрів зберігання, визначається кількістю тригерів,
що входять до їх складу. На рисунку наведені схеми 4-розрядних регістрів зсуву,
реалізованих на D- і RS-тригерах.
Регістри зсуву на D-тригерах а), RS-тригерах б) і комбінований регістр на D-тригерах

Вивід паралельної інформації з регістра зсуву (рисунок в) здійснюється при


підключенні всіх тригерів регістра до окремих виводів (на рисунках а і б ці виводи
показані штриховими лініями). Як було сказано вище, регістри зсуву синхронізуються
фронтом тактуючих імпульсів, тобто запис нової інформації в тригери регістра
відбувається протягом дуже короткого часу – за час тривалості фронту синхроімпульсу.
Вірніше в момент надходження відповідного фронту синхроімпульсу. Зазвичай, це "час"
значно менше часу поширення сигналу, тобто часу перемикання тригера регістра в новий
стан. Роботу регістра зсуву розглянемо на прикладі схеми, наведеної на рисунок а.
Можна припустити, що на початку все тригери регістра знаходяться в стані логічного
нуля, тобто Q0=0, Q1=0, Q2=0, Q3=0. Якщо на вході D-тригера Т1 є логічний 0, то
надходження синхроімпульсів на входи "С" тригерів не змінює їх стану.
Як випливає з рисунку, синхроімпульси надходять на відповідні входи всіх тригерів
регістра одночасно і записують в них те, що є на їх інформаційних входах. На
інформаційних входах тригерів Т2, Т3, Т4 – рівні 0, тому що інформаційні входи
наступних тригерів з'єднані з виходами попередніх тригерів, які перебувають в стані 0, а
на вхід D першого тригера, за умовою прикладу, подається 0 з зовнішнього джерела
інформації. При подачі на вхід D першого тригера 1, з приходом першого синхроімпульсу,
в цей тригер запишеться 1, а в інші тригери – 0, тому що до моменту надходження фронту
синхроімпульсу на виході тригера Т1 ще був присутній логічний 0. Таким чином, в тригер
Т1 записується та інформація (той біт), яка була на його вході D в момент надходження
фронту синхроімпульсу і т.д.
При отриманні другого синхроімпульсу логічна 1, з виходу першого тригера,
запишеться в другій тригер, і в результаті відбувається зрушення спочатку записаної 1 з
тригера Т1 в тригер Т2, з тригера Т2 в тригер Т3 і т.д. Таким чином, проводиться
послідовний зсув інформації, що надходить на вхід регістра, (в послідовному коді) на
один розряд управо в кожному такті синхроімпульсів.
Після надходження m синхроімпульсів (на рисунках m=4) регістр виявляється
повністю заповненим розрядами числа, що вводиться через послідовний вхід D. Протягом
наступних чотирьох синхроімпульсів проводиться послідовний порозрядний вивід з
регістра записаного числа, після чого регістр виявляється повністю очищеним (регістр
виявиться повністю очищеним тільки за умови подачі на його вхід 0 в режимі виведення
записаного числа).
Кільцеві лічильники. На базі регістрів зсуву можна побудувати кільцеві лічильники
– лічильники Джонсона. Лічильник Джонсона має коефіцієнт перерахунку, вдвічі більший
числа тригерів, що входять до його складу. Зокрема, якщо лічильник складається з трьох
тригерів (m=3), то він буде мати шість стійких станів. Лічильник Джонсона
використовується в системах автоматики як розподільників імпульсів і т.д.
Таблиця станів лічильника Джонсона містить 2m (m – кількість тригерів в складі
регістра) рядків і m стовпців. Кількість розрядів лічильника визначається кількістю
тригерів. Розглянемо схему 3-розрядного лічильника Джонсона, виконаного на базі D-
тригерів (регістр зсуву реалізований на D-тригерах). Для побудови кільцевого лічильника
досить з'єднати інверсний вихід останнього тригера регістра (останнього розряду) з
входом D (з входом, призначеним для введення послідовної інформації) першого тригера.
Таблиця станів а) і схема б) лічильника Джонсона на 3-розрядному регістрі зсуву

При роботі на початку від першого тригера до останнього тригера поширюється


"хвиля одиниць", а потім "хвиля нулів". Код, в якому працює лічильник Джонсона,
називають кодом Лібау-Крейга.
Генератори чисел. На базі кільцевих лічильників можна реалізувати генератори
різних двійкових чисел. Вивід генерованих чисел можна здійснювати як в паралельному,
так і в послідовному коді.
Як приклад розглянемо роботу 3-розрядного (очевидно, що кількість розрядів може
бути і більше трьох) генератора чисел, реалізованого на базі D-тригерів. Генератор чисел
представимо як сукупність 3-розрядного регістра зсуву і комбінаційного пристрою КУ,
вихідний сигнал якого служить "джерелом" інформації для регістра зсуву. Вхідними
змінними КУ є вихідні сигнали розрядних тригерів регістра зсуву Q0, Q1, Q2. Цикл
повторення чисел визначається 2m-тактами синхросигналу (максимальний цикл). У
таблиці станів генератора чисел використані (рисунок а) такі позначення: Nп – десятковий
еквівалент двійкового числа, що реалізується в паралельному коді; D – функція
аргументів Q0, Q1, Q2. Цю функцію можна розглядати як послідовний код.
Структурна схема 3-розрядного генератора чисел на D-тригерах і його таблиця
станів. Схема комбінаційного пристрою-формувача керуючих сигналів генератора чисел.

You might also like