Site Loader

Преобразование кодов

5

3.6. Шифраторы и дешифраторы

Есть разные коды. В двоичном коде проще производить вычисления, двоично-десятичный и семисегментный нужны для отображения индикаторами. Шестнадцатиразрядный код упрощает запоминание. И все они действуют, часто, в одном цифровом устройстве. И возникает потребность преобразовывать коды друг в друга.

Шифратор (кодер) — это устройство, представляющее собой преобразователь позиционного кода в двоичный. В позиционном коде число определяется позицией единицы в серии нулей, или позицией нуля в серии единиц. Например, если в серии десять нулей, имеется вот такой код 0001000000, то это эквивалентно числу 7 (счет ведется справа налево от нуля). Такой код служит для включения объектов или передачи данных на них. Для преобразования позиционного кода в двоичный код составим таблицу:

Позиционный код

Двоичный код

8

7

6

5

4

3

2

1

22

21

20

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

Для наглядности примера единицы, располагаются по диагонали. Если приглядимся к младшему разряду (2

0), то видно, что единице соответствуют единицы в позиционном коде, соответствующие числам 2, 4, 6, 8 (разрядам). Следовательно, эти разряды объединяются через схему ИЛИ. Аналогичные операции проходят над старшими разрядами. В результате получим вот такую схему:

Рис. 1 — Реализация шифратора на логических элементах

Позиция 1 «висит» в воздухе. В таблице ей соответствует код 000.

Дешифратор (декодер) — устройство, преобразующее двоичный код в позиционный (или иной). Другими словами, дешифратор осуществляет обратный перевод двоичных чисел. Опять посмотрим на первую таблицу. Единице в каком-либо разряде позиционного кода соответствует комбинация нулей и единиц в двоичном коде, а отсюда следует, что для преобразования необходимо иметь не только прямые значения переменных, но еще и инверсии. Посмотрим на схему:

Рис. 2 — Реализация дешифратора на логических элементах

На схеме показаны четыре логических элемента И, хотя их должно быть восемь. Три инвертора создают инверсии переменных. Линии, спускающиеся вниз, подводят сигналы прямого и инверсного кода к остальным четырем элементам И. Все их можно не рисовать. Если разрядов будет четыре, то элементы будут четырехвходовыми, понадобится четыре инвертора и 16 элементов И.

Семисегментный дешифратор

Семисегментный код необходим для отображения на цифровых индикаторах значений цифр от 0 до 9. Семисегментный, потому что цифры отображаются так называемыми сегментами, которых семь. Приведём таблицу соответствия между двоичным и семисегментным кодами.

Цифра

Двоичный код

Семисегментный код

8

4

2

1

a

b

c

d

e

f

g

0

0

0

0

0

1

1

1

1

1

1

0

1

0

0

0

1

0

1

1

0

0

0

0

2

0

0

1

0

1

1

0

1

1

0

1

3

0

0

1

1

1

1

1

1

0

0

1

4

0

1

0

0

0

1

1

0

0

1

1

5

0

1

0

1

1

0

1

1

0

1

1

6

0

1

1

0

1

0

1

1

1

1

1

7

0

1

1

1

1

1

1

0

0

0

0

8

1

0

0

0

1

1

1

1

1

1

1

9

1

0

0

1

1

1

1

1

0

1

1

Работу дешифратора семисегментного кода проиллюстрируем чуть упрощенной схемой таймера. Схема реальная, можно собрать.

Рис.3. Таймер

Все логические элементы схемы нам знакомы. На элементах DD1.1, DD1.2 (К561ЛА7) собран генератор тактовых импульсов. R1 и С1 задают частоту следования импульсов.

С выхода генератора импульсы поступают на счетчик, выполненный на DD2. Это реверсивный двоично-десятичный счетчик с предустановкой. Вход ±1 (вывод 10 СТ2) определяет направление счета, вход 2/10 (вывод 9 СТ2) — режим (двоичный или десятичный).

