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

Рис.5.

Сдвигаемые четырехразрядные коды принимаются с входа Data_IN[3..0]. Сдвиг осуществляется при переключении сигнала Ready из состояния 0 в состояние 1. Для формирования сигнала разрешения сдвига Ena  используется стандартная схема на D-триггере и логическом элементе «2И». Данные, загруженные в регистр, выдаются на выходы Data[4..1][3..0].  В регистре предусмотрен вход асинхронного сброса CLR_n с низким активным уровнем.

Структура блока Check реализуется в работе самостоятельно.

Для реализации разрабатываемых блоков и устройства в целом на лабораторном стенде DiLaB выполнены заготовка проекта и проектного файла верхнего уровня kbd.bdf для которых выполнены все проектные установки (выбрана СБИС ПЛ, заданы установки синтеза и разводки, задано назначение выводов).

Программа работы

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

1.1.  Откройте проект kbd и файл верхнего уровня проекта kbd.bdf. Используя для реализации стандартных операционных узлов мастер настроек и компоненты библиотеки megafunctions, синтезируйте и выполните ввод схемы контроллера клавиатуры, реализованного по структуре рис.3. Неиспользуемые выводы управления индикаторами оставьте неподключенными.

1.2.  Выполните компиляцию проекта. Определите аппаратные и временные характеристики разработанного устройства.

1.3.  Проведите исследование синтезированного устройства на модели. Откройте редактор временных диаграмм и создайте тест для моделирования работы контроллера клавиатуры, продумав имитацию замыкания контактов клавиатуры.

1.4.  Сохраните файл kbd.bdf под именем kbd_Contr.bdf и создайте его символ. Очистите от символов операционных узлов kbd.bdf и введите символkbd_Contr.bsf.

1.5.  Разработайте преобразователь четырехразрядного скан-кода в семисегментный. Для изображения нецифровых символов клавиатуры используйте выбранные вами сочетания сегментов семисегментного индикатора и заданный способ перекодировки (Комбинационное устройство или ПЗУ. Формат файла инициализации ПЗУ приведен в Приложении 2).

1.6.  Сохраните разработанный файл под именем 7segment.xxx. Создайте символ этого файла и разместите его в kbd.bdf, как показано на рис.6.

Рис.6.

1.7.  Выполните компиляцию и загрузите проект в СБИС ПЛ лабораторного стенда. Используя известные средства системной отладки проекта, добейтесь его работоспособности. Продемонстрируйте работу контроллера клавиатуры и преобразователя в код управления семисегментным индикатором.

2.  Разработка контроллера динамической индикации CDI.

2.1.  Откройте новый графический файл и сохраните его под именем CDI.bdf. Введите схему контроллера динамической индикации в соответствии со схемой рис.4.

2.2.  Установите файл CDI.bdf как проектный файл верхнего уровня. Выполните компиляцию и отладку контроллера динамической индикации на модели.

2.3.  Создайте символ CDI.bsf. Вернитесь к проекту верхнего уровня kbd.bdf и модифицируйте схему в соответствии с рис.7. Для этого введите и настройте, как показано на рис.7, блок ISSPE. Рис.7.

2.4.  Выполните компиляцию проекта, запрограммируйте СБИС ПЛ и проверьте работу контроллера динамической индикации на лабораторном стенде DiLaB, подавая данные на индикацию от ISSPE и наблюдая состояние индикаторов Digit4..Digit1. Продемонстрируйте результат работы контроллера индикации.