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



Реверсивні двійкові лічильники мають у схемі обидва типи зв’язків між Т-тригерами, що притаманні як підсумовуючим (рис. 7.71а), так і віднімальним (рис. 7.71в) лічильникам. Перемикання цих зв’язків, для забезпечення заданого напрямку лічби, здійснюють за допомогою логічних елементів І-АБО чи І-АБО-НЕ. Один з можливих способів організації реверсивних двійкових лічильників ілюструє схема, показана на рис. 7.74.

Рис. 7.74. Схема реверсивного двійкового лічильника з послідовним перенесенням  

В цій схемі зв’язок між прямими виходами і Т-входами сусідніх тригерів, що забезпечує прямий напрямок лічби, здійснюється через верхні секції І логічних елементів І-АБО DD3, DD5, DD7, а зв’язок між інверсними виходами і входами Т, що забезпечує зворотну лічбу, – через нижні секції І цих елементів. Логічний нуль, який є активним сигналом для елементів І, блокує такий зв’язок, а логічна одиниця дозволяє. Тому при наявності на вході DR, який керує напрямком лічби, логічної одиниці, дозволяється зв’язок між Т-тригерами, що використовується у підсумовуючих лічильниках (рис. 7.71а) і логічним нулем з виходу інвертора DD1 блокується зв’язок між Т-тригерами характерний для віднімальних лічильників (рис. 7.71в). Схема, наведена на рис. 7.74 працює як підсумовуючий лічильник. При DR = 0, блокування зв’язків між виходами і Т-входами тригерів має зворотний характер, тому схема на рис. 7.74 працює як віднімальний лічильник.

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

Для визначення особливостей побудови двійкових лічильників з паралельним перенесенням розглянемо додавання одиниці до будь якого довільного багаторозрядного двійкового числа:

                             .

З наведеного прикладу випливає, що при збільшенні двійкового числа на одиницю відбувається інверсія (перемикання у протилежний стан) всіх його молодших розрядів аж до першого, в якому логічний „0”, включаючи цей розряд. Старші розряди числа, за першим нульовим розрядом не змінюють своїх значень.

Розглянутий вище приклад свідчить про те, що при одночасному надходженні лічильного сигналу на всі Т-тригери підсумовуючого лічильника з паралельним перенесенням, цей сигнал повинен перемикати лише Т-тригери молодших розрядів, включаючи перший з них, на прямому виході якого логічний „0”, а на інверсному – логічна „1”. Передача лічильного сигналу на Т входи інших тригерів лічильника повинна блокуватися. Таке блокування можна реалізувати, якщо передавати лічильний сигнал на вхід Т кожного тригера через логічний елемент І, до інших входів якого підключені прямі виходи Т-тригерів попередніх молодших розрядів. Можна також використати логічний елемент АБО, входи якого з’єднані з інверсними виходами тригерів попередніх молодших розрядів. Схема підсумовуючого двійкового лічильника, який використовує для організації паралельного перенесення логічні елементи АБО показана на рис. 7.75.

Рис. 7.75. Схема двійкового лічильника з паралельним перенесенням  

Лічильний сигнал зі входу С надходить одночасно на кожний Т-тригер через логічні елементи АБО DD3, DD5, DD7. Інші входи цих елементів з’єднані з інверсними виходами тригерів попередніх молодших розрядів лічильника. Якщо хоча б один з цих тригерів у нульовому стані, логічна одиниця з його інверсного виходу, яка є активним сигналом для елемента АБО, блокує передачу перемикаючого сигналу  на Т-тригери наступних старших розрядів лічильника і їх стан не змінюється. Перемикаються тільки тригери молодших розрядів, що у стані логічної одиниці і перший з них у стані логічного нуля, оскільки пасивний для АБО сигнал логічного нуля не блокує передачу на них перемикаючого сигналу . Таким чином відбувається зміна двійкового коду на виході підсумовуючого лічильника, відповідно з правилами зміни розрядів двійкового числа при збільшенні його на одиницю, як показано у прикладі наведеному вище. Сигнал високого рівня напруги на вході R лічильника (R=1) скидає його у нульовий стан.

