Запускаем лабораторные работы «Школы синтеза цифровых схем» на FPGA плате Марсоход3GW2

c8e15f817cfc2d7d863a81f0e7781b9f.jpg

Вероятно вы слышали о «Школе синтеза цифровых схем». Здесь учат цифровой логике и программированию ПЛИС. Каждый желающий может записаться на курсы школы и пройти обучение. Филиалы школы есть во многих городах.

Школа готовит программу лабораторных работ для изучения FPGA. Они опубликованы на Github:  https://github.com/yuri-panchul/basics-graphics-music

Особенность этих лабораторных работ в том, что они адаптированы для совершенно разных FPGA плат, платы от разных производителей, используется разная ёмкость FPGA чипов, разные вендоры FPGA.

Мы сделали форк этих лаб https://github.com/marsohod4you/basics-graphics-music и адаптировали лабораторные работы на нашу плату Марсоход3GW2.

Здесь я немного расскажу о некоторых учебных работах, которые запускаются в ПЛИС платы. О самой плате Марсоход2GW2 я уже когда-то рассказывал в статье на хабре.

А вот здесь, на этом видео показывается запуск некоторых лабораторных работ:

По времени:

3:30 Лабораторная 1_06_binary_counter. Здесь простой двоичный счетчик, его биты отображаются на 8 ми светодиодах платы. По кнопке сброса счет останавливается.

5:25 Лабораторная 1_09_hex_counter. Чуть сложнее проект, Значение счетчика кроме светодиодов отображается еще и на семисегментном индикаторе.

6:27 Лабораторная 1_05_7seven_segment_letter. Здесь на семисегментном индикаторе отображается всего одна буква P или F. По нажатию кнопочки key0 буква меняется. По нажатию кнопочки key1 меняется положение буквы на индикаторе.

8:25 Лабораторная работа 1_08_7segment_word. На семисегментном индикаторе бегут буквы F, P, G, A. Можно сделать, чтобы они бежали быстро и тогда они сливаются для глаза в единое слово FPGA. Вот так:

4e85ffa84a48f15369000e421409d426.jpg

10:52 Лабораторная работа 2_1_rectangle_ellipse_parabola. К плате можно подключить HDMI монитор и тогда на нём плата сможет отображать цветные фигуры, прямоугольник, эллипсы:

29e236d5e668a7b3c358e7a6933c8f54.jpg

Вообще, есть несколько лабораторных работ, которые отображают графику. Я пробовал каждую из них, но не всё показаны в видео демонстрации выше. Например, в комплекте лабораторных есть ещё «цветные полосы»:

b8946bedbe82744d04146377fa14f81e.jpg

В лабах есть даже простые «видеоигры».

Я подготовил еще одну демонстрацию нашей платы Марсоход3GW2 в рамках лабораторных работ Школы синтеза цифровых схем. Это лабораторные работы связанные с распознаванием звука, нот и мелодий:

На этом видео показывается лабораторная работа 3_1_note_recognizer

В качестве генератора звуковых сигналов используется смартфон с ОС Андроид. На смартфоне устанавливаем программы пианино и/или генератор звуковых сигналов. Смартфон подключается специальным простым аудио кабелем ко входу АЦП платы. Только нужно подавать сигнал через разделительный конденсатор и использовать делитель напряжения на резисторах для установки средней точки.

Видео показывает, как я нажимаю клавиши на цифровом пианино на смартфоне, а тем временем на семисегментном индикаторе отображается распознанная в FPGA буква ноты: C, D, E F.

Второй вариант проведения лабы, показанный на этом видео: запускаем генератор сигналов на смартфоне и меняя частоту синусоиды от 440Гц до 880Гц (ноты Ля в разных октавах) видим, что плата распознает ноты и отображает их буквой на индикаторе.

Таким образом, мы считаем, что плата Марсоход3GW2 подходит для экспериментов в Школе синтеза цифровых схем.

© Habrahabr.ru