Съдържание:
- Стъпка 1: Изградете електронна схема
- Стъпка 2: Проверете Pin Planner и Редактирайте Verilog Code
- Стъпка 3: Редактирайте Verilog кода
- Стъпка 4: Компилирайте Verilog Code
- Стъпка 5: Нека опитаме
Видео: FPGA Cyclone IV DueProLogic - Бутон и LED: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
В този урок ще използваме FPGA за управление на външна LED верига. Ще изпълним следните задачи
(A) Използвайте бутоните на FPGA Cyclone IV DuePrologic за управление на LED.
(B) Светодиодът на светкавицата се включва и изключва периодично
Видео демонстрация
Лабораторно меню:
Стъпка 1: Изградете електронна схема
Стъпка 2: Проверете Pin Planner и Редактирайте Verilog Code
Стъпка 3: Редактирайте Verilog кода
Когато купувате FPGA DueProLogic, трябва да получите DVD. След като отворите „Projects_HDL“, трябва да видите оригиналния код файл
Добавете маркирания код. Той регистрира I/O портовете и присвоява номера на портовете.
изходен проводник [7: 0] XIO_1, // XIO-D2-D9
изходен проводник [5: 0] XIO_2, // XIO-D10-D12
изходен проводник [5: 0] XIO_3, // XIO-D22-D29
входен проводник [5: 0] XIO_4, // XIO-D30-D37
входен проводник [5: 0] XIO_5, // XIO-D38-D45
изходен проводник [4: 0] XIO_6_OUT, // XIO-D46-D53
входен проводник [31: 5] XIO_6, // XIO-D46-D53
изходен проводник [2: 0] XIO_7, // XIO - D69, D70, D71, D74, D75, D76
входен проводник UBA, // Превключватели с бутони
входен проводник UBB // Превключватели с бутони
задайте XIO_1 [3] = start_stop_cntrl;
присвояване на XIO_2 [1] = начална_мигаща; // LED светкавица LED светва и изключва
задайте XIO_2 [2] = 1'b1; // изход HIGH
присвояване на XIO_2 [3] = ~ UBA; // Натиснете бутон А
задайте XIO_2 [4] = UBB; // Натиснете бутон B
присвояване c_enable = XIO_5 [2];
присвояване на LEDExt = XIO_5 [5];
След това трябва да настроим таймер за забавяне. Коментирайте оригиналния код на таймера и напишете нова функция на таймера
//-----------------------------------------------
// LED мигащ старт
//-----------------------------------------------
/*
винаги @(possedge CLK_66 или negedge RST)
започнете
ако (! RST)
start_blinky <= 1'b0;
иначе
започнете
ако (control_register [7: 4]> 0)
start_blinky <= 1'b1;
иначе
start_blinky <= 1'b0;
край
край
*/
reg [31: 0] ех;
начален старт
ex <= 32'b0;
start_blinky <= 1'b0;
край
винаги @(поставен CLK_66)
започнете
ex <= ex + 1'b1;
if (ex> 100000000) // светкавица включена/изключена ~ 1,6 секунди, часовник 66MHz
започнете
start_blinky <=! start_blinky;
ex <= 32'b0;
край
край
//-----------------------------------------------
// LED брояч за забавяне на таймера
//-----------------------------------------------
/*
винаги @(possedge CLK_66 или negedge RST)
започнете
ако (! RST)
led_delay_counter <= TIMER_LOW_LIMIT;
иначе
започнете
ако (посочете [SELECT_MODE])
led_delay_counter <= timer_value;
иначе ако (посочете [WAIT_FOR_TIMER])
led_delay_counter <= led_delay_counter - 1'd1;
край
край*/
Стъпка 4: Компилирайте Verilog Code
Натиснете "Стартиране на компилация" в Quartus, не трябва да се генерира съобщение за грешка.
Ако получите съобщение за грешка за няколко пина. Отидете на Задания -> Устройство -> Опции за устройство и щифтове -> Двойни пинове -> променете стойността на съответния щифт на „Използване като обикновен I/O“.
След компилацията трябва да получите директно pof изходен файл. Ако вашият софтуер не е актуален, може да получите само sof файл. Когато това се случи, щракнете върху „Файл“в Quartus -> „конвертирайте програмни файлове“. Променете настройките, маркирани с червени полета.
Стъпка 5: Нека опитаме
В крайна сметка трябва да работи !!! Жълтият светодиод винаги свети. Червеният светодиод мига. Синият светодиод се изключва, ако натиснете бутона B. Зеленият светодиод се включва, ако натиснете бутон А
Препоръчано:
FPGA Cyclone IV DueProLogic контролира Raspberry Pi камера: 5 стъпки
FPGA Cyclone IV DueProLogic контролира Raspberry Pi камерата: Въпреки че FPGA DueProLogic е официално проектиран за Arduino, ние ще направим FPGA и Raspberry Pi 4B комуникативни. Три задачи се изпълняват в този урок: (A) Едновременно натиснете двата бутона FPGA, за да обърнете ъгъла на
FPGA Cyclone IV DueProLogic контролира серво мотора: 4 стъпки
FPGA циклон IV DueProLogic контролира серво мотора: В този урок ще напишем Verilog код за управление на серво мотора. Серво SG-90 се произвежда от Waveshare. Когато купувате серво мотора, може да получите лист с данни, който изброява работното напрежение, максималния въртящ момент и предложената Pu
DIY VR бягаща пътека- Basys3 FPGA-Digilent Contest: 3 стъпки
DIY VR бягаща пътека- Basys3 FPGA-Digilent Contest: Искате ли да изградите VR бягаща пътека, на която можете да стартирате настолни приложения и игри? Тогава сте попаднали на правилното място! В конвенционалните игри използвате мишката и клавиатурата, за да взаимодействате с околната среда. Затова трябва да изпратим
Arduino Cyclone Game: 5 стъпки (със снимки)
Arduino Cyclone Game: Никога не съм играл истинската аркадна игра с циклон, но ми харесва идеята да играя с нашето време за реакция. Създадох миниатюрна игра. Състои се от 32 светодиода, образуващи кръг, светодиодите светват един по един като водещ преследвач. Целта е да натиснете бутон
Щит за развитие на Mojo FPGA: 3 стъпки
Щит за разработка на Mojo FPGA: Свържете вашата платка за развитие на Mojo към външни входове с този щит. Дъската е направена от Alchitry. ПЛИС са много полезни