Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Sb97585

.pdf
Скачиваний:
7
Добавлен:
13.02.2021
Размер:
863.34 Кб
Скачать

5. Напишите отчет по лабораторной работе, включающий:

постановку задачи на лабораторную работу;

листинг основного модуля и его тестбенча с комментариями, а также подробное описание созданного кода;

иллюстрация: последовательность данных (вейвформ). Фон рисунка белый, линии и надписи черные.

Варианты заданий

1.Бегущий огонь. По линейке светодиодов непрерывно бежит в одну сторону светящаяся точка. Длину линейки задает двоичное слово, введенное на трех младших позициях дип-переключателя. Например, код 101 означает, что в линейке 5 светодиодов. Кнопка 0 сбрасывает систему в начальное состояние.

2.Группа бегущих огней. По линейке из восьми светодиодов бежит конфигурация из четырех горящих светодиодов, заданная с дип-переключателя. Например, код 1101 означает, что по ленте бегут три световые точки, две из которых располагаются рядом друг с другом, а одна отделена от них пустой позицией. Кнопка 0 сбрасывает систему в начальное состояние.

3.Гирлянда. Работает в режимах «бегущий огонь» (линейка из восьми светодиодов) и мигание (все восемь светодиодов мигают). Кнопка 0 сбрасывает систему в начальное состояние. Дип-переключатель задает максимальное число циклов, которое может быть произведено в одном режиме, после чего он автоматически переключается. Например, число 0010 определяет, что бегущий огонь совершает две итерации, после чего все восемь светодиодов два раза мигают с последующим повторением цикла программы. Кнопка 1 переключает режимы вручную.

4.Бегущий огонь с накоплением. По линейке светодиодов бежит светящаяся точка, доходя до последнего светодиода ленты и оставаясь в конце последней в горящем состоянии. При этом из начала ленты бежит новая точка. Так происходит до тех пор, пока лента не заполняется, после чего все огни сбрасываются и счет начинается сначала. Кнопка 0 сбрасывает систему в начальное состояние.

5.Счетчик числа нажатий на кнопку. По нажатию кнопки 1 загорается очередной светодиод в линейке. Кнопка 0 сбрасывает систему в исходное состояние. Максимальное число светодиодов задается дип-переключателем. Опционально: когда максимальное число светодиодов активно, нажатие на кнопку 1 вызывает кратковременное погасание всей линейки светодиодов на 0,2 сек.

21

6.Мигающая линейка. Линейка из светодиодов, длина которой задается тремя младшими битами дип-переключателя, мигающая с частотой в несколько Гц. Нажатие на кнопку 0 сбрасывает систему в исходное состояние.

7.Бегущий огонь с пропусками. При коде 0 в младшем бите дип-

переключателя поочередно активируются четные светодиоды в линейке, а при коде 1 нечетные. Кнопка 0 сбрасывает систему в исходное состояние.

8.Бегущие огни с пересечением. Светящиеся точки бегут с двух концов линейки навстречу друг другу, пересекаются и бегут до противоположного конца. Длину линейки задает двоичное слово, введенное на трех младших позициях дип-переключателя. Например, код 101 означает, что в линейке пять светодиодов. Кнопка 0 сбрасывает систему в начальное состояние.

9.Бегущие от центра огни. Светящиеся точки бегут из центра линейки в противоположные стороны. Длину линейки задает двоичное слово, введенное на двух младших позициях дип-переключателя: 00 – длина линейки с четвертого по пятый светодиод, 01 – с третьего по шестой, 10 – с второго по седьмой, 11 – с первого по восьмой светодиоды. Например, код 101 означает, что в линейке пять светодиодов. Кнопка 0 сбрасывает систему в начальное состояние.

10.Убегающий огонь. Нажатие на кнопку 1 вызывает однократный пробег светящейся точки. Длина линейки задается дип-переключателем. Кнопка 0 сбрасывает систему в исходное состояние.