Вход V (вывод 1 СТ2) предназначен для разрешения записи в счетчик состояния информационных входов D0 — D3. Конкретно этому счетчику (561ИЕ14, 564ИЕ14) надо подать уровень лог. 1. R2 и C2 образуют дифференцирующую цепь. При включении питания короткий импульс на входе V, формируемый дифференцирующей цепью, разрешает запись в счетчик состояния входов D0 — D3 (3,4,12,13 выводы СТ2). Поскольку эти выводы соединены с общим проводом, в счетчик записывается 0000, т. е. он обнуляется.

Тактовый генератор генерирует импульсы, счетчик их считает и с его выходов 1-2-4-8 (2,6,11,14 выводы СТ2) результат счета поступает на вход дешифратора DD3 (514ИД1), выводы 1,2,6,7 DC. Это дешифратор двоичного кода в семисегментный. С выходов дешифратора сигналы (согласно второй таблице) поступают на входы семисегментного индикатора HL1, который последовательно включает свечение цифр от 0 до 9.

На выходе переноса p (вывод 7) счетчика DD2 при его переполнении формируется сигнал переноса. Если взять следующие узлы: DD2, DD3, HL1 и подключить снизу счетчика DD2, аналогично соединить соответствующие входы, кроме С, выход переноса (вывод 7) предыдущего счетчика соединить со входом С следующего, то получим многозначный индикатор.

После отсчета 10 импульсов первым счетчиком, второй переключится на 1. Через следующие 10 импульсов второй счетчик увеличится еще на 1 и так далее. По такому принципу деления частоты работают, например, часы. Единственное, что там коэффициент пересчета другой (не 10, а 6), так как в минуте 60 сек.

2.2. Двоичный дешифратор

Двоичный дешифратор [Deсoder] – это комбинационное цифровое устройство (КЦУ), относящееся к преобразователям кодов и преобразующее двоичный код в код “1 из N ” (унитарный десятичный код). Дешифратор позволяет распознать m-разрядное входное двоичное число путём получения логиче-ской единицы на одном из выходов.

Если значение на разрешающем входе EN равно 1, то в кодо-вой комбинации (таблице истинности) дешифратора только одна позиция будет занята единицей, а все остальные – нулями; если EN = 0, то все выходы будут нулевыми. На¬пример, двоичный де-шифратор 2-4, преобразующий двухразрядный (двухбитный) двоичный код в код “1 из 4”, содержащий 4 кодовые комбинации, будет иметь следующую таблицу истинности:

Таблица 4. Таблица истинности для двоичного дешифратора

Вход разрешения

EN

Входы

Десятичное значение

входного кода

Выходы

x1

x0

F0

F1

F2

F3

1

0

0

0

1

0

0

0

1

0

1

1

0

1

0

0

1

1

0

2

0

0

1

0

1

1

1

3

0

0

0

1

0

x

x

x

0

0

0

0

Примечание: x – любое значение

Из таблицы истинности видно, что двоичный дешифратор, в общем случае имеющий m входов, дол¬жен иметь N = 2m выходов, соответствую-щих числу разных комбинаций в m-разрядном двоичном коде. В зависимости от входного двоичного кода на выходе дешифратора возбужда¬ется одна и только одна из выходных цепей, номер которой равен десятичному эквиваленту входной двоичной комбинации, поэтому в определённом смысле дешифратор можно назвать преобразователем двоичного кода в десятичный.

Если у дешифратора используются все входные комбинации, то дешифратор называют полным. Если часть входных наборов не используется, то дешифратор называют не­полным, и у него число выходов будет меньше 2m.

Условное графическое обозначе­ние (УГО) полного двоичного дешифратора 4-16 показано на рисунке 4. В условном обозначении дешифраторов проставляются буквы DC (от англ. DeCoder). Информационные входы дешифратора принято обозначать их двоичными весами по степеням числа 2 (1, 2, 4, 8, …, 2m) или соответствующими степенями (0, 1, 2, 3, …, m). Кроме информационных входов дешифратор обычно имеет один или несколько входов разрешения работы, обозначаемых как EN (ENable – разрешить) или просто E.

