Разработка контроллеров клавиатуры и динамической индикации. Вариант № 2

Страницы работы

9 страниц (Word-файл)

Содержание работы

Разработка контроллеров клавиатуры и индикации.

Системные требования: САПР 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] подключены к выводам СБИС ПЛ, которые могут быть только входами. Это обуславливает варианты сканирования, когда мультиплексор подключен к строкам.

Похожие материалы

Информация о работе