Բովանդակություն:

FPGA ցիկլոն IV DueProLogic վերահսկում է ազնվամորի Pi տեսախցիկը `5 քայլ
FPGA ցիկլոն IV DueProLogic վերահսկում է ազնվամորի Pi տեսախցիկը `5 քայլ

Video: FPGA ցիկլոն IV DueProLogic վերահսկում է ազնվամորի Pi տեսախցիկը `5 քայլ

Video: FPGA ցիկլոն IV DueProLogic վերահսկում է ազնվամորի Pi տեսախցիկը `5 քայլ
Video: Вау! Нашел Cyclone IV Starter Kit , завалилась под диван! 5 октября 2023 г. 2024, Նոյեմբեր
Anonim
FPGA ցիկլոն IV DueProLogic վերահսկում է ազնվամորի Pi տեսախցիկը
FPGA ցիկլոն IV DueProLogic վերահսկում է ազնվամորի Pi տեսախցիկը

Չնայած FPGA DueProLogic- ը պաշտոնապես նախատեսված է Arduino- ի համար, մենք պատրաստվում ենք FPGA և Raspberry Pi 4B հաղորդունակ դարձնել:

Այս ձեռնարկում իրականացվում են երեք առաջադրանքներ.

(A) Միաժամանակ սեղմեք FPGA- ի երկու կոճակները ՝ RPi տեսախցիկի անկյունը շրջելու համար:

(B) Raspberry Pi 4B- ն վերահսկում է FPGA- ի արտաքին LED միացումը:

(C) Ուղիղ հեռարձակում Raspberry Pi տեսախցիկը դիտարկիչում WiFi- ի միջոցով

Քայլ 1: Կառուցեք էլեկտրոնային միացում

Քայլ 2: Խմբագրել Verilog ծածկագիրը

Խմբագրել Verilog ծածկագիրը
Խմբագրել Verilog ծածկագիրը
Խմբագրել Verilog ծածկագիրը
Խմբագրել Verilog ծածկագիրը

Երբ գնում եք FPGA DueProLogic- ը, դուք պետք է DVD ստանաք: «Projects_HDL» - ը բացելուց հետո դուք պետք է տեսնեք բնօրինակը HDL կոդի ֆայլը: Պին պլանավորողը կարգավորելուց հետո ավելացրեք ընդգծված ծածկագիրը, ինչպես ցույց է տրված 2A, 2B, 2C և 2D բաժիններում:

2A. Սեղմման կոճակները ակտիվացնելու համար դուք պետք է օգտագործեք այս ծածկագիրը

// Հրել կոճակի անջատիչներ

մուտքային մետաղալար UBA,

մուտքային մետաղալար UBB

Raspberry Pi- ի հետ շփվելու համար հարկավոր է դրանք ավելացնել:

reg sel_send; // ակտիվացնել Raspberry pi- ն

reg Rece; // ստացել է ազնվամորի պիից

2B. Նավահանգիստներին արժեքներ վերագրելու համար պետք է համապատասխանաբար խմբագրել ծածկագիրը

նշանակել XIO_1 [3] = start_stop_cntrl;

նշանակել XIO_2 [2] = ստացում; // արտադրանք Բարձր կամ OWԱOWՐ LED շղթայում

նշանակել XIO_2 [3] = ~ UBA; // սեղմել կոճակը

նշանակել XIO_2 [4] = UBB; // սեղմել կոճակը

նշանակել XIO_2 [5] = sel_send; // FPGA- ն ազդանշան է ուղարկում ազնվամորի պիին

նշանակել sel_read = XIO_5 [1]; // FPGA- ն ազդանշան է ստանում ազնվամորու pi- ից

նշանակել c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17

նշանակել LEDExt = XIO_5 [5];

2C. Եթե միաժամանակ երկու կոճակ սեղմվի, FPGA- ն բարձր ելք է ուղարկում Raspberry Pi- ին:

միշտ @(sel_send կամ UBB կամ UBA) // ուղարկել RPi

սկսել

եթե (UBB == 1'b0 && UBA == 1'b0)

sel_send = 1'b1;

ուրիշ

sel_send = 1'b0;

վերջ

2D: FPGA- ն կարդում է Raspberry Pi- ի ազդանշանը 66 ՄՀց հաճախականությամբ: XIO_2 [2] նավահանգիստը կապված է «rece» - ի հետ:

միշտ @(sel_read) // կարդալ pi

սկսել

եթե (sel_read == 1'b1)

ստացում = 1'b0;

ուրիշ

ստացում = 1'b1;

վերջ

Քայլ 3: Վերբեռնեք Verilog ծածկագիրը

Վերբեռնեք Verilog ծածկագիրը
Վերբեռնեք Verilog ծածկագիրը

Այնուհետեւ վերբեռնեք կազմված pof ֆայլը FPGA- ին: Եթե սարքավորումները ինքնաբերաբար չեն հայտնաբերվում, սեղմեք «Սարքաշարի տեղադրում» ՝ այն ձեռքով ուղղելու համար

Քայլ 4: Վերբեռնեք Raspberry Pi ծածկագիրը:

Ընդգծված գծերը թույլ են տալիս FPGA- ին հաղորդակցվել Raspberry Pi- ի հետ:

Այս նախագծի ամբողջական Raspberry Pi կոդը ՝

A = GPIO.input (քորոց) #կարդալ FPGAprint (A);

եթե (A == 1):

camera.rotation = 0

GPIO.output (18, GPIO. LOW) #ուղարկեք FPGA- ին

եթե (A == 0):

camera.rotation = 180

GPIO.output (18, GPIO. HIGH) #ուղարկեք FPGA- ին

Քայլ 5: Եկեք փորձենք:

Image
Image

Բացեք ձեր դիտարկիչը և մուտքագրեք ձեր IP հասցեն, օրինակ. 192.168.xx.xxx:8000:

Ի վերջո, համակարգը պետք է աշխատի:

Խորհուրդ ենք տալիս: