Комбінаційні арифметичні вузли 6 страница



Прикладом універсального чотирьохрозрядного регістра, реалізованого за схемою наведеною на рис. 7.61, є мікросхема КР1531ИР11 (функціональний аналог 74F194), умовне зображення якої і нумерація виводів показані на рис. 7.63.

Рис. 7.63. Умовне графічне зображення мікросхеми КР1531ИР11

Мікросхема КР1531ИР11 виконує над 4-ох бітовими двійковими словами всі мікрооперації, притаманні регістрам. При нарощуванні розрядності універсальних регістрів для організації загальних входів S1, S0, C, R відповідні входи мікросхем з’єднують між собою. Для реалізації зсуву управо виходи кожної мікросхеми, що мають найбільший номер, з’єднують зі входом DR мікросхеми сусідніх старших розрядів в напрямку від мікросхеми самих молодших розрядів до мікросхеми самих старших розрядів. Загальним входом DR нарощеного регістра є відповідний вхід мікросхеми самих молодших розрядів. Для реалізації зсуву вліво виходи кожної мікросхеми, що мають номер 1, з’єднують зі входом DL мікросхеми сусідніх молодших розрядів у напрямку від мікросхеми самих старших розрядів до мікросхеми самих молодших розрядів. Загальним входом DL нарощеного регістра є відповідний вхід мікросхеми самих старших розрядів. Викладений вище принцип нарощування розрядності універсальних регістрів ілюструє рис. 7.64.

 

Рис. 7.64. Нарощування розрядності універсальних регістрів  

Різні типи регістрів зсуву входять до багатьох серій мікросхем. В табл. 7.10 наведена інформація про інтегральні регістри зсуву серій ТТЛШ і КМОПТЛ, а в табл. 7.11 представлені параметри деяких таких мікросхем.

 

Таблиця 7.10

Мікросхеми регістрів зсуву ТТЛШ та КМОПТЛ

 

Мікросхема (аналог) Тип логіки Тип регістра Кількість розрядів Напрямок зсуву z-стан виходів
КР1533ИР8 (SN74ALS164N) ТТЛШ

З послідов-ним уводом

і паралельно-послідов-ним виводом

8

управо

нема

1531ИР8 (74F164) ТТЛШ 8
1533ИР31 (без аналога) ТТЛШ 24
74HC4015 КМОПТЛ 4
КР1564ИР8 (MM74HC164) КМОПТЛ 8
КР1554ИР8 (HD74ACT164) КМОПТЛ 8
КР1533ИР9 (SN74ALS165N) ТТЛШ

З паралельно-послідов-ним уводом і послідов-ним парафазним виводом

8

управо

нема

КР1564ИР9 (MM74AHC165) КМОПТЛ
КР1533ИР10 (SN74ALS166N) ТТЛШ

З паралельно-послідов-ним уводом і послідовним виводом

8

управо

нема

КР1554ИР10 (HD74ACT166) КМОПТЛ
КР1554ИР51 (CD4035BC) КМОПТЛ З паралельно-послідов-ним уводом та парафазним паралельним виводом 4 управо нема
КР1533ИР24 (SN74ALS299N) ТТЛШ

Універсаль-ний

8

ревер-сивний

є

КР1533ИР29 (SN74ALS323) ТТЛШ
КР1531ИР11 (74F194) ТТЛШ 4 ревер-сивний нема
КФ1561ИР6 (MC14034B) КМОПТЛ 8 ревер-сивний нема
1564ИР11 (MM54HC194) КМОПТЛ 4 ревер-сивний нема
КР1554ИР24 (IN74AC299) КМОПТЛ

8

ревер-сивний

є

КР1594ИР29 (MC74ACT323) КМОПТЛ

Таблиця 7.11

Параметри деяких мікросхем регістрів зсуву

 

Параметр

Мікросхема

КР1533ИР8 КР1531ИР11 КФ1561ИР6 КР1594ИР29

Робочі

температури, оС

0÷70 0÷70 -65÷+150 -65÷+150

Uсс, В

4,5÷5,5 4,5÷5,5 2÷ 18 2÷6

Iсп, (Icc), мА

10 33 ≤0,03(15 В) ≤0,08 (5,5 В)

U0вих, (UОL), В

≤ 0,5 ≤ 0,5 ≤ 0,05 ≤ 0,1

U1вих, (UОH), В

³ 2,4 ³ 2,5 Uсс - 0,05 Uсс - 0,2

I1вх (IIH), мкА

20 5

≤ 0,1 мкА

0,1

I0вх (IIL), мА

-0,1 -0,6 1×10-4

I0вих (IОL), мА

-30 ≤ 60 ≤ 8,8 (15 В) ≤ 75
tPLH, нс

С®Qn

5,0÷13,0 5,2

525 (5 В)

145 (15 В)

9,0 (5 В)
tPHL, нс 6,0÷15,0 5,5 9,0 (5 В)
tPLH, нс

R®Qn

8,0 - 18,0

8,6

-

-