Оскільки у лічильниках з паралельним перенесенням лічильний сигнал надходить одночасно на тригери всіх розрядів, час установлення коду не залежить від розрядності лічильника і визначається затримкою перемикання Т-тригера tз.пер і затримкою поширення сигналу елемента АБО tзп.диз:

                                tуст = tз.пер + tзп.диз,               (7.61)

відповідно максимальна частота лічення двійкового лічильника з паралельним перенесенням визначається як fmax = 1/(tз.пер + tзп.диз).

За схемою, наведеною на рис. 7.75 реалізовано інтегральні лічильники КР1554ИЕ23 (74HC4520) та КР1594ИЕ23 (74HCT4520), умовне графічне зображення яких показано на рис. 7.76а.

а б

Рис. 7.76. Умовне графічне зображення мікросхем КР1554ИЕ23

і КР1594ИЕ23 (а) та схема організації їх лічильних входів (б)

 

Ці мікросхеми містять два чотирьохрозрядних підсумовуючих лічильника з паралельним перенесенням. Кожний з них має два лічильних входи з прямим (по фронту імпульсу ) та зворотним (по зрізу імпульсу ) динамічним керуванням. Для організації таких входів використовується схема показана на рис. 7.76б. Тут DD3 двійковий лічильник, реалізований за схемою наведеною на рис. 7.75. При використанні  як лічильного входу на вході С1 повинна бути напруга низького рівня (С1 = 0). В цьому випадку з інвертора DD1 на елемент І-НЕ DD2 поступає логічна одиниця, яка не блокує передачу лічильного сигналу  зі входу  на вхід С лічильника DD3. Лічильний сигнал  інвертується DD2 у сигнал , який сприймається лічильником DD3. При використанні С1 як лічильного входу на вході  повинна бути напруга високого рівня (  = 1). Вона дозволяє передачу лічильного сигналу  зі входу С1, який, завдяки подвійній інверсії, надходить на вхід С без зміни і тому сприймається схемою лічильника DD3.

При зростанні кількості розрядів реалізація паралельних лічильників ускладнюється. Це обумовлено зростанням навантаження на виходи тригерів, особливо тригера молодшого розряду (див. схему на рис. 7.75), і зростанням кількості входів логічних елементів І чи АБО, які потрібні для організації паралельного перенесення. У зв’язку з обмеженнями, які виникають при побудові лічильників з паралельним перенесенням, поширене розповсюдження отримали лічильники з груповим перенесенням, які будуть розглянуті нижче.

Двійкові лічильники з крізним перенесенням використовують послідовний ланцюг кон’юнкторів для передачі лічильного сигналу на Т-тригери з урахуванням стану тригерів попередніх молодших розрядів. Схема підсумовуючого лічильника з крізним перенесенням показана на рис. 7.77.

Рис. 7.77. Схема двійкового лічильника з крізним перенесенням  

Лічильний сигнал , що надходить на вхід С, передається по ланцюгу послідовно увімкнених логічних елементів 2І DD2, DD4, DD6, другий вхід яких підключений до прямих виходів Т-тригерів. Якщо хоча б один з цих тригерів знаходиться у нульовому стані, передача лічильного сигналу на тригери подальших старших розрядів блокується починаючи з логічного елемента 2І, вхід якого підключений до виходу першого з тригерів молодших розрядів установленого в нульовий стан.

На відміну від лічильника з паралельним перенесенням (рис. 7.75), для схеми лічильника з крізним перенесенням (рис. 7.77) відсутнє обмеження розрядності пов’язане з перевантаженням Т-тригерів молодших розрядів і максимально дозволеною кількістю входів кон’юнктора.