Если входов разрешения несколько, то они нумеруются (например, EN1, EN2, …). Некоторые разрешающие входы могут быть инверсными (например, на рисунке 4 вход EN2 инверсный), тогда для разрешения работы на него надо подавать “0”. Итоговый сигнал разрешения работы образуется как конъюнкция сигналов отдельных входов. Например, для шифратора на рисунке 4 получим

.

Дополнительные входы дешифраторов (входы разрешения, входы стробирования) позволяют избежать ложных сигналов на выходах при изменяющихся наборах на входе.

Часто дешиф­ратор имеет инверсные выходы. В этом случае только один выход имеет ну­левое значение, а все остальные – единичное. При запрещении работы такого дешифратора на всех его выходах будет присутствовать логическая единица.

Функционирование дешифратора в общем случае с m входами описывается системой конъюнкций (рядом показаны выражения для шифратора, заданного таблицей 1):

двоичный декодер — Binary decoder

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

Есть несколько типов бинарных декодеров, но во всех случаях декодер представляет собой электронную схему с многими входами и несколькими выходными сигналами, который преобразует каждую уникальную комбинацию входных состояний к конкретной комбинации выходных состояний. В дополнение к целому числу входных данных, некоторые декодеры также имеют один или несколько «Включить» входы. Когда вход включения инвертируется (отключено), все выходы декодера заставляет их неактивные состояния.

В зависимости от его функции, двоичный декодер преобразует двоичные данные из п входных сигналов до целых 2 п уникальных выходных сигналов. Некоторые декодеры имеют менее 2 л выходных линий; в таких случаях, по меньшей мере , один выходной шаблон будет повторяться для различных входных значений.

Бинарный декодер обычно реализуются либо как автономные интегральная схема (IC) или как часть более сложной IC. В последнем случае декодер может быть синтезирован с помощью аппаратных средств языка описания , такие как VHDL или Verilog . Широко используются декодеры часто доступны в виде стандартных микросхем.

Типы декодеров

1-из-N декодера

А 2-к-4 линии декодер

А 1-из-N двоичным декодер имеет п выходных битов. Этот тип декодера утверждает ровно одну из своих п выходных бит, или ни один из них, для каждого входного значения целого числа. «Адрес» (номер бита) из активированного выхода задается значением целого числа входов. Например, выходной бит число 0 выбирается, когда целое значение 0 применяется ко входам.

Примеры этого типа декодера включают в себя:

  • 3-к-8 линии декодер активизирует один из восьми выходных битов для каждого входного значения от 0 до 7 — диапазон целочисленных значений , которые могут быть выражены в трех битах. Аналогичным образом , 4-к-16 линия декодер активирует один из 16 выходов для каждого 4-разрядного ввода в целочисленном диапазоне [0,15].
  • BCD в десятичный декодер имеет десять выходных битов. Он принимает входное значение , состоящее из двоично-десятичного целого значения и активирует один конкретный, единственный выход для каждого входного значения в диапазоне [0,9]. Все выходы удерживаются неактивными , когда значение недесятичного применяются ко входам.
  • Демультиплексора представляет собой бинарный декодер 1-из-N , который используется для маршрутизации битого данных к одному из своих выходов п а все остальные выходы остаются неактивными.

Код переводчик

Код переводчики отличаются от 1-из-N — декодеры в том , что несколько выходных битов могут быть активными одновременно. Пример этого является семисегментным декодером , который преобразует целое число в комбинацию управляющих сигналами сегментов , необходимых для отображения значения целого числа в на дисплей семисегментной цифре.

