Перетворювачі кодів, шифратори та дешифратори
Таблиця 10.1 |
Для уявлення інформації використовуються різноманітні двійкові і двійково-десяткові коди: прямий, обернений, додатковий, “з надлишком 3” та інші. Тому у цифрових системах широко застосовуються перетворювачі кодів, забезпечуючі перетворення інформації з однієї форми у іншу.
a3 | a2 | a1 | a0 | b3 | b2 | b1 | b0 |
Найпростішу структуру має перетворювач чисел з прямого коду А = аk … а1а0 у обернений В = bk … b1b0, що згідно із значенням знакового розряду Z або зберігає значення цифри кожного розряду (при Z = 0 bi = аi, i = 0, … , k), або змінює на протилежне значення (при Z = 1 bi = аi, i = 0, … , k). Логічна функція, визначаюча значення і-го розряду має вигляд bi = Zаi Zаi і реалізується схемою Виключаюче АБО.
Логічні схеми перетворювачів кодів можна отримати, користуючись наведеною раніше методикою. Наприклад, для чотирьохрозрядного перетворювача від’ємного числа з прямого коду у додатковий таблиця істиності має вигляд табл.10.1.
Відповідні карти Карно показані на мал.10.2 (b0 = a0) .
З наведених карт Карно отримуємо:
b3 = a0a3 a1a3 a2a3 a0a1a2a3 = (a0 a1 a2) a3;
b2 = a0a2 a1a2 a0a1a2 = (a0 a1) a2;
b1 = a0a1 a0a1 = a0 a1;
b0 = a0 = a0 0;
b3 b2 b1
a0 a0 a0
a2 1 1 1 1 0 0 0 1 1 0 1 0
0 0 0 0 a3 0 0 0 1 1 0 1 0
0 0 0 1 1 1 1 0 1 0 1 0
1 1 1 0 1 1 1 0 1 0 1 0
a1 a1 a1
Мал.10.2. Карти Карно функцій b3, b2, b1 перетворювача
прямого коду у додатковий.
У загальному випадку значення і-го розряду визначається виразом:
bі = (a0 a1 … aі-1) aі.
a0 b0
b1 a1
b2 a2
b3 a3
Мал.10.3. Перетворювач кодів. |
Використовуючи елементи АБО та Нерівнозначність, отримуємо схему, показану на мал.10.3. Із збільшенням номеру розряду вихідна функція перетворювача суттєво ускладнюється. Тому для перетворення багаторозрядних чисел доцільно застосовувати схеми перетворення у обернений код, а потім додавати одиницю для отримання додаткового, використовуючи суматор (схему для додавання чисел).
Серед найпоширеніших видів перетворення інформації можна виділити шифрацію і дешифрацію. Шифрацією називається перетворення m-розрядного двійкового коду, маючого km байдужих наборів вхідних змінних, у n-розрядний код, маючий меншу кількість розрядів (n < m) і байдужих наборів (kn < km). При цьому між вхідними і вихідними робочими наборами встановлюється взаємно однозначна відповідність. У результаті шифрації здійснюється “стискування” інформації для передавання її меншою кількостю ліній. Зворотнє перетворення називається дешифрацією. Функціональні вузли для виконання цих операцій називаються шифраторами і дешифраторами. Вони відрізняються за кількістю входів і виходів і називаються “шифратор (дешифратор) з m у n”. Максимальна кількість входів шифратора не перебільшує кількості можливих комбінацій вихідних сигналів: m 2n, а кількість виходів дешифратора задовольняє умові n 2m.
Шифратори використовуються для передавання інформації між різними пристроями при обмеженій кількості ліній зв’язку, а також перетворення уведених з клавіатури чисел у двійкову форму.
Дешифратор що реалізує на виходах усі мінтерми вхідних змінних (n = 2m) або інверсії мінтермів (макстерми) називається повним. Логічний вираз для і-ї вихідної функції повного дешифратора має вигляд Fi = m i = M i або Fi = Mi = m i. Так, повний дешифратор “з 3 у 8”, реалізуючий макстерми трьох змінних, має такі вихідні функції:
F0 = x1 x2 x3 = M0 = m0 = x1 x2 x3,
F1 = x1 x2 x3 = M1 = m1 = x1 x2 x3,
F2 = x1 x2 x3 = M2 = m2 = x1 x2 x3,
F3 = x1 x2 x3 = M3 = m3 = x1 x2 x3,
F4 = x1 x2 x3 = M4 = m4 = x1 x2 x3,
F5 = x1 x2 x3 = M5 = m5 = x1 x2 x3,
F6 = x1 x2 x3 = M6 = m6 = x1 x2 x3,
F7 = x1 x2 x3 = M7 = m7 = x1 x2 x3.
При використанні базових елементів АБО–НІ/АБО логічна схема приймає вигляд, показаний на мал.10.4.
F
F0
F1
х1 F2 х1
х2 F3 х2
х3 F4
x3 F5 F
F6 F
F7
Мал.10.4. Дешифратор “з 3 у 8”. |
Якщо на виходах реалізується неповний набір мінтермів (макстермів), то дешифратор називається неповним. Для неповних дешифраторів існують байдужі набори вхідних змінних, і їх можна використати при мінімізації вихідних функцій. У вигляді СІС у складі сучасних серій мікросхем ТТЛ випускається, наприклад, неповний дешифратор “з 4 у 10”, що використовується у пристроях виводу інформації, щоб забезпечити десяткову індикацію чи друкування двійково-десяткових чисел.
Крім пристроїв індикації дешифратори широко використовуються у пристроях керування, де вони у відповідності з надійшовшим кодом (адресою) формують керуючий сигнал, вмикаючий (чи вимикаючий) один з блоків, підключених до його виходів.