Час установлення коду двійкового лічильника з крізним перенесенням визначається сумою затримки перемикання Т-тригера tз.пер і максимальної затримки розповсюдження лічильного сигналу у послідовному ланцюгу кон’юнкторів, яка при розрядності лічильника n дорівнює (n - 1)tзп.кон (tзп.кон - затримка поширення сигналу кон’юнктора):

                           tуст = tз.пер + (n - 1)tзп.кон.         (7.62)

Порівняння співвідношень (7.60) і (7.62) показує, що при однаковій розрядності виграш у швидкодії лічильників з крізним перенесенням, порівняно з лічильниками з послідовним перенесенням, тим більший, чим менше затримка поширення кон’юнкторів tзп.кон порівняно з затримкою перемикання Т-тригерів tз.пер.

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

Рис. 7.78. Структура лічильника з груповим перенесенням  

При одиничному стані всіх тригерів групи надходження чергового лічильного сигналу створює перенесення з цієї групи у наступну групу. Цьому сприяє міжгруповий кон’юнктор, на один зі входів якого подається лічильний сигнал або сигнал перенесення попередньої групи, а інші входи з’єднані з виходами тригерів поточної групи (рис. 7.78). Сигнал перенесення з виходу міжгрупового кон’юнктора надходить на лічильний вхід наступної групи та міжгруповий кон’юнктор цієї групи. Таким чином він розповсюджується по ланцюгу міжгрупових кон’юнкторів, так як це має місце у двійковому лічильнику з крізним перенесенням. Блокування розповсюдження лічильного сигналу на наступні групи відбувається при нульовому стані хоча б одного з тригерів поточної групи. Час установлення коду лічильника з груповим перенесенням визначається виходячи з найгіршого для швидкодії випадку, коли сигнал перенесення проходить через усі групи і надходить на вхід останньої

                              tуст = tуст.гр + (l - 1)tзп.кон,      (7.63)

де l - кількість груп; tуст.гр - час установлення коду у групі.

На підставі (7.63) можна визначити tуст для n розрядних двійкових лічильників з груповим перенесенням, які мають різний тип перенесення в межах групи. Якщо у таких лічильниках l груп, то кожна з них містить n/l Т-тригерів. У випадку, коли в межах груп перенесення паралельне, на підставі (7.61) і (7.63), одержимо наступний вираз для часу установлення коду:

        tуст = tз.пер + tзп.диз + (l - 1)tзп.кон ≈ tз.пер + ltзп.кон, (7.64)

а якщо між Т-тригерами групи має місце крізне перенесення, урахування (7.62) приводить до виразу:

                          . (7.65)

Розвинені серії інтегральних мікросхем звичайно містять від 4-ох до 11 варіантів двійкових лічильників, які, як правило, є 4-ох розрядними. Нарощування розрядності (каскадування) лічильників може виконуватися шляхом послідовного включення мікросхем по ланцюгам перенесення або організації паралельно послідовного перенесення за допомогою кон’юнкторів. В останньому випадку структура нарощеного лічильника відповідає рис. 7.78 і він фактично є лічильником з груповим перенесенням, в якому кожна група – це інтегральна мікросхема лічильника.

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

Лічильники з паралельним завантаженням можна будувати на DRS-тригерах, увімкнених як показано на рис. 7.79. Лічильний сигнал С подається на тактовий вхід DRS-тригера, а завантаження біта Di двійкового слова здійснюється через входи попередньої установки тригера R і S. Це відбувається при сигналі логічного нуля на вході L (L=0), коли логічна одиниця з виходу DD2 деблокує елементи 2І-НЕ DD4, DD5,  тобто дозволяє паралельний увід. На ви-

Рис. 7.79. Схема управління DRS-тригером   в  лічильниках   з паралельним завантаженням