11.Змейка. По линейке светодиодов бежит «змейка» из светящихся точек. Как только последний светодиод гаснет, «змейка» бежит из начала линейки. Длина «змейки» задается тремя младшими битами дип-переключа- теля. Кнопка 0 сбрасывает систему в исходное состояние.

12.Разноскоростной бегущий огонь. Скорость перемещения бегущей точки задается двумя младшими битами дип-переключателя. При коде 00 точка движется в 4 раза медленнее, чем при коде 11.

Лабораторная работа 7. ПЛАТФОРМА ПЛИС: ТЕКСТОВОЕ И ГРАФИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

Цель работы – знакомство со средой Quartus и особенностями использования графических оболочек при разработке на ПЛИС.

Среда Quartus предлагается фирмой Altera для программирования ПЛИС данного производителя и обладает широким функционалом.

22

Порядок выполнения работы

1. Создайте проект в Quartus и в нем новый файл *.bdf (блок-диаграмма); Выберите пункт меню File →New Project Wizard. Откроется окно Intro-

duction. Нажмите на кнопку Next.

Впервом поле следующего окна определите папку, в которой будет сохранен новый проект. Новая папка проекта не создается автоматически, поэтому необходимо создать ее предварительно. Во втором поле введите имя проекта. Третье поле содержит имя модуля верхнего уровня иерархии; как правило, оно совпадает с именем проекта.

После нажатия на кнопку Next выбрать пункт Empty project. В окне

Family & Device Settings необходимо в поле Family выбрать Cyclone IV, а в поле Available Devices выбрать EP4CE22F17C6N. Нажать кнопку Next.

Вокне EDA Tool Setting необходимо изменить значение поля Simulation со значения VHDL на Verilog HDL. Нажать на кнопку Next и проверить данные проекта. Если данные верны, нажать кнопку Finish.

2. Разработанный в ЛР 6 модуль превратите в графический символ. Для создания графического файла выберите пункт меню File → New → Block Dia-

gram/Schematic File.

Чтобы разместить на BDF-диаграмме компоненты, необходимо щелкнуть правой кнопкой мыши по рабочему полю и выбрать пункт Insert → Symbol…

3.В качестве блока тактирования на блок-диаграмме разместите модуль

ALT_PLL;

4.Соедините модули, подключите их проводниками к пинам ввода–вы- вода, скомпилируйте проект и загрузите его на отладочную плату.

5.Составьте отчет по лабораторной работе.

Содержание отчета:

текст задания, приведенный к техническому стилю изложения;

иллюстрация: графический код из файла *.bdf;

иллюстрация: одна или несколько фотографий платы DE0-Nano, показывающих, что разработанный вами код работает корректно.

Варианты заданий заимствуются из предыдущей лабораторной работы.

23

Лабораторная работа 8. ПЛАТФОРМА ПЛИС: ВВОД–ВЫВОД ЦИФРОВЫХ И АНАЛОГОВЫХ СИГНАЛОВ

Цель работы – знакомство с работой цифровых интерфейсов платформы ПЛИС. Получение навыков ввода–вывода аналоговых данных.

В качестве аппаратной платформы для настоящего курса лабораторных работ была выбрана отладочная плата DE0-Nano фирмы Terasic.

Плата DE0-Nano обеспечивает компактную платформу для разработки FPGA-проектов, предназначенную для широкого спектра встраиваемых приложений, таких как управление роботами или подвижными объектами.

Порядок выполнения работы

1.Разместите на блок-диаграмме проекта Quartus модули управления АЦП и ЦАП согласно варианту задания;

2.Создайте дополнительный модуль обработки данных, при необходимости промоделируйте его работу в Modelsim;

3.Залейте созданный код на плату DE0-Nano, убедитесь в его работоспособности.

4.Напишите отчет по лабораторной работе.

Содержание отчета:

текст задания, приведенный к техническому стилю изложения;

иллюстрация: графический код блок-диаграммы;

листинг всех дополнительно написанных модулей, при наличии – вейвформы;

