Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Pavarësisht se FPGA DueProLogic është projektuar zyrtarisht për Arduino, ne do t'i bëjmë FPGA dhe Raspberry Pi 4B të komunikueshme.
Tre detyra janë zbatuar në këtë tutorial:
(A) Shtypni njëkohësisht dy butonat e shtypjes në FPGA për të përmbysur këndin e kamerës RPi.
(B) Raspberry Pi 4B kontrollon qarkun e jashtëm LED të FPGA.
(C) Transmetoni drejtpërdrejt Kamerën Raspberry Pi në Shfletues përmes WiFi
Hapi 1: Ndërtoni një qark elektronik
Hapi 2: Ndryshoni Kodin Verilog
Kur blini FPGA DueProLogic, duhet të merrni një DVD. Pasi të hapni "Projects_HDL", duhet të shihni skedarin origjinal të kodit HDL. Pasi të keni konfiguruar pin planifikuesin, shtoni kodin e theksuar siç tregohet në seksionin 2A, 2B, 2C dhe 2D.
2A: Për të aktivizuar butonat e shtypjes, duhet të përdorni këtë kod
// Çelësat e butonit të shtytjes
tela hyrëse UBA,
tela hyrëse UBB
Për të komunikuar me Raspberry Pi, duhet t'i shtoni ato.
reg sel_send; // aktivizoni Raspberry pi
reg recep; // marrë nga pi mjedër
2B: Për të caktuar vlerat në porte, duhet të redaktoni kodin në përputhje me rrethanat
cakto XIO_1 [3] = start_stop_cntrl;
cakto XIO_2 [2] = marrje; // dalje HIGH ose LOW në qark LED
cakto XIO_2 [3] = ~ UBA; // butonin e shtypjes
cakto XIO_2 [4] = UBB; // butonin e shtypjes
cakto XIO_2 [5] = sel_send; // FPGA dërgon sinjal te mjedra pi
cakto sel_read = XIO_5 [1]; // FPGA merr sinjal nga mjedra pi
cakto c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17
cakto LEDExt = XIO_5 [5];
2C: Nëse dy butona shtypet njëkohësisht, FPGA dërgon dalje të Lartë në Raspberry Pi.
gjithmonë @(sel_send ose UBB ose UBA) // dërgoni në RPi
filloj
nëse (UBB == 1'b0 && UBA == 1'b0)
sel_send = 1'b1;
tjeter
sel_send = 1'b0;
fund
2D: FPGA lexon sinjalin nga Raspberry Pi me frekuencën e orës 66MHz. Porti XIO_2 [2] është i lidhur me 'rece'.
gjithmonë @(sel_read) // lexo pi
filloj
nëse (sel_lex == 1'b1)
rece = 1'b0;
tjeter
rece = 1'b1;
fund
Hapi 3: Ngarko kodin Verilog
Pastaj ngarkoni skedarin e përpiluar pof në FPGA. Nëse asnjë pajisje nuk zbulohet automatikisht, klikoni "Konfigurimi i Pajisjeve" për ta korrigjuar atë me dorë
Hapi 4: Ngarko kodin Raspberry Pi
Linjat e theksuara lejojnë që FPGA të komunikojë me Raspberry Pi.
Kodi i plotë Raspberry Pi për këtë projekt,
A = GPIO.input (pin) #read FPGAprint (A);
nëse (A == 1):
kamera.rrotullimi = 0
GPIO.putput (18, GPIO. LOW) #dërgoni në FPGA
nëse (A == 0):
kamera.rrotullimi = 180
GPIO.putput (18, GPIO. HIGHT) #dërgoni në FPGA
Hapi 5: Le ta Provojmë
Hapni shfletuesin tuaj dhe shkruani adresën tuaj IP p.sh. 192.168.xx.xxx:8000.
Në fund të fundit, sistemi duhet të funksionojë!