ПОСТРОЕНИЕ ПРЕОБРАЗОВАТЕЛЕЙ КОДОВ
Под преобразованием кодов понимается преобразование n-разрядных двоичных чисел, представляющих информацию в одном заданном коде, в m-разрядные двоичные числа, представляющие эту информацию в другом коде. Наиболее распространены следующие два подхода к построению преобразователей кодов.
Первый подход – синтез т независимых одновыходных функций по заданной таблице истинности – таблице соответствия кодов.
Допустим, имеется таблица истинности преобразователя 2-раз- рядного двоичного кода в 3-разрядный:
а1 | а0 | b2 | b1 | b0 |
Считая b0, b1 и b2 независимыми одновыходными функциями, запишем для каждой из них булевы выражения:
,
,
Используя приведенные булевы выражения с учетом того, что инверсии некоторых переменных и произведение а0 встречаются не в одной функции, составляем схему преобразователя с применением (где это возможно) одних и тех же логических элементов:
|
Рис.6.1. Пример построения преобразователя кодов по заданному булеву выражению.
Второй подход — построение преобразователя кодов по методу «де- шифратор-шифратор».
В этом случае по заданной таблице истинности составляется таблица соответствия десятичных цифр. В рассмотренном примере эта таблица запишется следующим образом:
Метод построения преобразователя заключается в следующем.
Сначала строится схема преобразователя двоичного кода в унарный, т.е. такой код, когда «1» может быть только на одном из N выходов преобразователя, номер которого совпадает с числом, представленным входным двоичным кодом (такой преобразователь называется дешифратором). Число выходов дешифратора равно N = 2 п , где п — число разрядов входного кода дешифратора.
Затем строится схема преобразователя, осуществляющего обратную операцию, т.е. преобразование унарного кода в двоичный. Число входов
такого преобразователя, который называется шифратором, равно М = 2 n , где n — число разрядов выходного кода шифратора.
|
Схема преобразователя кода образуется соединением выходов дешифратора и входов шифратора в соответствии с таблицей соответствия десятичных цифр. Здесь DC — обозначение дешифратора (DECODER), CD — обозначение шифратора (ENCODER).
Рис.6.2. Пример построения преобразователя кодов по принципу «дешифратор-шифратор»
Способ построения дешифратора
Учитывая, что активный уровень («Н- High, высокий — единица для положительной логики, или «L- Low, низкий — ноль для отрицательной логики), на каждом из выходов дешифратора появляется только для одной из входных комбинаций, булевы выражения выходных функций дешифратора содержат только одно произведение входных переменных или их дополнений, а в правой части таблицы истинности единица может быть только в одном столбце каждой строки. Поэтому схема дешифратора содержит только элементы И (конъюнкторы), перемножающие входные переменные или их дополнения:
,
,
а1 | а0 | y3 | y2 | y1 | y0 |
0 | 0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 1 | 0 | 0 |
1 | 1 | 1 | 0 | 0 | 0 |
Таблица истинности дешифратора:
На рис.6.3. показана схема 2-разрядного дешифратора.
Если в схеме преобразователя кодов не используется какая-либо входная комбинация (что имеет место в выполняемой лабораторной работе), тогда такой дешифратор называется неполным.
Рис.6.3. Пример построения 2-разрядного дешифратора
СПОСОБ ПОСТРОЕНИЯ ШИФРАТОРА
Шифратор выполняет функцию, обратную дешифратору. Только один из входов шифратора может быть активным, остальные должны оставаться пассивными, т.е. единицу можно подавать только на один из входов, а на все остальные входы при этом надо подавать нули. Учитывая это обстоятельство, запишем таблицу истинности для 3-разрядного шифратора.
Схема шифратора должна содержать только элементы ИЛИ (дизъюнкторы) для положительной логики, суммирующие те входные переменные, для которых есть единица в соответствующем разряде выходного кода, или только элементы И (конъюнкторы) для отрицательной логики. На рисунке ниже показана схема 3-разрядного шифратора.
y | b2 | b1 | b0 |
y0 | 0 | 0 | 0 |
y1 | 0 | 0 | 1 |
y2 | 0 | 1 | 0 |
y3 | 0 | 1 | 1 |
y4 | 1 | 0 | 0 |
y5 | 1 | 0 | 1 |
y6 | 1 | 1 | 0 |
y7 | 1 | 1 | 1 |
На рис.6.4. представлена схема, реализующая 3-х разрядный шифратор.
|
Рис.6.4.Схема, реализующая 3-х разрядный шифратор.
Если в схеме преобразователя кодов один из выходных разрядов всегда неактивный, то соответствующий элемент ИЛИ не включается в схему шифратора и такой шифратор называется неполным.
4.2.1.Преобразователь кода Грея в двоичный позиционный
Код Грея, отраженный двоичный код, рефлексный (от reflect—отражать) код для первых десяти чисел представлен в табл.4.1.
В последовательности чисел кода Грея все разряды (abc), кроме самого левого, подчиняются следующему правилу: любая сплошная группа разрядов, считая справа, по некоторому закону перебирает все свои возможные комбинации, а затем начинает перебирать их в обратном порядке. Так, разряды кода Грея b и с сначала перебирают комбинации 00, 01, 11, 10, затем — те же комбинации в обратном порядке: 10, 11, 01, 00.
Закон справедлив вплоть до группы в один разряд: разряд с изменяется сначала в одну сторону—0,1, затем обратно —1,0 и снова в том же цикле. Этот закон объясняет одно из названий кода «отраженный» и позволяет строить последовательность чисел кода любой разрядности. Код Грея — не позиционный, т. е. веса его разрядов не определяются занимаемыми ими местами, как в обычном двоичном коде, который относится к классу позиционных.
Табл.4.1.Таблица кода Грея для 8 чисел
Десятичное число | Двоичное число (abc) | Число в Коде Грея (abc) |
В коде Грея при переходе между любыми соседними числами изменяется значение всегда только одного разряда. Благодаря этому свойству код широко применяется в преобразователях углового положения вала в цифровой код, построенных на базе кодового диска или кодового барабана. В оптическом кодовом диске единицы и нули кодируются прозрачными и непрозрачными областями.
Два варианта схем преобразования кода Грея в позиционный показаны на рис. 4.19. Первый (параллельная схема, рис.4.19, а) имеет меньшую задержку,- но дороже по затратам оборудования, второй (последовательная схема, рис.4.19, б) —с большей задержкой, но экономичнее.
Переводить числа из позиционного кода в код Грея приходится значительно реже. Алгоритм перевода прост: каждый i-й, считая слева, разряд числа в коде Грея равен сумме по модулю 2 i-го и (i-1) -го слева разрядов того же числа, представленного позиционным кодом.
Рис. 4.19. Преобразователи кода Грея в двоичный позиционный
Источник
Преобразователь кодов
Преобразователи кодов служат для перевода одной формы числа в другую. Их входные и выходные переменные однозначно связаны между собой. Эту связь можно задать таблицами переключений или логическими функциями.
Шифратор преобразует одиночный сигнал в n-разрядный двоичный код. Наибольшее применение он находит в устройствах ввода информации (пультах управления) для преобразования десятичных чисел двоичную систему счисления. Предположим, на пульте десять клавишей с гравировкой от 0 до 9. При нажатии любой из них на вход шифратора подаётся единичный сигнал (ХО-Х9). На выходе шифратора должен появиться двоичный код (Y1, Y2. ) этого десятичного числа. Как видно из таблиц переключений, в этом случае нужен преобразователь с десятью входами и четырьмя выходами.
На выходе Y1 единица появляется при нажатии любой нечетной клавиши X1, ХЗ, Х5. Х7. Х9, т. е. Y1=Х1\/ХЗ\/Х5\/Х7\/Х9. Для остальных выходов логические выражения имеют вид: Y2=Х2\/ХЗ\/Х6\/Х7; Y4==Х4\/Х5\/Х6\/Х7; Y8=Х8\/Х9. Следовательно, для шифратора понадобятся четыре элемента ИЛИ: пятивходовый, два четырехвходовых и двухвходовый рисунок 1.
Рисунок 1
Примечание редакции: логический элемент Y2 неправильно показан. У него нет соединения с Х2, но есть соединение с Х4.
Дешифратор преобразует код, поступающий на его входы, в сигнал только на одном из его выходов. Дешифраторы широко применяются в устройствах управления, в системах цифровой индикации, для построения распределителей импульсов по различным цепям и т. д. Условное обозначение дешифратора на микросхеме К155ИД1 с десятью выходами для дешифрования одного разряда двоично-десятичного кода 8421 и часть его принципиальной схемы приведены на рисунке 2. Любому входному двоичному коду соответствует низкий уровень только на одном выходе, а на всех остальных сохраняется высокий уровень. Дешифраторы входят во все серии микросхем ТТЛ и КМДП. Например, дешифратор К155ИД4 (два дешифратора в корпусе) преобразует двоичный код в код «1 из 4», К155ИД1 и К176ИД1 в код «1 из 10», К155ИДЗ—В код «1 из 16». Цоколёвка этих микросхем приведена на рисунке 2 и 3.
Рисунок 2
Дешифратор на микросхеме К155ИД1 предназначен для работы с декадными газоразрядными индикаторами. Его выходы подключают непосредственно к катодам (имеющим форму десятичных цифр) газоразрядного индикатора анод которого через резистор подключен к источнику питания напряжением 200—250 В. Выходные сигналы этой микросхемы отличаются от ТТЛ уровней и поэтому для подключения к ней других микросхем приходится применять дополнительные устройства согласования.
Рисунок 3
Микросхема К155ИД4 состоит из двух дешифраторов на 4 с объединенными адресными входами (выводы 3 и 13) и раздельными входами стробирования. Стробированием называется выделение сигнала в определенный момент времени. В данном случае — это появление выходного сигнала в момент, когда на входах стробирования есть разрешающие уровни. Если на обоих входах А1 и А2 будут низкие уровни, то на выходе верхнего по схеме дешифратора, номер которого соответствует эквиваленту входного кода, будет низкий уровень. Для нижнего (по схеме) дешифратора необходимо необходимо условий: А3==1 и А4==0. На рисунке 3,б показано, как эту микросхему можно использовать в качестве дешифратора на восемь выходов со входом стробирования.
Дешифратор на микросхеме К155ИДЗ имеет четыре входа для приема чисел в коде 8421 и 16 выходов. Два входа стробирования (для передачи сигнала на А1 и А2 необходимо подать низкие уровни) позволяют объединить микросхемы для получения дешифраторов на 32 выхода рисунок 4, 64 выхода (потребуется четыре микросхемы) и т. д.
Рисунок 4
Преобразователь двоично-десятичного кода в код семисегментного индикатора. Числа на табло и пультах индицируются, как правило, в десятичном коде. Для этого можно использовать дешифратор на микросхеме К155ИД1 совместно с газоразрядным индикатором, Однако применение таких индикаторов в радиолюбительской практике нежелательно из-за сравнительно высокого напряжения источника питания (200 В). Сейчас широкое распространение получили так называемые семи сегментные светодиодные и жидкокристаллические индикаторы, которые работают при тех же напряжениях, что и микросхемы. В них индикация осуществляется семью элементами, как показано на рисунке 5. Подавая управляющее напряжение на отдельные элементы индикатора и вызывая его свечение (светодиодные индикаторы) или изменяя его окраску (жидкокристаллические индикаторы), можно получить изображение десятичных цифр 0, 1. 9. О конкретных типах семисегментных индикаторов я расскажу дальше. Преобразование двоично-десятичного кода в код семисегментного индиктора показано в таблице. Цоколёвка некоторых микросхем – преобразователей кода 8421 в семисегментный показана на рисунок.
Рисунок 5
Не микросхемы серии К514 поступают входные сигналы уровней ТТЛ. Сигнал Г служит для гашения индикации напряжением низкого уровн. При нормальной работе уровень сигнала Г=1. Дешифратор на микросхеме К514 работает со светодиодными индикаторами, имеющими раздельные аноды, на К514ИД2 — с раздельными катодами. Дешифратор К514ИД2, подключают к индикаторам через токоограничительные резисторы (200-500 Ом) в первый имеет такие резисторы в своем корпусе.
Источник