4.Иллюстрация: одна или несколько фотографий платы DE0-Nano, показывающих, что созданный вами код работает.

Для реализации изменяющегося уровня напряжения можно использовать внешний генератор сигналов с цифровым управлением (ВНИМАНИЕ: входное напряжение АЦП не должно превышать 3,3 В!) либо потенциометр, реализующий делитель напряжения, а для анализа генерируемого сигнала – внешний осциллограф.

Варианты заданий

1. Дискретный индикатор напряжения. Входное напряжение с АЦП де-

лится на восемь уровней, каждому из которых соответствует определенное число горящих светодиодов. Например, при входном напряжении 1,65 В должны гореть четыре светодиода, а при напряжении 3,3 В – все восемь светодиодов.

24

2.Аналоговый индикатор напряжения. Яркость свечения светодиодной ленты зависит от входного напряжения. Яркость задается с помощью широт- но-импульсной модуляции, где ширина импульса соответствует уровню считанного напряжения.

3.Компаратор с индикацией. Напряжение в диапазоне от 0 В до 3,3 В делится на 16 уровней, уровень детектируемого напряжения устанавливается

спомощью дип-переключателя. Когда входное напряжение превысит заданный уровень, линейка светодиодов загорается. Например, при коде 0111 светодиоды будут срабатывать при превышении напряжением уровня в 1,6 В.

4.Повторитель напряжения. На вход АЦП поступает аналоговое напряжение, на выходе ЦАП выставляется то же аналоговое напряжение. В качестве индикатора можно использовать линейку светодиодов, яркость которой задается с помощью ШИМ.

5.Управление семисегментным индикатором, выдающим от 0 до 9 В

в зависимости от уровня напряжения на АЦП. В качестве драйвера семисегментного индикатора используется библиотечный декодер 7446, 7447 (для индикаторов с общим анодом) или 7448, 7449 (для индикаторов с общим катодом). Вставка осуществляется через диалог Symbol → others → maxplus2 → модель драйвера. Физически индикатор подключается к DE0-Nano на макетной плате по схеме, приведенной на рис. 3.

Рис. 3. Подключение семисегментного индикатора с общим анодом

На макетной плате между пинами подключаются защитные резисторы 220 Ом. Можно использовать номиналы резисторов вплоть до 1 кОм.

25

ЗАКЛЮЧЕНИЕ

В настоящем пособии предложен курс лабораторных работ, позволяющий ознакомиться с различными цифровыми платформами и средами: Arduino с одноименной средой разработки, микроконтроллерами STM32 и Keil uVision, ПЛИС Altera и средой Quartus II. Для каждой из платформ приведено описание необходимого аппаратного обеспечения: используемая модель отладочной платы, список дополнительного оборудования, при необходимости – схема подключения, а также образцы кода. Для более глубокого ознакомления с предметом лабораторных работ приведен список литературы, так как объем методического пособия не позволяет дать необходимый материал в полном объеме.

Полученные знания по каждой из рассмотренных платформ могут быть углублены в процессе выполнения соответствующего задания на курсовое проектирование.

26

ЗАДАНИЯ НА КУРСОВОЕ ПРОЕКТИРОВАНИЕ

Цель работы – овладение практическими навыками разработки цифровых устройств на системном, программном и аппаратно-схемотехническим уровнях.

Содержание работы. В процессе выполнения курсового проекта необходимо разработать гетерогенную систему, сочетающую в себе микроконтроллер и аналоговую часть. На курсовое проектирование отводится 36

академических часов самостоятельной работы.

 

Примерные темы:

 

1. Сопряжение Arduino и ПЛИС

 

(рис. 4). При этом Arduino выполняет роль

 

ведущего устройства. Пример: математиче-

 

ский сопроцессор на ПЛИС для работы с

 

32-битными числами. Аппаратно реализо-

 

ванный цифровой фильтр. Аппаратный вы-

 

числитель тригонометрических функций с

