Innehållsförteckning:
- Steg 1: Bygg en elektronisk krets
- Steg 2: Redigera Verilog -kod
- Steg 3: Ladda upp Verilog -kod
- Steg 4: Ladda upp Raspberry Pi -kod
- Steg 5: Låt oss prova
Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:37
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!
Rekommenderad:
FPGA Cyclone IV DueProLogic - Tryckknapp & LED: 5 steg
FPGA Cyclone IV DueProLogic - Tryckknapp & LED: I denna handledning kommer vi att använda FPGA för att styra extern LED -krets. Vi kommer att genomföra följande uppgifter (A) Använd tryckknapparna på FPGA Cyclone IV DuePrologic för att styra LED. (B) Flash LED på & av regelbundet Video demo Lab
FPGA Cyclone IV DueProLogic Controls Servomotor: 4 steg
FPGA Cyclone IV DueProLogic Controls Servomotor: I den här självstudien kommer vi att skriva Verilog -kod för att styra servomotorn. Servon SG-90 tillverkas av Waveshare. När du köper servomotorn kan du få ett datablad som visar driftsspänning, maximalt vridmoment och det föreslagna Pu
Arduino Cyclone Game: 5 steg (med bilder)
Arduino Cyclone Game: Jag har aldrig spelat det riktiga cyklonarkadespelet men jag gillar idén att spela med vår reaktionstid.Jag designade ett miniatyriserat spel. Den består av 32 lysdioder som bildar en cirkel, lysdioderna lyser upp en efter en som en ledjakt. Målet är att trycka på en rumpa
Arduino Cyclone Arcade Game: 6 steg
Arduino Cyclone Arcade Game: Blinkande flashiga lampor! Arduino! Spel! Vad mer behöver sägas? Detta spel är baserat på Cyclone -arkadspelet, där spelaren försöker stoppa en LED -rullning runt en cirkel på en viss plats
Digispark Controls Relay Via GSM: 3 steg
Digispark Controls Relay Via GSM: Denna instruerbara använder ett Digispark -kort, tillsammans med ett relä och en GSM -modul för att slå på eller stänga av och apparat, medan textning av det aktuella tillståndet till ett fördefinierat telefonnummer. Koden är mycket rå, lyhörd för all kommunikation från modulen t