5 Семестр / ЭИС3 2 лаб
.pdfформате. Данное значение было получено следующим образом: так как частота работы макета равна 50 МГц следует что период работы равен 20 нс, согласно варианту необходимо реализовать задержу в 0,2 секунды. Задержка реализована с помощью двоичного суммирующего счетчика с коэффициентом пересчета равным частному 0,2 секунд и 20 нс, равному 10000000. Переведя данное число в двоичную систему, получим значение
1001_1000_1001_0110_1000_0000, а также получим размерность равную 24 разряда.
Встрочках 22-26 описана организация асинхронного сброса значения светодиодов.
Встрочке 28 описано условие совпадения входных значений семисегментных индикаторов с заданными, согласно варианту №17.
Встрочках 30-32 описано условие достижении светодиодами окончательной комбинации и последующих ее сброс.
Встрочках 34-35 описана смена комбинаций светодиодов и сброс значения суммирующего счетчика ответственного за задержку.
Встрочке 38 описана организация смены значений суммирующего счетчика ответственного за задержку.
Встрочке 43 описан вывод значений светодиодов на плату.
11
5 ФУНКЦИОНАЛЬНАЯ СХЕМА МОДУЛЯ СЕМИСЕГМЕНТНЫХ
ИНДИКАТОРОВ
Функциональная схема модуля ответственного за семисегментные индикаторы представлен на рисунке 5.1.
Рисунок 5.1 – Функциональная схема модуля семисегментных индикаторов
Зеленым блоком под цифрой 1 отмечены входы. На CLK поступают сигналы с периодом 20 нс (тактирующий сигнал с частотой 50 МГц). Вход blink отвечает за остановку смены значений семисегментных индикаторов.
Входы hex ответственны получаемые значения из гироскопа.
Черным блоком под цифрой 2 показаны выходы комбинации значений совокупности одного семисегментного индикатора.
Фиолетовым блоком под цифрой 3 отмечены элементы, отвечающие за организацию задержки.
Оранжевым блоков под цифрой 4 отмечена организация отображения значений семисегментных индикаторов от поступающих из гироскопа значений.
12
6 КОД НА HDL ДЛЯ МОДУЛЯ СЕМИСЕГМЕНТНЫХ ИНДИКАТОРОВ
Далее был составлен код описания схемы на HDL, представленный на
рисунке 6.1.
Рисунок 6.1 – Код для модуля семисегментных индикаторов
С2 по 4 строчку описаны входы hex, blink, CLK, а также выход symbol.
С6 по 7 строчки описаны используемые сигналы delay, symbol_wire, symbol_tmp.
На строчках 11-31 описан автомат, присваивающий значения совокупности семисегментного индикатора на основе поступивших значений из гироскопа
В строчках 34-45 описана организация задержки и вывода символа значений семисегментных индикаторов.
13
7 ФОТОГРАФИИ РАБОТЫ МАКЕТА
Далее были сделаны фотографии рабочего макета, представленные на рисунках 7.1 – 7.5.
На рисунке 7.1 представлено начало работы прошивки гироскопа на плате.
Рисунок 7.1 – Начало работы гироскопа
На рисунках 7.2 – 7.3 представлена работа прошивки гироскопа на плате при соответствии значений семисегментных индикаторов согласно условию варианту №17.
Рисунок 7.2 – Комбинация светодиодов в середине работы
14
Рисунок 7.3 – Комбинация светодиодов близкая к финальной комбинации
На рисунках 7.4 – 7.6 представлена работы прошивки при несоответствии значений семисегментных индикаторов согласно условию варианту №17.
Рисунок 7.4 – Отсутствие значения «6» на HEX3
15
Рисунок 7.5 – Отсутствие значения «А» на HEX1
Рисунок 7.6 – Отсутствие значений «6» и «А» на HEX3 и HEX1 соответственно
На рисунке 7.7 представлена работы кнопки сброса значений светодиодов на рабочем макете.
16
Рисунок 7.7 – Работа кнопки сброса
17
Заключение
Врезультате выполнения данной работы были освоены принципы работы с микросхемой гироскопа ADXL345 на плате DE10-Lite с помощью САПР Quartus Prime Lite, а также, согласно варианту №17, было разработано устройство на HDL (VHDL), которое выводит комбинацию значений светодиодов при соответствии значений семисегментных индикаторов заданным в варианте №17.
Были сформированы функциональные схемы в RTL-Viewer для верхнего уровня и модулей программы, а также составлены их описания.
Вмакет была загружена прошивка и проверена его работа, после чего были сделаны фотографии работы макета.
18
