
3. Лабораторная работа № 2
«Построение и исследование
шифраторов и дешифраторов»
Цель работы: создание шифратора и дешифратора на логических элементах. Работа с семисегментными индикаторами.
Задание № 1: разработать шифратор кода «1 из 4» в двоичный трёхразрядный код Грэя. Работа устройства описывается таблицей истинности:
-
D3
D2
D1
D0
Q2
Q1
Q0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
Порядок выполнения работы
1. Логические уравнения:
2. Запустить MAX+PLUS II.
3. Создать новый графический файл и сохранить его как c:\Student\AT\Coder.gdf. Сделать проект текущим Ctrl+Shift+J (см. раздел 1 лабораторной работы № 1).
4. Собрать схему согласно приведенным выше уравнениям.
5. Указать тип ПЛИС FLEX 8000 EPF8282ALC84-4 в меню Assign\Device.
6. Сохранить и откомпилировать проект Save & Compile (Ctrl+L).
7. Создать файл входных данных Coder.scf в редакторе временных диаграмм и провести симуляцию (см. раздел 2 лабораторной работы № 1). Сравнить результаты с исходной таблицей истинности.
8. В файле Coder.gdf поставить инверторы после входов D[i] и перед выходами Q[j].
9. Связать выводы схемы проекта с соответствующими выводами ПЛИС таким образом, чтобы входы задавались переключателями sw1–sw4 (в порядке отображения битов в двоичном числе), а результат показывали светодиоды led1–led3 (см. раздел 4 лабораторной работы № 1).
10. Сконфигурировать ПЛИС и проверить работу схемы на стенде.
11. Провести анализ временных диаграмм.
Задание № 2: разработать дешифратор, соответствующий описанному выше коду.
Порядок выполнения работы
1. Логические уравнения:
2. Создать новый графический файл Decoder.gdf. Сделать проект текущим Ctrl+Shift+J (см. раздел 1 лабораторной работы № 1).
3. Собрать схему дешифратора:
4. Определить тип ПЛИС. Сохранить и откомпилировать проект Save & Compile (Ctrl+L). Создать файл входных векторов Decoder.scf и провести симуляцию (см. раздел 2 лабораторной работы № 1).
5. Проинвертировать входы и выходы схемы в файле Decoder.gdf и проверить работу устройства на стенде, задавая входные комбинации с помощью кнопок key1–key3. Результат вывести на светодиоды led1–led4 (см. раздел 4 лабораторной работы № 1).
6. Провести анализ временных диаграмм.
Задание № 3: разработать дешифратор двоичного четырехразрядного кода в семисегментный.
Порядок выполнения работы
1. Создать новый графический файл Deshifr.gdf. Сделать проект текущим Ctrl+Shift+J (см. раздел 1 лабораторной работы № 1).
2. В меню Options\User Libraries.. подключить уже созданный модуль дешифратора (см. прил. 5), выбрав в проводнике папку Decoder7 и нажав Add. Если используется стенд с динамической индикацией (Stend 001), то необходимо подключить и модуль D_IND7 (см. прил. 6).
3. Вставить символ дешифратора decoder7 (ввести название в поле Symbol Name) и собрать схему, используя обозначения, приведенные на рисунке.
-
Стенд без динамической индикации (Labkit 8000) (см. прил. 3):
Назвать линию можно, выделив её мышкой – появится мигающий черный квадратик – символ ввода. В дальнейшем при выделении линии будет выделяться и прямоугольник с названием. Одинаково названные линии можно не соединять графически.
-
Стенд с динамической индикацией (см. прил. 4): вставить символ vcc («питание»), gnd («земля») и D_IND7: en1-en3 – разрешение работы соответствующего семисегментного индикатора, clk – вход для сигнала с генератора частоты 4 МГц (обозначен Osc на схеме стенда), a1-g1, a2-g2, a3-g3 – входы данных трех индикаторов, последовательно включающихся по синхроимпульсу clk.
4. Проинвертировать информационные входы и определить тип ПЛИС. Связать выводы схемы с выводами ПЛИС согласно таблице контактов, входные комбинации задавать с помощью переключателей sw1– –sw4. Откомпилировать проект и сконфигурировать ПЛИС. Проверить работу схемы (см. раздел 4 лабораторной работы № 1).
5. Провести анализ временных диаграмм.
Задания для самостоятельной работы
1. Разработать устройство, считающее число единичных битов в поданном на вход 3-разрядном числе. Входная комбинация задается кнопками key1–key3 и отображается на диодах led1–led3. Результат подсчета вывести на третий 7-сегментный индикатор в десятичном виде.
2. Разработать схему, выдающую сигнал Z = l при значении поступающего 4-разрядного операнда А = 0 и формирующая номер старшего (первого слева) единичного бита при А > 0. Операнд вводится переключателями Sw4–Sw1, вывод сигнала Z – на светодиод Led8, номер старшего единичного бита – на 3-й разряд 7-сегментного индикатора.
Контрольные вопросы
1. Записать следующие десятичные цифры в коде Грея:
а.1; б.2; в.3; г.4; д.5; е.6.
2. Код Грея принадлежит или нет к семейству двоично-десятичных кодов?
3. Какие из сегментов семисегментного индикатора будут светиться, когда на индикаторе появятся десятичные числа:
а.0; б.1; в.2; г.3; д.4; е.5; ж.6; з.7; и.8; к.9.
Содержание отчета
1. Задание для самостоятельной работы.
2. Функциональная схема исследованных шифратора и дешифратора.
3. Временные диаграммы.
4. Выводы.
Литература
1. Бродин В.Б., Калинин А.В. Системы на микроконтроллерах и БИС программируемой логики. – М.: Эком, 2002. С. 222.
2. Браммер Ю.А. Импульсные и цифровые устройства. – М.: Высш. шк., 1999. С. 260.
3. Нефедов В.И. Основы радиоэлектроники. – М.: Высш. шк., 2000. С. 273.
4. Токхейм Р. Основы цифровой электроники. – М.: Мир, 1988. С. 113.