Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦС Комбинационные схемы.pdf
Скачиваний:
284
Добавлен:
30.03.2015
Размер:
2.7 Mб
Скачать

Комбинационные схемы

4. КОМБИНАЦИОННЫЕ СХЕМЫ

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

4.1.1. Синтез преобразователей кодов

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

Всистемах передачи информации для упрощения выявления и исправления ошибок используются коды Грея, Джонсона, Хэмминга и т.п. В коде Грея каждый следующий код отличается от предыдущего только в одном разряде. Можно написать различные варианты такого кода, но наиболее часто используется код Грея, приведенный в таблице 4.1. Здесь йцук – двоичный код, а шщзх – код Грея. Коды

Джонсона и Хэмминга – избыточные коды, например в 4-х разрядном коде Джонсона всего 8 вариантов. Пример приведен в следующей главе в таблице 4.10.

Табл. 4.1

N

й

ц

у

к

ш

щ

з

х

 

 

 

 

 

 

 

 

 

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

1

 

 

 

 

 

 

 

 

 

3

0

0

1

1

0

0

1

0

 

 

 

 

 

 

 

 

 

4

0

1

0

0

0

1

1

0

 

 

 

 

 

 

 

 

 

5

0

1

0

1

0

1

1

1

 

 

 

 

 

 

 

 

 

6

0

1

1

0

0

1

0

1

 

 

 

 

 

 

 

 

 

7

0

1

1

1

0

1

0

0

 

 

 

 

 

 

 

 

 

8

1

0

0

0

1

1

0

0

 

 

 

 

 

 

 

 

 

9

1

0

0

1

1

1

0

1

 

 

 

 

 

 

 

 

 

10

1

0

1

0

1

1

1

1

 

 

 

 

 

 

 

 

 

11

1

0

1

1

1

1

1

0

 

 

 

 

 

 

 

 

 

12

1

1

0

0

1

0

1

0

 

 

 

 

 

 

 

 

 

13

1

1

0

1

1

0

1

1

 

 

 

 

 

 

 

 

 

14

1

1

1

0

1

0

0

1

 

 

 

 

 

 

 

 

 

15

1

1

1

1

1

0

0

0

 

 

 

 

 

 

 

 

 

Для синтеза преобразователя кода необходимо составить таблицу истинности и провести совместную минимизацию. Для примера рассчитаем схему преобразователя двоичного 4-х разрядного кода в код Грея. Построим карты Карно для функций щзх (рис. 4.1).

65

Цифровая схемотехника

йц

 

 

йц

 

 

ук 00

01 11

10

ук

00

01

11 10

00

1

1

00

 

1

1

01

1

1

01

 

1

1

11

1

1

11

1

 

1

10

1

1

10

1

 

1

 

йц

 

 

 

 

 

щ

 

 

 

 

з

ук

00

01

11

10

 

 

 

 

 

00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

01

1

1

1

1

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

1

1

1

1

 

 

 

 

 

 

 

 

 

 

х

Рис. 4.1

Функция ш просто повторяет й, поэтому для нее строить карту не надо. Строим прямоугольники накрытия и получаем:

шъй

(4.1)

щъфцмйы

зъцвмыу

зхъвкмуа

Схему можно построить на элементах И-НЕ, но если выбрать другой базис, вспомнив свойства операции исключающее ИЛИ (4.2), то количество элементов можно значительно уменьшить:

шъй

(4.3)

щъфцмйыъйэц

зъцвмыуъцэу

зхъвкмуаъуэк

Окончательно получаем схему преобразователя двоичного кода в код Грея (рис. 4.2).

Аналогично можно построить преобразователь кода Грея в двоичный код, преобразователи двоичного кода – в код Джонсона или Хэмминга.

66

Комбинационные схемы

Х1

f1

 

 

=

Х2

f2

 

 

=

Х3

f3

 

 

=

Х4

f4

 

Рис. 4.2

Если в цифровом устройстве используются десятичные индикаторы, то и информацию необходимо преобразовать в двоичнодесятичный код. Пример преобразования 4-х разрядного двоичного кода в 5-ти разрядный двоично-десятичный код приведен в таблице 4.2. Здесь ш – выход старшего десятичного разряда, а щзхг5 – выходы двоично-десятичного кода младшего десятичного разряда. Для индикации этого младшего разряда данные четыре сигнала подаются на индикатор младшего разряда. Схема преобразователя достаточно просто рассчитывается с помощью карт Карно.

Табл. 4.2

N й ц у к ш щ з х г5

0

0

0

0

0

0

0

0

0

0

 

 

 

 

 

 

 

 

 

 

1

0

0

0

1

0

0

0

0

1

 

 

 

 

 

 

 

 

 

 

2

0

0

1

0

0

0

0

1

0

 

 

 

 

 

 

 

 

 

 

3

0

0

1

1

0

0

0

1

1

 

 

 

 

 

 

 

 

 

 

4

0

1

0

0

0

0

1

0

0

 

 

 

 

 

 

 

 

 

 

5

0

1

0

1

0

0

1

0

1

 

 

 

 

 

 

 

 

 

 

6

0

1

1

0

0

0

1

1

0

 

 

 

 

 

 

 

 

 

 

7

0

1

1

1

0

0

1

1

1

 

 

 

 

 

 

 

 

 

 

8

1

0

0

0

0

1

0

0

0

 

 

 

 

 

 

 

 

 

 

9

1

0

0

1

0

1

0

0

1

 

 

 

 

 

 

 

 

 

 

10

1

0

1

0

1

0

0

0

0

 

 

 

 

 

 

 

 

 

 

11

1

0

1

1

1

0

0

0

1

 

 

 

 

 

 

 

 

 

 

12

1

1

0

0

1

0

0

1

0

 

 

 

 

 

 

 

 

 

 

13

1

1

0

1

1

0

0

1

1

 

 

 

 

 

 

 

 

 

 

14

1

1

1

0

1

0

1

0

0

 

 

 

 

 

 

 

 

 

 

15

1

1

1

1

1

0

1

0

1

 

 

 

 

 

 

 

 

 

 

В схемотехнике используются и готовые преобразователи кодов, например, микросхема 155ПР7 – преобразователь 6-ти разрядного

67

Цифровая схемотехника

двоичного кода в двоично-десятичный.

Обычно двоично-десятичные коды имеют стандартную кодировку – 8421, где цифры означают вес соответствующего двоичного разряда числа. Но иногда удобнее использовать устройства, например счетчики, которые считают в других кодировках [9], Для преобразования кодировок также необходимо построить таблицу истинности и рассчитать соответствующую схему. Пример для кодировки 5421 приведен в таблице 4.3. Здесь шесть последних наборов – запрещенные.

Табл. 4.3

N

й

ц

у

к

ш

щ

з

х

 

 

 

 

 

 

 

 

 

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

0

1

0

1

1

0

0

0

 

 

 

 

 

 

 

 

 

6

0

1

1

0

1

0

0

1

 

 

 

 

 

 

 

 

 

7

0

1

1

1

1

0

1

0

 

 

 

 

 

 

 

 

 

8

1

0

0

0

1

0

1

1

 

 

 

 

 

 

 

 

 

9

1

0

0

1

1

1

0

0

 

 

 

 

 

 

 

 

 

10

1

0

1

0

*

*

*

*

 

 

 

 

 

 

 

 

 

11

1

0

1

1

*

*

*

*

 

 

 

 

 

 

 

 

 

12

1

1

0

0

*

*

*

*

 

 

 

 

 

 

 

 

 

13

1

1

0

1

*

*

*

*

 

 

 

 

 

 

 

 

 

14

1

1

1

0

*

*

*

*

 

 

 

 

 

 

 

 

 

15

1

1

1

1

*

*

*

*

 

 

 

 

 

 

 

 

 

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

4.1.2. Схемы управления 7-сегментными индикаторами

Если в схеме используются 7-сегментные индикаторы, то для правильной индикации символов необходимо рассчитать (или использовать готовый) преобразователь двоичного кода (в той кодировке, которая будет использоваться на данном участке схемы) в код 7- сегментного индикатора. Такой преобразователь кодов называется дешифратор для 7-сегментного индикатора (рис.4.3а).

Входы индикатора, зажигающие сегменты, обычно обозначают буквами a, b, c, d, e, f, g. Для расчета схемы необходимо составить таблицу истинности для семи функций от четырех аргументов, которые и будут управлять этими сегментами, затем провести совместную минимизацию и построить схему.

68

Комбинационные схемы

Пример таблицы истинности для дешифратора, позволяющего отображать на индикаторе цифры от 0 до 9 (рис. 4.3б), приведен в табл. 4.4.

 

DC

a

 

 

a

x4

1

b

 

 

 

x3

2

c

f

 

b

x2

 

 

 

 

4

d

 

 

 

x1

 

 

 

 

8

e

 

g

c

 

 

 

 

f

 

 

 

 

e

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

d

 

 

дешифратор для

7-сегментный индикатор

7-сегментного индикатора

 

 

 

а)

б) Рис. 4.3

Табл. 4.4

N й ц у к 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

 

 

 

 

 

 

 

 

 

 

 

 

10

1

0

1

0

*

*

*

*

*

*

*

 

 

 

 

 

 

 

 

 

 

 

 

11

1

0

1

1

*

*

*

*

*

*

*

 

 

 

 

 

 

 

 

 

 

 

 

12

1

1

0

0

*

*

*

*

*

*

*

 

 

 

 

 

 

 

 

 

 

 

 

13

1

1

0

1

*

*

*

*

*

*

*

 

 

 

 

 

 

 

 

 

 

 

 

14

1

1

1

0

*

*

*

*

*

*

*

 

 

 

 

 

 

 

 

 

 

 

 

15

1

1

1

1

*

*

*

*

*

*

*

 

 

 

 

 

 

 

 

 

 

 

 

69