Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Unatoč tome što je FPGA DueProLogic službeno dizajniran za Arduino, učinit ćemo FPGA i Raspberry Pi 4B prenosivim.
U ovom su vodiču implementirana tri zadatka:
(A) Istovremeno pritisnite dva tastera na FPGA da biste okrenuli ugao kamere RPi.
(B) Raspberry Pi 4B kontrolira vanjsko LED kolo FPGA.
(C) Prijenos uživo Raspberry Pi kamere na pregledniku putem WiFi -a
Korak 1: Izgradite elektroničko kolo
Korak 2: Uredite Verilog kôd
Kada kupujete FPGA DueProLogic, trebali biste dobiti DVD. Nakon što otvorite "Projects_HDL", trebali biste vidjeti originalnu datoteku HDL koda. Nakon što postavite pin planere, dodajte označeni kôd kao što je prikazano u odjeljcima 2A, 2B, 2C i 2D.
2A: Da biste aktivirali dugmad, morate koristiti ovaj kôd
// Prekidači na dugme
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: Da biste portovima dodijelili vrijednosti, morate prema tome urediti kôd
dodijeli XIO_1 [3] = start_stop_cntrl;
dodijeli XIO_2 [2] = rece; // izlaz HIGH ili LOW u LED krug
dodijeli XIO_2 [3] = ~ UBA; // pritisnuti dugme
dodijeliti XIO_2 [4] = UBB; // pritisnuti dugme
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 tastera, FPGA šalje HIGH izlaz na Raspberry Pi.
uvijek @(sel_send ili UBB ili UBA) // šalje u RPi
početi
ako (UBB == 1'b0 && UBA == 1'b0)
sel_send = 1'b1;
else
sel_send = 1'b0;
kraj
2D: FPGA čita signal iz Raspberry Pi -a sa taktom frekvencije 66MHz. Port XIO_2 [2] je povezan s 'rece'.
uvijek @(sel_read) // čitaj pi
početi
if (sel_read == 1'b1)
rece = 1'b0;
else
rece = 1'b1;
kraj
Korak 3: Postavite Verilog kôd
Zatim otpremite kompajliranu pof datoteku na FPGA. Ako se automatski ne otkrije hardver, kliknite "Hardware Setup" da biste ga ručno ispravili
Korak 4: Otpremite Raspberry Pi kod
Istaknute linije omogućavaju FPGA komunikaciju sa 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):
camera.rotation = 180
GPIO.izlaz (18, GPIO. HIGH) #pošaljite na FPGA
Korak 5: Pokušajmo
Otvorite pregledač i upišite svoju IP adresu, npr. 192.168.xx.xxx:8000.
Na kraju krajeva, sistem bi trebao funkcionirati!