Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Trots att FPGA DueProLogic är officiellt utformad för Arduino, kommer vi att göra FPGA och Raspberry Pi 4B överförbara.
Tre uppgifter implementeras i den här självstudien:
(A) Tryck samtidigt på de två tryckknapparna på FPGA för att vända RPi -kamerans vinkel.
(B) Raspberry Pi 4B styr den externa LED -kretsen för FPGA.
(C) Livestreama Raspberry Pi -kameran i webbläsaren via WiFi
Steg 1: Bygg en elektronisk krets
Steg 2: Redigera Verilog -kod
När du köper FPGA DueProLogic bör du få en DVD. När du har öppnat "Projects_HDL" bör du se den ursprungliga HDL -kodfilen. När du har konfigurerat stiftplaneraren lägger du till den markerade koden enligt avsnitt 2A, 2B, 2C och 2D.
2A: För att aktivera tryckknappar måste du använda den här koden
// Tryckknappsbrytare
ingångstråd UBA,
ingångskabel UBB
För att kommunicera med Raspberry Pi måste du lägga till dessa.
reg sel_send; // aktivera hallon pi
reg mott; // mottagen från hallon pi
2B: För att tilldela portarna värden, bör du redigera koden i enlighet därmed
tilldela XIO_1 [3] = start_stop_cntrl;
tilldela XIO_2 [2] = mottagning; // utmatning HÖG eller LÅG i LED -krets
tilldela XIO_2 [3] = ~ UBA; // tryckknapp
tilldela XIO_2 [4] = UBB; // tryckknapp
tilldela XIO_2 [5] = sel_send; // FPGA skickar signal till hallon pi
tilldela sel_read = XIO_5 [1]; // FPGA tar emot signal från hallon pi
tilldela c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17
tilldela LEDExt = XIO_5 [5];
2C: Om två tryckknappar trycks in samtidigt skickar FPGA HIGH -utmatningen till Raspberry Pi.
alltid @(sel_send eller UBB eller UBA) // skicka till RPi
Börja
om (UBB == 1'b0 && UBA == 1'b0)
sel_send = 1'b1;
annan
sel_send = 1'b0;
slutet
2D: FPGA läser signal från Raspberry Pi med klockfrekvensen 66MHz. Porten XIO_2 [2] är länkad till "rece".
alltid @(sel_read) // läs pi
Börja
om (sel_read == 1'b1)
mott = 1'b0;
annan
mott = 1'b1;
slutet
Steg 3: Ladda upp Verilog -kod
Ladda sedan upp den kompilerade pof -filen till FPGA. Om ingen maskinvara upptäcks automatiskt klickar du på "Hardware Setup" för att korrigera den manuellt
Steg 4: Ladda upp Raspberry Pi -kod
De markerade linjerna gör att FPGA kan kommunicera med Raspberry Pi.
Hela Raspberry Pi-koden för detta projekt, https://roywchpi.blogspot.com 2020/06/12-fpga-cycl…
A = GPIO.input (pin) #read FPGAprint (A);
om (A == 1):
kamera.rotation = 0
GPIO.output (18, GPIO. LOW) #skicka till FPGA
om (A == 0):
kamera.rotation = 180
GPIO.output (18, GPIO. HIGH) #skicka till FPGA
Steg 5: Låt oss prova
Öppna din webbläsare och skriv din IP -adress t.ex. 192.168.xx.xxx:8000.
Systemet borde ju fungera!