Рис. 4. Arduino с установленным

помощью алгоритма CORDIC. Драйвер све-

FPGA-шилдом

тодиодного индикатора, требующий боль-

 

шого числа выводов.

 

2. Управление роботом, например гек-

 

саподом (рис. 5) с помощью Arduino или

 

другой отладочной платы.

 

Цифро-аналоговый генератор/преобра-

 

зователь НЧ сигналов (эквалайзер, нели-

Рис. 5. Робот-гексапод с платой

нейный фильтр, генератор хаотических сиг-

DE0-Nano в качестве контроллера

налов).

 

27

Список рекомендуемой литературы

1.Блум Д. Изучаем Arduino®: инструменты и методы технического волшебства = Exploring Arduino®.Tools and techniques for Engineering Wizardry / пер. с англ. В. Петина. СПб.: БХВ-Петербург, 2015.

2.Бродин В. Б., Калинин А. В. Системы на микроконтроллерах и БИС программируемой логики. М. : ЭКОМ, 2002.

3.Brown J. Discovering the STM32 Microcontroller. Indiana University.

2013.

4.Гайворонский Д. В., Новосельцева Т. Я. Проектирование цифровых устройств на БИС Altera: учеб. пособие. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2010.

5.Пухальский Г. И., Новосельцева Т. Я. Проектирование цифровых устройств: учеб. пособие. СПб.: Лань, 2012.

6.Угрюмов Е. П. Цифровая схемотехника: учеб. пособие. 3-е изд., перераб. и доп. СПб.: БХВ-Петербург, 2010.

28

Содержание

 

Предисловие.............................................................................................................

3

Введение...................................................................................................................

4

Лабораторная работа 1. ПЛАТФОРМА ARDUINO:

 

ЗАГРУЗКА СКЕТЧЕЙ, ЦИФРОВОЙ

 

ВВОД–ВЫВОД..............................................................

6

Лабораторная работа 2. ПЛАТФОРМА ARDUINO:

 

АНАЛОГОВЫЙ ВВОД–ВЫВОД, СОМ-ПОРТ..........

8

Лабораторная работа 3. ПЛАТФОРМА ARDUINO:

 

ПОДКЛЮЧЕНИЕ ШИЛДОВ И МОДУЛЕЙ............

10

Лабораторная работа 4. ПЛАТФОРМА STM32:

 

ЗНАКОМСТВО С IDE И ОТЛАДОЧНОЙ

 

ПЛАТОЙ.......................................................................

13

Лабораторная работа 5. ПЛАТФОРМА STM32:

 

РАБОТА С ОС РЕАЛЬНОГО ВРЕМЕНИ.................

15

Лабораторная работа 6. ПЛАТФОРМА ПЛИС:

 

ВЕРИФИКАЦИЯ КОДОВ В СРЕДЕ MODELISM ...

19

Лабораторная работа 7. ПЛАТФОРМА ПЛИС: ТЕКСТОВОЕ

 

И ГРАФИЧЕСКОЕ ПРОГРАММИРОВАНИЕ.........

22

Лабораторная работа 8. ПЛАТФОРМА ПЛИС:

 

ВВОД–ВЫВОД ЦИФРОВЫХ

 

И АНАЛОГОВЫХ СИГНАЛОВ................................

24

Заключение.............................................................................................................

26

Задания на курсовое проектирование.................................................................

27

Список рекомендуемой литературы....................................................................

28

29

Андреев Валерий Сергеевич Бутусов Денис Николаевич Каримов Тимур Искандарович

Основы проектирования цифровых систем

Учебно-методическое пособие

Редактор О. Р. Крумина

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Подписано в печать 20.12.18. Формат 60×84 1/16. Бумага офсетная. Печать цифровая. Печ. л. 2,0.

Гарнитура «Times New Roman». Тираж 53 экз. Заказ 226.

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Издательство СПбГЭТУ «ЛЭТИ» 197376, С.-Петербург, ул. Проф. Попова, 5

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]