Рис.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. Продемонстрируйте результат работы контроллера индикации.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.