
- •Міністерство освіти і науки україни львівський державний інститут новітніх технологій та управління ім. В. Чорновола Синтез схем перетворення кодів
- •“Комп’ютерна схемотехніка ”
- •Упорядники: Сергій Сергійович Івчук, ст. Викладач каф. Ксм
- •5. Перетворювач двійково-десяткових чисел в код семисегментного індикатора
- •4.5.6. Двійково-десяткові перетворювачі
4.5.6. Двійково-десяткові перетворювачі
У комп'ютерах широко використовується двійково-десяткове кодування, в якому кожна десяткова цифра зображується чотирирозрядним двійковим кодом, тобто тет-радою двійкових символів. Число різних двійково-десяткових кодів визначається числом можливих комбінацій по десять із 16 комбінацій, які допускаються тетрадою. Десяткові числа можуть представлятися в коді "з лишком 3", в коді з вагою "5421" або "2421" (код Айкена) та ін.
Найбільш поширеним є код прямого заміщення "8421", в якому кожна десяткова цифра 0, 1, ..., 9 замінюється її двійковим еквівалентом 0000, 0001, ..., 1001. Такий код називають також зваженим Д-кодом. Наприклад, число 72910 у двійково-десятковому коді записується у вигляді трьох тетрад: 0111001010012-10
Для Д-кодів розроблені машинні алгоритми операцій додавання, віднімання, множення, ділення та інші. Операції над десятковими числами (десяткова арифметика) входять до складу команд комп'ютерів різних класів.
Особливістю Д-кодів є наявність десяти дозволених і шести заборонених комбінацій двійкових символів в тетраді. Поява забороненої комбінації при виконанні операцій над числами свідчить про виникнення помилки або ж про необхідність корекції результату.
У розрядній сітці машини двійково-десяткові коди представляються у формі з плаваючою або фіксованою комою. При цьому від'ємні числа відображаються в прямому, оберненому або доповняльному кодах. Для Д-кодів не виконується умова отримання оберненого коду інвертуванням розрядів тетради.
Застосування Д-кодів у комп'ютерах не вимагає виконання різного роду перетворень: двійково-десяткових чисел у двійкові та навпаки. Наприклад, за допомогою шифратора забезпечується порівняно простий спосіб введення в машину десяткових цифр двійково-десятковим кодом.
Значення однієї тетради Д-коду, доповнення тетради до дев'яти "9-Д" (обернений код) і до десяти "10-Д" (доповняльний код), а також коди з "лишком 3" і з вагою "5421" наведені в табл. 5.5
Таблиця 5.5
Код Д |
Код “9-Д” |
Код “10-Д” |
Код “Д+3” |
Код “5421” |
X4 X3 X2 X1 |
Y4 Y3 Y2 Y1 |
F4 F3 F2 F1 |
Z4 Z3 Z2 Z1 |
E4 E3 E2 E1 |
0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 |
1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 |
1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 |
0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 |
0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 |
Систему мінімальних логічних виразів оберненого двійково-десяткового коду отримуємо за допомогою карт Карно (рис. 4.40), в які вносяться значення розрядів Y1-Y4 за даними табл. 5.5.
На основі карт Карно отримуємо систему рівнянь для розрядів Y1-Y4 оберненого Д-коду:
(5.6)
І
з
виразів (5.6) випливає, що значення другого
розряду тетради прямого і оберненого
Д-кодів збігаються. Схема перетворювача
прямого Д-коду в обернений на основі
співвідношень (5.6)
показана на рис. 5.10, а.
Можливий і інший спосіб
побудови перетворювача Д-коду в обернений:
спочатку інвертуються цифри всіх тетрад
(виходить код з лишком шість) і далі
відбувається віднімання з кожної тетради
числа мінус 0110, що еквівалентне додаванню
в доповняльному коді плюс 1010 (без
урахування перенесень між тетрадами).
Наприклад, А =
-148, прямий Д-код [А]ПР=1
0001 0100 1000; після інвертування:
=
1 1110 1011 0111; після додавання плюс 1010 до
кожної тетради одержуємо значення
оберненого Д-коду: [А]ОБ=
1 1000 0101 0001.
Схема перетворювача на основі інвертування і корекції тетрад показана на рис. 4.41, б. В даній схемі інвертування значень розрядів тетрад здійснюється логічними елементами "виключне ЧИ", а корекція реалізується типовою мікросхемою чотирирозрядного комбінаційного суматора. Доповняльний Д-код тетради виходить з оберненого додаванням одиниці до молодшого розряду.
Синтез перетворювачів коду
Кількість входів перетворювача коду завжди відповідає кількості бітів коду який перетворюємо. Для чотирибітового коду (тетрадного) необхідно чотири входи. Кількість виходів відповідає кількості бітів коду, до якого необхідно перейти. Так, якщо проводиться перетворення із коду Айкена в код Хеммінга, то необхідно 4 входи та 7 виходів (рис.1).
П
еретворювачі
кодів формуються за правилами синтезу
схем.
Необхідний перетворювач коду можемо подати у вигляді таблиці істинності. За таблицею істинності необхідно записати для кожного виходу нормальну форму АБО. Потів її необхідно максимально спростити. За спрощеним виразом (логічним рівнянням) синтезуємо схему перетворювача.
П
риклад:
Реалізувати перетворювач коду Айкена
в двійково-десятковий код (ВСD).
Отже, потрібна схема з чотирма входами та чотирма виходами рис. 2.
Операції, які повинна виконувати схема, подано в таблиці істинності табл. 1. Для виходів Q1, Q2, Q3, Q4 отримуємо наступні нормальні форми АБО:
Таблиця 1
|
Входи код Айкена |
Виходи ВСD |
||||||
D |
C |
B |
A |
Q4 |
Q3 |
Q2 |
Q1 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
2 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
3 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
4 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
5 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
6 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
7 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
8 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
9 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
Нормальні форми АБО спрощуємо за допомогою карт Карно:
|
Q1 |
А |
|
|
|
|||
|
В |
12 |
|
|
|
|
|
|
АВ |
13 |
15 |
|
|
D |
|
||
|
|
|
14 |
|
|
|||
|
11 |
|
|
|
|
АСD |
||
А |
|
|
С |
|
|
|
|
Q2 |
А |
|
|
|
||
|
В |
12 |
|
|
11 |
|
|
|
|
|
|
|
D |
|
|
|
|
|
14 |
13 |
|
||
|
|
|
|
|
|
В |
|
СD |
|
|
С |
|
|
|
|
Q3 |
А |
|
|
|
||
|
В |
|
|
|
|
|
|
|
12 |
|
|
|
D |
|
|
|
|
|
14 |
13 |
|
||
|
|
|
11 |
|
|
В |
|
СD |
|
|
С |
|
|
|
Q4 |
А |
|
|
|
||
В |
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
12 |
11 |
|
||
|
|
|
|
|
ВСD |
|
|
|
С |
|
|
|
Q4 = ВСD
За спрощеними рівняннями можемо реалізувати схему. Якщо в наявності є тільки елементи І-НЕ, то рівняння необхідно відповідним чином перетворити:
Q4 = ВСD
За даним алгоритмом можна синтезувати перетворювач кодів для довільного типу перетворень.
Завдання для самостійного виконання:
Реалізувати перетворення десяткового коду в ВСD-код.
Реалізувати перетворення ВСD-коду в десятковий коду.
Реалізувати перетворення десяткового коду в код з надлишком 3.
Реалізувати перетворення десяткового коду в 7-сегментний код.
Реалізувати перетворення ВСD-коду в 7-сегментний код.
Реалізувати перетворення коду Айкена в ВСD-код.
Реалізувати перетворення коду Хеммінга в код з надлишком 3.
Реалізувати перетворення ВСD-коду в код Хеммінга.
Реалізувати перетворення десяткового коду в код Айкена.
Реалізувати перетворення десяткового коду в код Хеммінга.
Реалізувати перетворення коду Хеммінга в 7-сегментний код.
Реалізувати перетворення коду Айкена в код з надлишком 3.
Реалізувати перетворення коду з надлишком 3 в 7-сегментний код.
Реалізувати перетворення коду Айкена в код Хеммінга.
Реалізувати перетворення коду Айкена в 7-сегментний код.
Навчально-методичні матеріали
Бойко В., Гуржій А., Жуйков В., та ін. Схемотехніка електронних систем. Цифрова схемотехніка. – Київ, «Вища школа», 2004.
Бабич М., Жуков І. Комп’ютерна схемотехніка. Київ, «МК-Прес», 2004.
Угрюмов Е. Цифровая схемотехника. Сакт-Питербург, 2004.
Фрике К. Вводный курс цифровой электроники. Москва, 2004.
Бойт К. Цифровая электроника. Москва, 2007.
Андронік Буняк. Електроніка та мікросхемотехніка: навчальний посібник для вищих учбових закладів. - Київ - Тернопіль, 2001.
Мальцев П.П. й др. Цифровые интегральные микросхемы.: Справочник. -М.: Радио й связь . 1994.
Пухальский Г.И., Новосельцева В.Н. Проектирование дискретных устройств на интегральных микросхемах: Справочник. - М.: Радио и связь, 1990.
Титце У., Шенк К. Полупроводниковая схемотехника: Справочное руководство. Пер. с нем. - М.: Мир, 1983..
Скаржепа В.А., Луценко А.Н. Электроника й микросхемотехника.- К.: Выща школа, 1989.