Один из вариантов декодера семисегментном является BCD до семи-сегмента декодер , который переводит в двоичном коде десятичное значение в соответствующие управляющие сигналы сегмента для ввода целых значений от 0 до 9. Эта функция декодера доступна в стандартных микросхем , таких как CMOS 4511 .

Смотрите также

Посмотрите декодер в Wiktionary, бесплатный словарь.
<img src=»https://en.wikipedia.org//en.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1×1″ alt=»» title=»»>

Шифраторы, дешифраторы и преобразователи кодов: схемы, принцип работы

рис. 3.35Логические устройства разделяют на два класса: комбинационные и последовательностные.

Устройство называют комбинационным, если его выходные сигналы в некоторый момент времени однозначно определяются входными сигналами, имеющими место в этот момент времени.

Иначе устройство называют последовательностным или конечным автоматом (цифровым автоматом, автоматом с памятью). В последовательностных устройствах обязательно имеются элементы памяти. Состояние этих элементов зависит от предыстории поступления входных сигналов. Выходные сигналы последовательностных устройств определяются не только сигналами, имеющимися на входах в данный момент времени, но и состоянием элементов памяти. Таким образом, реакция последовательностного устройства на определенные входные сигналы зависит от предыстории его работы.

Среди как комбинационных, так и последовательностных устройств выделяются типовые, наиболее широко используемые на практике.

Шифраторы

Шифратор — это комбинационное устройство, преобразующее десятичные числа в двоичную систему счисления, причем каждому входу может быть поставлено в соответствие десятичное число, а набор выходных логических сигналов соответствует определенному двоичному коду. Шифратор иногда называют «кодером» (от англ. coder) и используют, например, для перевода десятичных чисел, набранных на клавиатуре кнопочного пульта управления, в двоичные числа.

Если количество входов настолько велико, что в шифраторе используются все возможные комбинации сигналов на выходе, то такой шифратор называется полным, если не все, то неполным. Число входов и выходов в полном шифраторе связано соотношением n= 2m, где n— число входов, m— число выходов.

 Так, для преобразования кода кнопочного пульта в четырехразрядное двоичное число достаточно использовать лишь 10 входов, в то время как полное число возможных входов будет равно 16 (n = 24 = 16), поэтому шифратор 10×4 (из 10 в 4) будет неполным. 

Рассмотрим пример построения шифратора для преобразования десятиразрядного единичного кода (десятичных чисел от 0 до 9) в двоичный код. При этом предполагается, что сигнал, соответствующий логической единице, в каждый момент времени подается только на один вход. Условное обозначение такого шифратора и таблица соответствия кода приведены на рис. 3.35.

рис. 3.35
Используя данную таблицу соответствия, запишем логические выражения, включая в логическую сумму те входные переменные, которые соответствуют единице некоторой выходной пере­менной. Так, на выходе у1 будет логическая «1» тогда, когда логическая «1» будет или на входе Х1,или Х3, или Х5, или Х7, или X9, т. е. у1 = Х1+ Х3+ Х5+ Х7+X9

Аналогично получаем у2 = Х2 + Х3 + Х6 + X7 у3 = Х4 + Х5 + Х6 + Х7 у4 = Х8 + X9

Представим на рис. 3.36 схему такого шифратора, используя элементы ИЛИ.
рис. 3.36 На практике часто используют шифратор с приоритетом. В таких шифраторах код двоичного числа соответствует наивысшему номеру входа, на который подан сигнал «1», т. е. на приоритетный шифратор допускается подавать сигналы на несколько входов, а он выставляет на выходе код числа, соответствующего старшему входу.

Рассмотрим в качестве примера (рис. 3.37) шифратор с приоритетом (приоритетный шифратор) К555ИВЗ серии микросхем К555 (ТТЛШ).
рис. 3.37
Шифратор имеет 9 инверсных входов, обозначенных через PRl, …, PR9 . Аббревиатура PR обозначает «приоритет». Шифратор имеет четыре инверсных выхода Bl, …, B8 . Аббревиатура B означает «шина» (от англ. bus). Цифры определяют значение активного уровня (нуля) в соответствующем разряде двоичного числа. Например, B8 обозначает, что ноль на этом выходе соответствует числу 8. Очевидно, что это неполный шифратор.

Если на всех входах — логическая единица, то на всех выходах также логическая единица, что соответствует числу 0 в так называемом инверсном коде (1111). Если хотя бы на одном входе имеется логический ноль, то состояние выходных сигналов определяется наибольшим номером входа, на котором имеется логический ноль, и не зависит от сигналов на входах, имеющих меньший номер.

Например, если на входе PR1 — логический ноль, а на всех остальных входах — логическая единица, то на выходах имеются следующие сигналы: В1 − 0, В2 − 1, В4 − 1, В8 − 1, что соответствует числу 1 в инверсном коде (1110).

Если на входе PR9 логический ноль, то независимо от других входных сигналов на выходах имеются следующие сигналы: В1 − 0 , В2 − 1 , В4 − 1, В8 − 0, что соответствует числу 9 в инверсном коде (0110).

Основное назначение шифратора — преобразование номера источника сигнала в код (например, номера нажатой кнопки некоторой клавиатуры).


Дешифраторы

Называется комбинационное устройство, преобразующее n-разрядный двоичный код в логический сигнал, появляющийся на том выходе, десятичный номер которого соответствует двоичному коду. Число входов и выходов в так называемом полном дешифраторе связано соотношением m= 2n, где n- число входов, а m— число выходов. Если в работе дешифратора используется неполное число выходов, то такой дешифратор называется неполным. Так, например, дешифратор, имеющий 4 входа и 16 выходов, будет полным, а если бы выходов было только 10, то он являлся бы неполным.

Обратимся для примера к дешифратору К555ИД6 серии К555 (рис. 3.38).

рис. 3.38
Дешифратор имеет 4 прямых входа, обозначенных через А1, …, А8. Аббревиатура A обозначает «адрес» (от англ.address). Указанные входы называют адресными. Цифры определяют значения активного уровня (единицы) в соответствующем разряде двоичного числа. Дешифратор имеет 10 инверсных выходов Y0, …, Y9. Цифры определяют десятичное число, соответствующее заданному двоичному числу на входах. Очевидно, что этот дешифратор неполный.

Значение активного уровня (нуля) имеет тот выход, номер которого равен десятичному числу, определяемому двоичным числом на входе. Например, если на всех входах — логические нули, то на выходе Y0 — логический ноль, а на остальных выходах — логическая единица. Если на входе А2 — логическая единица, а на остальных входах — логический ноль, то на выходе Y2 — логический ноль, а на остальных выходах — логическая единица. Если на входе — двоичное число, превышающее 9 (например, на всех входах единицы, что соответствует двоичному числу 1111 и десятичному числу 15), то на всех выходах — логическая единица.

Дешифратор — одно из широко используемых логических устройств. Его применяют для построения различных комбинационных устройств.

Рассмотренные шифраторы и дешифраторы являются примерами простейших преобразователей кодов.

Преобразователи кодов

В общем случае, называют устройства, предназначенные для преобразования одного кода в другой, при этом часто они выполняют нестандартные преобразования кодов. Преобразователи кодов обозначают через X/Y.

Рассмотрим особенности реализации преобразователя на примере преобразователя трехэлементного кода в пятиэлементный. Допустим, что необходимо реализовать таблицу соответствия кодов, приведенную на рис. 3.39.

рис. 3.39
Здесь через N обозначено десятичное число, соответствующее входному двоичному коду. Преобразователи кодов часто создают по схеме дешифратор — шифратор. Дешифратор преобразует входной код в некоторое десятичное число, а затем шифратор формирует выходной код. Схема преобразователя, созданного по такому принципу, приведена на рис. 3.40, где использован матричный диодный шифратор. Принцип работы такого преобразователя довольно прост. Например, когда на всех входах дешифратора логический «О», то на его выходе 0 появляется логическая «1», что приводит к появлению «1» на выходах у4 и у5, т. е. реализуется первая строка таблицы соответствия кодов.
рис. 3.40
Промышленность выпускает большое число шифраторов, дешифраторов и преобразователей кодов, таких как дешифратор 4×16 со стробированием (К555ИДЗ), преобразователь кода для управления светодиодной матрицей 7×5 (К155ИД8), преобразователь кода для управления шкальным индикатором (К155ИД15) и др.

15.Циклические коды. Представление двоичного кода в виде полинома

Циклический код — линейный код, обладающий свойством цикличности, то есть каждая циклическая перестановка кодового слова также является кодовым словом. Используется для преобразования информации для защиты её от ошибок

Широкое распространение на практике получил класс линейных кодов, которые называются циклическими. Данное название происходит от основного свойства этих кодов:

если некоторая кодовая комбинация принадлежит циклическому коду, то комбинация полученная циклической перестановкой исходной комбинации (циклическим сдвигом), также принадлежит данному коду.

Вторым свойством всех разрешенных комбинаций циклических кодов является их делимость без остатка на некоторый выбранный полином, называемый производящим.

Синдромом ошибки в этих кодах является наличие остатка от деления принятой кодовой комбинации на производящий полином.

Эти свойства используются при построении кодов, кодирующих и декодирующих устройств, а также при обнаружении и исправлении ошибок.

Представление кодовой комбинации в виде многочлена.

Описание циклических кодов и их построение удобно проводить с помощью многочленов (или полиномов).

В теории циклических кодов кодовые комбинации обычно представляются в виде полинома. Так, n-элементную кодовую комбинацию можно описать полиномом (n-1) степени, в виде

.

где ={0,1}, причем= 0 соответствуют нулевым элементам комбинации, а= 1 — ненулевым.

Запишем полиномы для конкретных 4-элементных комбинаций

Структурная схема кодера циклического кода (9,5)

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

Рассмотрим работу этой схемы

1. На первом этапе К1– замкнут К2 – разомкнут. Идет одновременное заполнение регистров задержки и сдвига информ. элементами (старший вперед!) и через 4 такта старший разряд в ячейке №4

2. Во время пятого такта К2 – замыкается а К1 – размыкается с этого момента в ФПГ формируется остаток. Одновременно из РЗ на выход выталкивается задержание информационные разряды.

За 5 тактов (с 5 по 9 включительно) в линию уйдут все 5-информационных элемента. К этому времени в ФПГ сформируется остаток

3. К2 – размыкается, К1 – замыкается и в след за информационными в линию уйдут элементы проверочной группы.

4. Одновременно идет заполнение регистров новой комбинацией.

Второй вариант построения кодера ЦК.

Рассмотренный выше кодер очень наглядно отражает процесс деления двоичных чисел. Однако можно построить кодер содержащий меньшее число элементов т.е. более экономичный.

Устройство деления на производящий полином можно реализовать в следующем виде:

За пять тактов в ячейках будет сформирован такой же остаток от деления, что и в рассмотренном выше Формирователе проверочной группы. (ФПГ).

За эти же 5 тактов информационные разряды, выданные сразу на модулятор.

Далее в след за информационными уходят проверочные из ячеек устройств деления.

Но важно отключить обратную связь на момент вывода проверенных элементов, иначе они исказятся.

Окончательно структурная схема экономичного кодера выглядит так.

— На первом такте Кл.1 и Кл.3 замкнуты, информационные элементы проходят на выход кодера и одновременно формируются проверочные элементы.

— После того, как в линию уйдет пятый информационный элемент, в устройстве деления сформируются проверочные;

— на шестом такте ключи 1 и 3 размыкаются (разрываются обратная связь), а ключ 2 замыкается и в линию уходят проверочные разряды.

Ячейки при этом заполняются нулями и схема возвращается в исходное состояние.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *