Преобразователи кодов
Преобразователь кода – это комбинационное устройство, которое предназначено для изменения вида кодирования информации.
Наиболее распространенными преобразователями кода являются:
- Дешифратор - устройство, которое преобразует двоичный код в унарный. Из всех выходов дешифратора активный уровень только на одном, на том, номер которого равен поданному на вход двоичному числу. На всех остальных выходах дешифратора напряжения неактивны. Как правило у дешифратора инверсные выходы.
- Шифратор. Шифраторы выполняют функцию обратную функции дешифратора. У классического шифратора при подаче сигнала на один из входов (только на один) на выходе появляется двоичный код номера возбужденного входа.
- Преобразователь произвольных кодов.
Преобразователи кода делятся на два типа:
- Преобразователи с невесомым преобразованием, примером которого является преобразователь двоично-десятичного кода в код семисегментного индикатора десятичных чисел.
- Преобразователи с весомым преобразованием, примером которого является преобразователи, использующиеся для преобразования числовой информации - транслятор кода.
Синтез схемы преобразователя кодов
Рассмотрим синтез схемы преобразователя кодов на примере реализации преобразователя для семисегментных индикаторов. Допустим, что семисегментные индикаторы выполнены с общим катодом, то есть сегменты высвечиваются в случае подачи на них уровня логической единицы. Представим преобразователь кода в виде дешифратора с семью выходами. Схема соединений выводов преобразователя к сегментам изображена на рисунке ниже.
Рисунок 1. Схема соединений выводов преобразователя к сегментам. Автор24 — интернет-биржа студенческих работ
Составим таблицу состояния преобразователя, как показано на рисунке ниже.
Рисунок 2.
Таблица состояния заполняется построчно, то есть для каждого набора переменных определяются значения функции в соответствии с символом, который высвечивается на индикаторе. Например, в нулевой строке набор переменных соответствует цифре ноль, при котором высвечиваются сегменты a, b, c, d, e, f. Таким образом на данные сегменты подается уровень логической единицы, а уровень логического нуля подается на сегмент g.
Карта Карно – это графический способ представления булевых функций с целью их наглядной и удобной ручной минимизации, являющийся эквивалентным способом описания или задания логических функций наряду с таблицей истинности, а также выражениями булевой алгебры (преобразование карты Карно в таблицу истинности или в булеву форму осуществляется элементарным алгоритмом).
Допустим, что обозначения функций соответствуют именам сегментов. Для того, чтобы зажечь цифру 1 необходимо подать уровни логической единицы на сегменты b, c и т. д. Преобразователь используется для индикации цифр десятичной системы счисления, то есть значения функций для наборов переменных, начиная с 10, индикатору безразличны. После заполнения таблицы состояния составляют аналитические выражения для каждой функции и строят карты Карно, которые предназначены для минимизации данных функций. Карты Карно могут заполняться без записи аналитических выражений для каждой функции, что способствует сокращению количества действий разработчика во время синтеза устройства. Без минимизации функции преобразователя получились бы громоздкими, потому что каждая содержала бы девять минтермов, состоящих из четырех переменных. Порядок составления карты Карно и получения минимальных функций роли не играют. Составленная карта Карно и минимизированная функция а показаны на рисунке ниже.
Рисунок 3. Карта Карно и минимизированная функция. Автор24 — интернет-биржа студенческих работ
Карта Карно для функции b представлена на рисунке ниже. В ней содержится три контура, поэтому минимальная функция будет содержать всего три простых конъюнкции.
Рисунок 4. Карта Карно для функции b. Автор24 — интернет-биржа студенческих работ
Карта Карно для функции с изображена на рисунке ниже. В ней содержатся четыре контура, поэтому в функции также будут содержаться четыре минтерма.
Рисунок 5. Карта Карно для функции с. Автор24 — интернет-биржа студенческих работ
Аналогично строятся карты Карно и записываются минимальные значения для остальных функций. Затем осуществляется выбор требуемого базиса логических элементов и составляется принципиальная схема. Некоторые фрагменты отдельных функций могут использоваться для реализации общих для них операций. В общем случае, принципиальная схема преобразователя кодов может быть построена на базе элементов И – ИЛИ - НЕ.