tPHL, нс
tPZH, нс

Час дозволу виводу

-

-

505 (U5 В)

130(15 В)

7,5 (5 В)
tPZL, нс 7,5 (5 В)

FMAX, МГц

50 150 2,5 (5 В) 8,0 (U15 В) 125 (5 В)

 

7.4.4. Загальна характеристика і класифікація лічильників. Лічильник – це послідовнісний цифровий вузол, призначений для перетворення кількості імпульсів, що надійшли на його вхід, у певний код. Лічильники, як і регістри зсуву, будують на основі зв’язаних між собою розрядних каскадів. У загальному випадку схема такого каскаду складається з тригера і комбінаційного вузла, призначеного для формування сигналів керування тригером.

Лічильники можуть виконувати наступні мікрооперації над двійковими словами (кодовими комбінаціями):

1. Обнуління або очистка, тобто установка всіх тригерів лічильника в нульовий стан;

2. Запис слова в паралельному коді;

3. Зберігання двійкового слова;

4. Видача (вивід) слова в паралельному коді;

5. Збільшення двійкового слова, що зберігається в лічильнику на одиницю (інкрементація);

6. Зменшення двійкового слова, що зберігається в лічильнику на одиницю (декрементація).

Будь-яке значення двійкового слова (кодова комбінація), яке лічильник формує в процесі роботи, називається станом лічильника. Характерним для лічильників є циклічний режим роботи. Це означає, що починаючі свою роботу з початкового стану, що визначається деяким значенням двійкового слова, лічильник після надходження на його вхід певної кількості імпульсів досягає граничного значення двійкового слова, після чого скидається у початковий стан і починає новий цикл роботи. Граничне значення двійкового слова, після якого лічильник повертається у початковий стан, називається станом переповнення лічильника. Кількість станів, що приймає лічильник за один цикл роботи називається коефіцієнтом (модулем) лічби.

Лічильники можуть працювати у трьох режимах: керування, накопичення і ділення. У режимі керування інформація зчитується з виходів лічильника після кожного лічильного імпульсу. В такому режимі лічильник працює, наприклад, коли він використовується, як програмний лічильник процесора, що зберігає адреси команд. У режимі накопичення лічильник підраховує число імпульсів, що надійшли на його вхід на заданому відрізку часу. Оскільки число таких імпульсів лічильник подає на виходах у певному двійковому коді, в цьому режимі його можна використовувати, як генератор коду (кодових комбінацій). Властивість лічильників зменшувати частоту сигналу на своїх виходах відносно вхідної частоти використовується у режимі ділення. В такому режимі працюють дільники частоти на основі лічильників, які використовуються в пристроях синхронізації та управління комп’ютера.

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

По типу коду лічильники поділяють на кільцеві, двійкові та десяткові. Кільцеві лічильники перетворюють число імпульсів, що надійшли на їх вхід в унітарний код, двійкові лічильники – в двійковий код, а десяткові – в двійково-кодований десятковий код.

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

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

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

В лічильниках з паралельним переносом лічильний імпульс надходить одночасно на тригери всіх розрядів, що викликає їх одночасне перемикання.

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

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

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

До основних експлуатаційних показників лічильників відносять ємність і швидкодію. Ємність визначає коефіцієнт лічби Клч, який характеризує число імпульсів доступних ліченню за один цикл роботи лічильника.

Швидкодію визначають два параметра: роздільна здатність tроз.лч і час установлення коду tустлічильника.

Роздільна здатність - це мінімальний час між вхідними сигналами, при якому ще забезпечується безперебійна робота лічильника. Цей параметр безпосередньо пов’язаний з розділяючим часом тригерів tроз (див. підрозділ 5.2), на яких побудовано лічильник. Зворотна величина роздільної здатності визначає максимальну частоту лічби fmax:

                                     fmax = 1/tроз.лч.               (7.56)

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

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

Найпростіший кільцевий лічильник – це регістр зсуву, замкнений у кільце, тобто включений таким чином, що вихід тригера його останньої ступені підключений до інформаційного входу тригера першої ступені. Схема кільцевого лічильника, реалізованого на односпрямованому регістрі зі зсувом управо, показана на рис. 7.65а.

а
б
Рис. 7.65. Схема кільцевого лічильника (а) і часові діаграми сигналів на його входах і виходах (б)

Сукупність значень бітів Q4Q3Q2Q1, що зберігають розрядні тригери лічильника, утворює унітарний двійковий код. Обнуління лічильника відбувається сигналом низького рівня напруги U0 на вході скидання лічильника R (R = 0). Цей сигнал надходить на входи попередньої установки комбінованих DRS-тригерів і встановлює їх згідно таблиці справжності на рис. 5.25 (на вільному вході попередньої установки кожного DRS-тригера діє сигнал високого рівня U1, ланцюги, що створюють такий сигнал на рис. 7.65а не показані). Отже початковий стан кільцевого лічильника, реалізованого за схемою, наведеною на рис. 7.65а, визначає унітарний код 0001.

