Sadržaj:

FPGA Cyclone IV DueProLogic kontrolira Raspberry Pi kameru: 5 koraka
FPGA Cyclone IV DueProLogic kontrolira Raspberry Pi kameru: 5 koraka

Video: FPGA Cyclone IV DueProLogic kontrolira Raspberry Pi kameru: 5 koraka

Video: FPGA Cyclone IV DueProLogic kontrolira Raspberry Pi kameru: 5 koraka
Video: JTAG тестирование плат на ПЛИС Россия Китай 2024, Studeni
Anonim
FPGA Cyclone IV DueProLogic kontrolira Raspberry Pi kameru
FPGA Cyclone IV DueProLogic kontrolira Raspberry Pi kameru

Unatoč tome što je FPGA DueProLogic službeno dizajniran za Arduino, FPGA i Raspberry Pi 4B učinit ćemo prenosivim.

U ovom su vodiču implementirana tri zadatka:

(A) Istovremeno pritisnite dva gumba na FPGA da biste okrenuli kut kamere RPi.

(B) Raspberry Pi 4B kontrolira vanjski LED krug FPGA.

(C) Prenosite Raspberry Pi kameru uživo u pregledniku putem WiFi -a

Korak 1: Izgradite elektronički krug

Korak 2: Uredite Verilog kôd

Uređivanje Verilog koda
Uređivanje Verilog koda
Uređivanje Verilog koda
Uređivanje Verilog koda

Kada kupujete FPGA DueProLogic, trebali biste dobiti DVD. Nakon što otvorite "Projects_HDL", trebali biste vidjeti izvornu datoteku HDL koda. Nakon što postavite pin planner, dodajte označeni kôd kao što je prikazano u odjeljcima 2A, 2B, 2C i 2D.

2A: Da biste aktivirali tipke, morate upotrijebiti ovaj kôd

// Prekidači na gumb

ulazna žica UBA,

ulazna žica UBB

Da biste komunicirali s Raspberry Pi, morate ih dodati.

reg sel_send; // aktiviranje Raspberry pi

reg rece; // primljeno od maline pi

2B: Za dodjeljivanje vrijednosti priključcima, morate prema tome urediti kôd

dodijeli XIO_1 [3] = start_stop_cntrl;

dodijeliti XIO_2 [2] = rece; // izlaz HIGH ili LOW u LED krug

dodijeliti XIO_2 [3] = ~ UBA; // pritisni gumb

dodijeliti XIO_2 [4] = UBB; // pritisni gumb

dodijeli XIO_2 [5] = sel_send; // FPGA šalje signal malini pi

dodijeli sel_read = XIO_5 [1]; // FPGA prima signal od maline pi

dodijeli c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17

dodijeli LEDExt = XIO_5 [5];

2C: Ako se istovremeno pritisnu dva gumba, FPGA šalje HIGH izlaz na Raspberry Pi.

uvijek @(sel_send ili UBB ili UBA) // pošalji u RPi

početi

ako (UBB == 1'b0 && UBA == 1'b0)

sel_send = 1'b1;

drugo

sel_send = 1'b0;

kraj

2D: FPGA čita signal iz Raspberry Pi -a sa taktom frekvencije 66MHz. Priključak XIO_2 [2] povezan je s 'rece'.

uvijek @(sel_read) // čitaj pi

početi

ako (sel_read == 1'b1)

rece = 1'b0;

drugo

rece = 1'b1;

kraj

Korak 3: Prenesite Verilog kôd

Učitajte Verilog kod
Učitajte Verilog kod

Zatim učitajte kompiliranu pof datoteku na FPGA. Ako se automatski ne otkrije hardver, kliknite "Hardware Setup" (Postavljanje hardvera) da biste ga ručno ispravili

Korak 4: Prenesite Raspberry Pi kod

Istaknute linije omogućuju FPGA komunikaciju s Raspberry Pi.

Cijeli Raspberry Pi kod za ovaj projekt,

A = GPIO.input (pin) #read FPGAprint (A);

ako (A == 1):

camera.rotation = 0

GPIO.izlaz (18, GPIO. LOW) #pošaljite na FPGA

ako (A == 0):

kamera.rotacija = 180

GPIO.izlaz (18, GPIO. HIGH) #pošaljite na FPGA

Korak 5: Pokušajmo

Image
Image

Otvorite preglednik i upišite svoju IP adresu, npr. 192.168.xx.xxx:8000.

Uostalom, sustav bi trebao funkcionirati!

Preporučeni: