Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
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
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
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
Otvorite preglednik i upišite svoju IP adresu, npr. 192.168.xx.xxx:8000.
Uostalom, sustav bi trebao funkcionirati!