ходах DD4, DD5, підключених до інверсних входів попередньої установки DRS-тригера  та , формуються логічні сигнали відповідно з сигналом на вході Di. Якщо, наприклад, Di = 1, то забезпечується комбінація сигналів  = 0,  = 1, при якій DRS-тригер встановлюється у стан Q = 1 (рис. 5.25), тобто  відбувається завантаження (увід) біту інформації зі входу Di в тригер.

Лічильний режим роботи дозволяється при Е = 0, L = 1, коли нуль на виході DD2 забезпечує  = 1,  = 1 і DRS-тригер працює в синхронному режимі (див. таблицю переходів на рис. 5.25). Одиниця з виходу DD1 перетворює елемент „сума за модулем 2” DD6 в інвертор, тому D =  і синхронний D-тригер працює як Т-тригер (рис. 5.43), тобто перемикається у протилежний стан по кожному перепаду  на вході С. Сигнал Е = 1 при L = 1 забороняє лічильний режим, оскільки в цьому випадку DD6 працює як повторювач і тому D = Q. По кожному перепаду  на вході С тригер перезаписує інформацію, яка в ньому зберігається і його стан не змінюється.

Схема трьохрозрядного реверсивного програмованого двійкового лічильника з паралельним перенесенням показана на рис. 7.80.

Завантаження в лічильник двійкового слова D4D2D1 з відповідних паралельних входів здійснюється сигналом низького рівня напруги U0 на вході L (L = 0) так, як було описано вище. Для цього використовуються входи  і  комбінованих DRS-тригерів, які мають більш високий пріоритет установки стану тригера ніж входи D і С (див. підрозділ 5.4.2). Сигнали на входах  і  тригерів DD15, DD22, DD31 формуються відповідно зі значеннями бітів двійкового слова за допомогою схем на логічних елементах DD12, DD13, DD16, DD17, DD19, DD24, DD25, DD27, DD32, DD33 і забезпечують запис слова в тригери лічильника таким чином, що Q4 = D4, Q2 = D2, Q1 = D1.

Схема на рис. 7.80 має обидва типи зв’язків між тригерами, що забезпечують пряму і зворотну лічбу. Для керування цими зв’язками використовуються логічні елементи 2І-3АБО DD21, DD30. Паралельне перенесення в схемі забезпечують логічні елементи DD20, DD23, DD28, DD29, DD34, DD35. Відзначимо, що зв’язки між тригерами для роботи лічильника в підсумовуючому режимі увімкнені через елемент DD20, верхню секцію 2І DD21, елементи DD28, DD29 та верхню секцію 2І DD30. Зв’язки для зворотної лічби здійснюються через логічний елемент DD23, нижню секцію 2І DD21, елементи DD34, DD35 та нижню секцію 2І DD30.

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

Лічильний режим роботи схеми на рис. 7.80 реалізується тільки при наявності на вході L високого рівня напруги U1 (L = 1), який переводе DRS-тригери лічильника в синхронний режим роботи, оскільки при L = 1 на входах попередньої установки цих тригерів логічні сигнали  = 1,  = 1. Зазначимо, що лічильний режим роботи може бути заборонений сигналом високого рівня напруги U1 на вході E (E = 1). В цьому випадку логічні нулі з виходів DD9, DD10 блокують верхні і нижні секції 2І елементів DD21, DD31, через які здійснюються зв’язки між тригерами для прямої і зворотної лічби, а логічна одиниця, що надходить з виходу DD11, деблокує середні секції 2І DD21, DD30, через які на входи D тригерів DD22, DD30 з виходів DD26, DD36 передаються значення логічних сигналів Q2, Q4 на прямих виходах тригерів. Теж саме, стосовно тригера DD15, здійснює логічний елемент DD14, оскільки завдяки нулю з виходу DD6 він працює як повторювач, тобто передає значення Q1 на вхід D тригера DD15. Таким чином при E = 1 тригери лічильника по кожному перепаду сигналу  на лічильному вході С перезаписують інформацію, яку вони зберігають і тому стан лічильника не змінюється.


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

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






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