Разработка контроллеров клавиатуры и индикации.
Системные требования: САПР Quartus II V9.0 и выше; лабораторный стенд DiLaB с подключенной платой Cyclone II.
Базовые знания: курс Схемотехника, выполнение работы по системной отладке.
Трудоемкость работы: 6 часов (2 часа С1 и 4 часа в лаборатории).
Цель работы:
- Ознакомление с принципами построения контроллеров клавиатуры, схемотехнический синтез и реализация заданного контроллера на СБИС ПЛ.
- Ознакомление с принципами построения контроллеров динамической индикации, схемотехнический синтез и реализация заданного контроллера на СБИС ПЛ.
- Разработка контроллеров клавиатуры и индикации в соответствии с заданием, ввод проекта в текстовом или графическом редакторах пакета Quartus II, верификация проекта, конфигурирование СБИС ПЛ и экспериментальная проверка работы контроллера при использовании лабораторной платы DiLab.
- Получение навыков создания и отладки цифровых устройств на примере разработки простейшего устройства ввода и отображения данных с использованием разработанных контроллеров.
Функциональная схема разрабатываемого простейшего устройства приведена на рис.1.
Рис.1.
Устройство состоит из следующих блоков:
- Контроллер клавиатуры kbd_Contr, который осуществляет прием и преобразование сигналов от клавиатуры лабораторного стенда DiLaB. Контроллер взаимодействует с клавиатурой через порты ROW[3..0] и COL[3..0] и на своих выходах формирует сигналы Data_Scan[3..0] – скан-код нажатой клавиши; Ready – сигнал готовности данных (клавиша нажата); CNT_EN – вспомогательный сигнал, единичный строб частотой порядка 800 Гц, формируемый в kbd_Contr и используемый в CDI;
- Сдвигающий регистр RG_Shift, который хранит коды последних четырех нажатых кнопок клавиатуры. Регистр хранит последовательно записываемые по фронту сигнала Ready четыре четырехразрядных слова. Регистр может устанавливаться в ноль подачей сигнала низкого уровня с кнопки CLR_n;
- Контроллер динамической индикации CDI, который обеспечивает отображение символов последних четырех нажатых кнопок клавиатуры на семисегментных индикаторах;
- Блок Check, который по команде MEM позволяет запомнить отображаемый на индикаторах код и по команде Compare сравнить его с текущим кодом на индикации. При совпадении кодов включаются точки (Point) на всех четырех семисегментных индикаторах.
Для создания устройства необходимо разработать и протестировать входящие в него блоки.
1. Контроллер клавиатуры kbd_Contr.
Разрабатываемый контроллер осуществляет прием и преобразование сигналов от клавиатуры, схема которой приведена на рис.2.
Рис. 1 Принципиальная схема клавиатуры.
Клавиатура состоит из шестнадцати кнопок, расположенных в узлах матрицы 4х4. При замыкании кнопки образуется связь между проводниками строки (ROW) и колонки (COLUMN), на пересечении которых расположена кнопка. Строки и колонки через подтягивающие резисторы R1..R8 подключены к GND, обеспечивающему низкий уровни сигнала на неподключенных проводниках.
Контроллер производит сканирование клавиатуры, разделяя во времени опрос кнопок, и фиксирует код нажатой кнопки. Зафиксированный четырехразрядный код преобразуется в код семисегментный код, необходимый для отображения символа нажатой кнопки на семисегментном индикаторе. В лабораторной установке DiLaB линии ROW[3..0] подключены к выводам СБИС ПЛ, которые могут быть только входами. Это обуславливает варианты сканирования, когда мультиплексор подключен к строкам.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.