Сигнал високо рівня напруги U1 на вході R дозволяє лічбу. Тому DRS-тригери переходять у синхронний режим роботи і по кожному перепаду тактового сигналу  записують логічну змінну, що діє на їх інформаційному вході D. Як наслідок двійкове слово зсувається у кожному такті на один біт управо (рис. 7.65б). Завдяки зв’язку між виходом Q4 тригера DD4 та D входом тригера DD1 значення біту, що поступає з DD4 переноситься в тригер DD1. На виходах лічильника формується послідовність станів 0001, 0010, 0100, 1000 (рис. 7.65б). Через чотири такти лічильник досягає стану переповнення 1000, тому в наступному такті логічна одиниця з тригера DD4 перезаписується у тригер DD1 і починається новий цикл роботи лічильника.

Таким чином, для лічильника, схема якого наведена на рис. 7.65а, коефіцієнт лічби дорівнює Клч = 4. У загальному випадку n-розрядного кільцевого лічильника коефіцієнт лічби визначає співвідношення:

 

                                           Клч = n,                   (7.57)

де n – кількість розрядів (тригерів) лічильника.

Оскільки лічильний сигнал С (рис. 7.65б) надходить одночасно на всі тригери (рис. 7.65а), то час установлення коду кільцевого лічильника tуст визначає час затримки перемикання тригера tз.пер, а роздільну здатність tроз.лч – розділяючий час тригера tроз, тобто tуст = tз.пер, tроз.лч = tроз. З урахуванням цього максимальна частота лічби кільцевого лічильника фактично визначається максимальною частотою перемикання тригерів, тобто fmax = 1/tроз.

З часових діаграм, наведених на рис. 7.65б, випливає, що на кожному виході кільцевого лічильника частота сигналу в чотири рази менша за частоту лічильного сигналу на вході С. Таким чином, кільцевий лічильник виконує функцію дільника частоти, який у загальному випадку має коефіцієнт ділення частоти Кділ = 1/Клч = 1/n.

Недоліком кільцевих лічильників є досить висока ймовірність збоїв, обумовлених перешкодами. Збої виявляються як зникнення одиниці в унітарному коді або як поява зайвих одиниць. Для боротьби зі збоями кільцевих лічильників використовують ланцюги корекції їх стану. Такі ланцюги можуть бути створені на базі логічних елементів АБО-НЕ. Схема чотирьохрозрядного кільцевого лічильника з ланцюгом корекції стану показана на рис. 7.66а. В цій схемі функцію корекції виконує логічний елемент DD2, входи якого підключені до виходів регістру зсуву DD1, а вихід до входу послідовного уводу DR. Принцип роботи кільцевого лічильника з ланцюгом корекції ілюструє функціональна таблиця наведена на рис. 7.66б.

R C Номер такта Q1 Q2 Q3 Q1 Примітка
1 ´ ´ 0 0 0 0 Неробочий стан
0 1 0 0 0 1 Початковий стан
0 2 0 0 1 0  
0 3 0 1 0 0  
0 4 1 0 0 0 Стан переповнення
0 5 0 0 0 1  
0 6 0 0 0 0 Збій
0 7 0 0 0 1 Відновлення стану
0 8 0 0 1 0  
0 9 0 1 1 1 Збій
0 10 1 1 1 0  
0 11 1 1 0 0  
0 12 1 0 0 0 Відновлення стану

 

а б

Рис. 7.66. Схема кільцевого лічильника з ланцюгом корекції (а)

і його функціональна таблиця (б)

 

Сигнал високого рівня напруги U1 на вході R регістра зсуву (R = 1), незалежно від сигналів на інших його входах, викликає обнуління і тим самим забороняє роботу кільцевого лічильника, який встановлюється в неробочий стан 0000. В цьому стані на виході елемента 3АБО-НЕ DD2 логічна одиниця, яка поступає на вхід DR регістра DD1. Коли сигнал низького рівня R = 0 дозволяє роботу лічильника, ця одиниця по перепаду  першого тактового імпульсу записується до регістра, тобто встановлюється його початковий стан 0001, з якого починається лічба (рис. 7.66б, номер такта 1). Логічна одиниця на будь-якому вході DD2 забезпечує на його виході логічний нуль, який при надходженні наступних тактових імпульсів вводиться в регістр через вхід DR. Тому подальші лічильні сигнали , за рахунок введення нулів зі входу DR і зсуву слова в бік виходів регістра з більшими номерами, в кожному такті збільшують унітарний код на одиницю аж до значення 1000 (Q4 = 1), яке відповідає стану переповнення лічильника. В цьому стані на всіх входах DD2 сигнал логічного нуля, а на виході - логічної одиниці. Тому наступний лічильний імпульс (рис. 7.66б, такт номер 5) вводить одиницю зі входу DR і виводить її з виходу Q4 за межі розрядної сітки регістра. В лічильнику знову реалізується стан 0001, з якого починається новий цикл лічби.


Дата добавления: 2018-04-05; просмотров: 572; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!