Агуулгын хүснэгт:
- Алхам 1: Цахилгаан хэлхээг бий болгох
- Алхам 2: Pin Planner -ийг шалгаад Verilog кодыг засварлана уу
- Алхам 3: Verilog кодыг засах
- Алхам 4: Verilog кодыг эмхэтгэх
- Алхам 5: Үүнийг туршаад үзье
Видео: FPGA циклон IV DueProLogic - товчлуур ба LED: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Энэхүү гарын авлагад бид гадаад LED хэлхээг хянахын тулд FPGA -ийг ашиглах гэж байна. Бид дараах ажлуудыг хэрэгжүүлэх гэж байна
(A) LED -ийг хянахын тулд FPGA циклон IV DuePrologic дээрх товчлууруудыг ашиглана уу.
(B) Флэш LED үе үе асаж, унтардаг
Видео демо
Лабораторийн цэс:
Алхам 1: Цахилгаан хэлхээг бий болгох
Алхам 2: Pin Planner -ийг шалгаад Verilog кодыг засварлана уу
Алхам 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, // Push Button Switch
оролтын утас UBB // Push Button Switch
XIO_1 [3] = start_stop_cntrl;
XIO_2 [1] = start_blinky оноох; // 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 анивчсан эхлэл
//-----------------------------------------------
/*
үргэлж @(posledge CLK_66 эсвэл RST -ийг хасах)
Эхлэх
хэрэв (! RST)
start_blinky <= 1'b0;
өөр
Эхлэх
if (control_register [7: 4]> 0)
start_blinky <= 1'b1;
өөр
start_blinky <= 1'b0;
Төгсгөл
Төгсгөл
*/
рег [31: 0] хуучин;
анхны эхлэл
жишээ нь <= 32'b0;
start_blinky <= 1'b0;
Төгсгөл
үргэлж @(зурагт CLK_66)
Эхлэх
ex <= ex + 1'b1;
хэрэв (жишээ нь> 100000000) // анивчих/унтраах ~ 1.6 секунд, цаг 66МГц
Эхлэх
start_blinky <=! start_blinky;
жишээ нь <= 32'b0;
Төгсгөл
Төгсгөл
//-----------------------------------------------
// LED саатал таймер тоолуур
//-----------------------------------------------
/*
үргэлж @(posledge CLK_66 эсвэл 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 кодыг эмхэтгэх
Quartus дахь "Эмхэтгэлийг эхлүүлэх" товчийг дарна уу, ямар ч алдааны мэдэгдэл үүсгэхгүй.
Хэрэв та олон тээглүүрийн талаар алдааны мессеж хүлээн авбал. Даалгавар -> Төхөөрөмж -> Төхөөрөмж ба зүү сонголтууд -> Хос зориулалттай зүү рүү очоод> зохих зүүний утгыг "Ердийн оролт/гаралт болгон ашиглах" болгож өөрчилнө үү.
Хөрвүүлсний дараа та pof гаралтын файлыг шууд авах ёстой. Хэрэв таны програм хангамж шинэчлэгдээгүй бол та зөвхөн соф файл авах боломжтой. Ийм зүйл тохиолдвол Quartus дээрх "Файл" дээр дарна уу -> "програмчлалын файлуудыг хөрвүүлэх". Улаан нүдээр тэмдэглэгдсэн тохиргоог өөрчилнө үү.
Алхам 5: Үүнийг туршаад үзье
Эцсийн эцэст энэ нь ажиллах ёстой !!! Шар LED үргэлж асдаг. Улаан LED анивчдаг. Хэрэв та В товчлуурыг дарвал цэнхэр LED унтарна. Хэрэв та А товчлуурыг дарвал ногоон гэрэл асна
Зөвлөмж болгож буй:
FPGA циклон IV DueProLogic Raspberry Pi Камер: 5 алхам
FPGA циклон IV DueProLogic Raspberry Pi камерыг хянадаг: FPGA DueProLogic нь албан ёсоор Arduino -д зориулагдан бүтээгдсэн боловч бид FPGA болон Raspberry Pi 4B -ийг дамжуулах боломжтой болгоно. Гурван даалгаврыг энэ гарын авлагад хэрэгжүүлсэн болно: (A) Хоёр товчлуурыг нэгэн зэрэг дарна уу. FPGA нь өнцгийг эргүүлэх
FPGA циклон IV DueProLogic хяналт Servo мотор: 4 алхам
FPGA циклон IV DueProLogic Controls Servo Motor: Энэхүү гарын авлагад бид servo моторыг хянахын тулд Verilog кодыг бичих гэж байна. SG-90 servo-ийг Waveshare үйлдвэрлэдэг. Та servo мотор худалдаж авахдаа ажлын хүчдэл, хамгийн их эргэлт болон санал болгож буй Pu -ийн жагсаалтыг агуулсан мэдээллийн хуудсыг хүлээн авах боломжтой
Arduino циклон тоглоом: 5 алхам (зурагтай)
Arduino Cyclone Game: Би жинхэнэ циклон аркад тоглоом тоглож байгаагүй, гэхдээ бидний хариу үйлдэл хийх цагтай тоглох санаа надад таалагддаг, би жижигхэн тоглоом зохион бүтээсэн. Энэ нь тойрог үүсгэдэг 32 LED -ээс бүрдэх бөгөөд LED нь нэг нэгээр нь асдаг. Зорилго нь товчлуурыг дарах явдал юм
Циклон (Arduino LED тоглоом): 6 алхам (зурагтай)
Циклон (Arduino LED тоглоом): Энэхүү зааварчилгаанд би маш бага код эсвэл туршлагатай LED тоглоомыг хэрхэн хийхийг танд заах болно. Надад хэсэг хугацаанд ийм санаа төрж, эцэст нь түүнийг бүтээх ажил эхлэв. Энэ бол бүх аркад тоглоомыг бидэнд сануулдаг хөгжилтэй тоглоом юм. Бусад хичээлүүд байдаг
Циклон LED аркад тоглоом: 4 алхам
Циклон LED аркад тоглоом: Энэхүү төслийн зорилго нь Arduino ашиглан хүүхдүүдэд интерактив, зугаатай байх энгийн тоглоом бүтээх явдал байв. Би циклон аркад тоглоомыг бага байхдаа дуртай аркад тоглоомуудын нэг байсныг санаж байсан тул үүнийг давтахаар шийдсэн юм. Т