Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Частина 2.doc
Скачиваний:
80
Добавлен:
17.11.2019
Размер:
3.15 Mб
Скачать

4.5.2. Перетворювачі кодів і шифратори.

Під перетворенням кодів розуміється перетворення n-розрядних двійкових чисел, що представляють інформацію в одному заданому коді, в m-розрядні двійкові числа, що представляють цю інформацію в іншому коді.

Найбільш поширені наступні два підходи до побудови перетворювачів кодів.

Перший підхід − синтез m незалежних одновихідних функцій за заданою таблицею істинності − таблиці відповідності кодів.

Припустимо, є таблиця істинності перетворювача 2-х розрядного двійкового коду у 3-х розрядний, тобто таблиця відповідності вхідного двохрозрядного коду і вихідного трьохрозрядного коду:

Таблиця 4.6.

Таблиця відповідності вхідного двохрозрядного коду і вихідного трьохрозрядного коду

a1

a0

b2

b1

b0

0

0

1

0

0

0

1

0

0

1

1

0

0

1

1

1

1

0

0

0

Вважаючи b0, b1 і b2 залежними одновихідними функціями, запишемо для кожної з них булеві вирази:

(за правилом Де Моргана).

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

Такий же підхід використаний в розглянутих вище прикладах – синтезу схеми керування семисегментним індикатором (див. ч. 2, п. 4.3.7) і схеми однорозрядного комбінаційного суматора (див. ч. 2, п. 4.3.8).

Другий підхід − побудова перетворювача кодів за методом «дешифратор-шифратор». У цьому випадку по заданій таблиці істинності складається таблиця відповідності двійкових комбінацій десятковим цифрам. У розглянутому прикладі ця таблиця запишеться наступним чином:

Таблиця 4.7.

Таблиця відповідності двійкових комбінацій десятковим цифрам

A

B

0

4

1

1

2

3

3

0

Метод побудови перетворювача полягає в наступному. Спочатку будується схема перетворювача двійкового коду в унарний, тобто такий код, коли «1» може бути тільки на одному з N виходів перетворювача, номер якого співпадає з числом, представленим вхідним двійковим кодом (такий перетворювач називається дешифратор, що розглядався вище – ч. 2, п. 4.5.1). Число виходів дешифратора одно N = 2n, де n − число розрядів вхідного коду дешифратора (в даному випадку n = 2).

Потім будується схема перетворювача, що здійснює зворотну операцію, тобто перетворення унарного коду в двійковий. Число входів такого перетворювача, який називається шифратором, так само M = 2m, де m − число розрядів вихідного коду шифратора.

Схема перетворювача коду утворюється з’єднанням виходів дешифратора і входів шифратора відповідно до таблиці відповідності десяткових цифр (рис. 4.39). Тут DC − позначення дешифратора (DECODER), CD − позначення шифратора (ENCODER).

Рис. 4.39.

Шифратор (кодер) (від фр. chiffre – цифра; англ. encoder) − електронний логічний комбінаційний пристрій, що виконує перетворення унарного n-розрядного двійкового коду в m-розрядний двійковий код, тобто при подачі с игналу на один із входів (обов’язково на один, не більше) на виході з’являється двійковий код номера активного входу. Таким чином, шифратори − це комбінаційні пристрої, що реалізують зворотну дешифратору функцію.

Якщо кількість входів настільки велика, що в шифраторі використовуються всі можливі комбінації сигналів на виході, то такий шифратор називається повним, якщо не всі, то − неповним. Число входів і виходів у повному шифратори пов’язано співвідношенням: n = 2m, де n – кількість входів, m – число виходів. Умовне позначення шифратора наведене на рис. 4.40. Таблиця істинності шифратора має вид:

Таблиця 4.8.

Таблиця істинності шифратора

І7

І6

І5

І4

І3

І2

І1

І0

А2

А1

А0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

0

1

0

0

0

1

0

0

0

0

0

1

0

0

0

0

1

1

0

0

0

1

0

0

0

0

1

0

0

0

0

1

0

0

0

0

0

1

0

1

0

1

0

0

0

0

0

0

1

1

0

1

0

0

0

0

0

0

0

1

1

1

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

Рис. 4.41.

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

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

Таблиця 4.9.

Таблиця істинності пріоритетного шифратора

І7

І6

І5

І4

І3

І2

І1

І0

А2

А1

А0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

1

Х

0

0

1

0

0

0

0

0

1

Х

Х

0

1

0

0

0

0

0

1

Х

Х

Х

0

1

1

0

0

0

1

Х

Х

Х

Х

1

0

0

0

0

1

Х

Х

Х

Х

Х

1

0

1

0

1

Х

Х

Х

Х

Х

Х

1

1

0

1

Х

Х

Х

Х

Х

Х

Х

1

1

1

В наведеній таблиці «Х» означає будь-яке значення, тобто вихідний код визначається тільки найстаршим ненульовим розрядом.

Можлива структура логічної схеми виділення активного рівня старшого входу наведена на рис. 4.42.