ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 14.12.2021
Просмотров: 269
Скачиваний: 1
Розділ 5
КОМБІНАЦІЙНІ ФУНКЦІОНАЛЬНІ ВУЗЛИ
5.1. ПЕРЕТВОРЮВАЧІ КОДІВ, ШИФРАТОРИ, ДЕШИФРАТОРИ
Функціональні вузли комбінаційного типу характеризуются однозначною відповідністю вихідних сигналів припустимим комбінаціям сигналів на вході й не залежать від послідовності їхньої зміни. Для побудови комбінаційного функціонального вузла повинна бути задана вся безліч кодів (слів) і відповідний їм набір вихідних кодів або система рівнянь, що описує залежність кожного розряду вихідного коду від незалежних вхідних змінних. Комбінаційні схеми будуються або на основі логічних елементів, або на основі постійних запам'ятовувальних пристроїв (ПЗЗ), у які записується таблиця перетворення вхідних слів у вихідні. До комбінаційних функціональних вузлів відносяться перетворювачі кодів, (частковим випадковим яких є шифратори й дешифратори), мультиплексори, демультиплексори, пристрою зрушення чисел, комбінаційні суматори, цифрові компаратори й ін.
Перетворювачі кодів призначені для перекладу чисел з однієї форми подання в іншу. Наприклад, при уведенні інформації в ЕОМ необхідно перетворювати десяткові числа у двійкові, а при виводі інформації на індикатори або друкувальний пристрій - двійкові або двійково-десяткові коди в коди керування знакогенератором, світлодіодними або рідкокристалічними індикаторними панелями, механізмом печатки.
Відправним пунктом для побудови перетворювача кодів є таблиця відповідності, у якій записується повний набір вхідних і відповідний набір вихідних слів. Якщо вхідні й вихідні слова записані двійковими символами, то синтез перетворювача коду зводиться до знаходження для кожного розряду вихідного слова булевой функції, що встановлює зв'язок даного розряду із вхідними наборами двійкових змінних. Знаходження такого зв'язку й мінімізація булевого виразу здійснюються за допомогою карт Карно (діаграм Вейча). На заключному етапі отримана функція перетвориться до виду, зручному для peaлізації в заданому (обраному) елементному базисі.
У табл. 5.1 наведені найпоширеніші в цифровий схемотехніці двійкові коди [36]. У позначеннях кодів 8421, 7421, 542!, 2421 зазначений десяткова вага двійкової одиниці відповідного, розряду.
Код Грею утворений послідовністю двійкових чисел, у якій два будь-яких сусідніх числа (перше й останнє число також вважаються сусідніми) відрізняються тільки одним розрядом. У коді Джонсона перехід до наступного числа здійснюється послідовною заміною 0 на 1, починаючи справа, а після установки у всіх розрядах 1 - заміною 1 на 0. Коди N + 3,9 - N, 10 - N використовуються в арифметичних пристроях для виконання операцій додавання й віднімання двоїчно-десяткових чисел.
Нехай необхідно побудувати перетворювач двійкового коду 421 в 3-розрядний код Грею. Запишемо таблицю відповідності (табл. 5.2).
а
Рис. 5.1
Кожен розряд одержуваного на виході коду є незалежною функцією вхідних наборів , що необхідно знайти й мінімізувати. Для цього скористаємося картами Карно, записавши в клітки карти значення для кожного з наборів:
(5.1)
(5.2)
(5.3)
Відповідно тотожним виразам (5.1)-(5.3) можна одержати різні варіанти перетворювача (рис. 5.1, а, б, в).
Вибір найкращого варіанта реалізації проводить розробник, керуючись технічними міркуваннями. Аналогічно, використовуючи ту ж табл. 5.2, можна виконати зворотне перетворення коду Грея в код 421:
.
На рис. 5.2 показаний один з можливих варіантів перетворювача коду Грея у двійковий код 421.
Візуалізація двійково-десяткових чисел часто виробляється за допомогою семисегментних панелей на основі рідких кристалів або світлодіодів (рис. 5.3, а), широко використовуваних у мікрокалькуляторах електронних годинниках і т.д. Якщо сегменти позначені буквами, як показано на рис. 5.3, б, то табл. 5.3 встановлюють
відповідність між двійково-десятковим числом і для відображення десяткової цифри набором сегментів. Сегмент а визначається наборами коду 8421 у такий спосіб:
Аналогічно одержимо бульові вирази для інших сегментів:
Схема перетворювача коду 8421 у код семисегментного індикатора, реалізована на елементах І-НЕ, показана на рис. 5.4.
Частковим випадком перетворювача кодів є шифратор - пристрій, що забезпечує видачу певного кода у відповідь на порушення одного із входів. Шифратори широко використаються для перетворення десяткових цифр і буквених символів у двійковий код при уведенні інформації в ЕОМ й інші цифрові пристрої.
Розглянемо приклад побудови шифратора для перетворення десяткових чисел у код 8421 згідно табл. 5.4. Вхідними є двійкові змінні х0,...,х9, які формуються при натисканні відповідної клавіші пристрою уведення.
Змінні є незалежними й дозволяють побудувати 210= 1024 вхідних комбінацій, але якщо накладається обмеження, що забороняє натискання двох і більше клавіш, то з 1042 залишається 11 припустимих вхідних комбінацій. Відповідному даному обмеженню вхідний код називають кодом «1 з п» або унітарним. У табл. 5.4 натиснутій клавіші відповідає «логічна 1», а ненатиснутій - «логічний 0». Дві перших вхідних комбінації породжують той самий двійковий код 0000. Відмінність між ними полягає в тому, що при натисканні клавіші «0», як і при уведенні інших цифр, у пристрої повинна формуватися команда уведення й запам'ятовування чергової десяткової цифри. Як видно з табл. 5.4, двійкова змінна приймає значення «1», якщо «1» з'являється на вході або на вході х3, або х5, або , або х9 .
При всіх інших вхідних комбінаціях у0= 0, тобто в термінах алгебри логіки
(5.4а)
Аналогічно запишемо для інших виходів:
(5.4б)
(5.4в)
(5.4г)
Відповідно до наведених рівностей (5.4) шифратор можна реалізувати в базисі АБО-НЕ (рис. 5.5, а, б) або в базисі І-НЕ (рис. 5.5, в, г).
Такі шифратори відносяться до перетворювачів коду «1 з п» в двійковий код 8421. Часте обмеження на кількість клавіш, що натискають, виявляється неприйнятним і потрібно побудувати шифратор так, щоб він при одночасному натисканні декількох клавіш реагував тільки на самий старший (або молодший) з них. Перетворювачі коду даного виду називають пріоритетними шифраторами. Вони реалізують перетворення коду «х з п» у код 8421.
У таблиці відповідності для пріоритетного, шифратора, у якому вхідна змінна з максимальним номером має максимальний пріоритет (табл. 5.5), значення вхідних змінних праворуч від. діагоналі з «1» не повинні визначати вихідний код.
Пріоритетний шифратор можна побудувати на основі найпростішого шифратора, що перетворить відповідно до виразів (5.4) код «1 з 10» у код 8421, якщо попередньо перетворити вхідний код «X з 10» у код «1 з 10». Позначимо вихідні змінні перетворювача «1 з 10» через х9, ..., х1.
Вхідна змінна f0 має максимальний пріоритет, тому не залежить від інших вхідних змінних: х9= f9 . Будь-яка інша вихідна змінна приймає значення «1», якщо за умови, що ні на один з «старших» входів не подана «логічна 1» , тобто
Схема (рис. 5.6) реалізує перетворення (5.5). Її достоїнством є рівномірна затримка поширення сигналів по всіх входах, а недоліком - необхідність застосування багатовходових схем АБО-НЕ. Якщо не пред'являються тверді вимоги по швидкодії, наприклад, для клавіатурного уведення, перетворювач коду «х з 10» в «1 з 10» можна виконати по ітераційному принципі (рис. 5.7). У такій схемі сигнал пріоритетної заборони поширюється від старшого входу до молодшого через послідовно з'єднані елементи АБО, тому в цілому тривалість перетворення в код «1 з 10» визначається часом установки виходу x1 запізнювання на якому максимальне.
Для одержання схеми пріоритетного шифратора досить виходи x9,...,х0 перетворювача «х з 10» в «1 з 10» підключити до відповідних входів перетворювача коду «1 з 10» у код 8421.
Зворотне перетворення двійкового коду в код «1 з п» виконують перетворювачі коду, що називаються дешифраторами. Найбільш широко дешифратори використовуються в пристроях виводу інформації з ЕОМ й інших цифрових пристроїв на зовнішні пристрої візуалізації й документування алфавітно-цифрової інформації. Для цього потрібно подати сигнал на 1 з п, наприклад, катодів газорозрядного індикатора або елементів вибірки символів друкувального пристрою.
Синтез структури дешифратора, як і будь-якого іншого перетворювача кодів, починається із запису таблиці відповідності вхідних і вихідних колів. Нехай необхідно перетворити двійковий код 21 у код «1 з 4». Тоді табл. 5.6 повністю визначає значення виходів для всіх вхідних наборів. Далі треба для кожної вихідної функції скласти карту Карно й одержати її мінімізований вираз. У розглянутому прикладі це безглуздо, так як для кожної функції карта Карно містить тільки одну «1», тому відповідний їй мінтерм й є мінімальною формою. Тоді на підставі табл. 5.6 запишемо: (5.6)
Вираз (5.6) можна реалізувати в елементному базисі І-НЕ (рис. 5.8, а, б) або базисі АБО-НЕ (рис. 5.8, в).
Якщо число входів т і число виходів п дешифратора зв'язані співвідношенням п =, то виходи визначені для всіх двійкових наборів і дешифратор називається повним. У випадку п<2т дешифратор називається неповним. Приклад неповного дешифратора - перетворювач двійкового коду 8421 у код «1 з 10» згідно табл. 5.7.
Оскільки 6 з 16 можливих вхідних наборів не визначені, є можливість довільним довизначенням карти Карно мінімізувати ряд вихідних функцій дешифратора.
Наприклад, функції та можна спростити до виду:
Аналогічно спрощуються функції у3, ..., у9. З огляду на те, що функції у0 й у1 не спрощуються, у чому легко можна переконатися, побудувавши для них карти Карно,
остаточно запишемо логічні функції, які повинен реалізувати синтезований десятковий дешифратор:
Відповідний десятковий дешифратор реалізований на основі логічних елементів АБО-НЕ (рис. 5.9). Відзначимо, що в мінімізованому варіанті дешифратора не допускається подача на його вхід кодів 8421, що не ввійшли в табл. 5.7. Так, якщо на вхід дешифратора на рис. 5.9 подати код 1011, то одночасно на двох виходах й у9 установлюються «логічні 1». Таким чином, якщо на т входах дешифратора можуть подаватися будь-які з 2т комбінацій і не допускається одночасне порушення більш ніж одного з його п < 2т виходів, спрощення схеми описаним методом неприпустимо й кожна з вихідних функцій повинна бути визначена повним набором вхідних змінних.
У такому неповному дешифраторі (як приклад на рис. 5.10 показаний варіант на елементах І-НЕ) «зайві» вхідні комбінації не збуджують ні один з його виходів:
Розглянуті вище схеми дешифраторів ставляться до типу лінійних і для них характерно одноступінчасте дешифрування вхідних m-розрядних кодів за допомогою m-входових логічних елементів. Лінійні дешифратори забезпечують перетворення коду з мінімальною затримкою й використаються в найбільш швидкодіючих цифрових схемах. Однак з ростом розрядності вхідного коду т швидко наростає навантаження кожного із входів і кількість корпусів ІМС для реалізації дешифратора. Лінійна структура звичайно використається для побудови дешифраторів при т 4.
Якщо число входів т>4, то з метою зменшення кількості корпусів ІМС дешифратори виконуються за багатоступінчастою схемою. Першим щаблем
пірамідального дешифратора є найпростіший лінійний дешифратор із числом виходів =4 (див. рис. 5.8, б). Кожен наступний щабель, керований додатковою вхідною змінною, дозволяє подвоїти кількість виходів й одержати п2=8, п3= 16 і так далі, тобто -східчастий повний пірамідальний дешифратор має число виходів причому (при т = 2 лінійний і пірамідальний дешифратори збігаються).
В якості ілюстрації побудуємо повний пірамідальний дешифратор для випадку т=4 (рис. 5.11). Затримка поширення сигналу в пірамідальному дешифраторі в k раз більше, ніж в лінійному. Інший недолік таких дешифраторів складається в нерівномірному навантаженні входів, що зростає з ростом кількості щаблів. Кількість необхідних двохвходових логічних елементів І-НЕ (або АБО-НЕ) для реалізації
пірамідального -східчастого дешифратора на входів з урахуванням інверторів визначається співвідношенням
і практично подвоюється з додаванням чергового щабля. При одночасному використанні елементів І-НЕ або АБО-НЕ із чергуванням щаблів на них (рис. 5.12) необхідна кількість двохвходових вентилів зменшується вдвічі
У випадку якщо число входів т 5, повні дешифратори доцільно будувати за матричною структурою. При парному т кількість рядків і стовпців матриці дорівнює і матриця вихідних вентилів виходить квадратною. При непарному т вхідні змінні розділяють на та . В обох випадках для вибору рядків і стовпців (рис. 5.13), у вузлах яких підключаються двовходові вентилі, використовуються лінійні або пірамідальні дешифратори. Такого типу дешифратори називають прямокутними.
Таким чином, прямокутний дешифратор містить два щаблі незалежно від величини т і забезпечує високу швидкодію. Для реалізації прямокутного дешифратора з лінійним дешифратором у його першому щаблі необхідно елементів при парному т й елементів при т непарному. У прямокутному дешифраторі на рис. 5.13 виходи є інверсними, тобто на всіх його виходах, крім одного, обумовленого вхідним кодом, установлюються «логічні 1» и лише на одному виході - «логічний 0». На основі комбінації кожного з дешифраторів з п виходами й п-входового шифратора можна побудувати перетворювач вихідного коду в заданий. Для цього досить відповідним чином з'єднати виходи дешифратора із входами шифратора.
У табл. 5.8 наведені параметри шифраторів і дешифраторів найбільш широко застосовуваних серій ІМС. На рис. 5.14 показане функціональне призначення виводів ІМС із табл. 5.8.
5.2. МУЛЬТИПЛЕКСОРИ Й ДЕМУЛЬТИПЛЕКСОРИ.
В цифрових пристроях часто виникає завдання передачі цифрової інформації від т різних пристроїв до п приймачів через канал загального користування. Для цього на вході каналу встановлюється пристрій, називаний мультиплексором, що відповідно до коду адреси Ат підключає до каналу одне із джерел інформації, а на виході каналу пристрій демультиплексор забезпечує передачу інформації до приймача, що має цифрова адреса . Мультиплексор і демультиплексор містять у собі дешифратор адресию Сигнали дешифратора управляють логічними вентилями, дозволяючи передачу інформації тільки через один з них. Логіка функціонування мультиплексора для т = 4 описується табл. 5.9, де х0, ..., х3 - виходи незалежних джерел інформації. Логіка функціонування демультиплексора для випадку п=4 ілюструється табл. 5.10, де - входи приймачів інформації.
Найпростіший мультиплексор, що реалізує задане табл. 5.9 перетворення, можна побудувати на логічних елементах І, АБО й лінійному дешифраторі (рис. 5.15, а). У такій структурі вихід мультиплексора Х установлюється із затримкою адресних сигналів у трьох логічних щаблях. Швидкодію мультиплексора можна збільшити, якщо сполучити дешифратор адреси й інформаційні вентилі (рис. 5.15, б). Вхід С (рис. 5.15, в) забезпечує передачу інформації в канал тільки в дозволені строб-імпульсом моменти часу.