Indholdsfortegnelse:
- Trin 1: Byg elektronisk kredsløb
- Trin 2: Rediger Verilog -kode
- Trin 3: Upload Verilog -kode
- Trin 4: Upload Raspberry Pi -kode
- Trin 5: Lad os prøve det
Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
På trods af at FPGA DueProLogic officielt er designet til Arduino, vil vi gøre FPGA og Raspberry Pi 4B kommunikerbare.
Tre opgaver implementeres i denne vejledning:
(A) Tryk samtidigt på de to trykknapper på FPGA for at vende RPi -kameraets vinkel.
(B) Raspberry Pi 4B styrer det eksterne LED -kredsløb for FPGA.
(C) Live stream Raspberry Pi -kameraet i browseren via WiFi
Trin 1: Byg elektronisk kredsløb
Trin 2: Rediger Verilog -kode
Når du køber FPGA DueProLogic, skal du modtage en dvd. Når du har åbnet "Projects_HDL", skal du se den originale HDL -kodefil. Når du har konfigureret stiften, skal du tilføje den fremhævede kode som vist i afsnit 2A, 2B, 2C og 2D.
2A: For at aktivere trykknapper skal du bruge denne kode
// Trykknapper
input wire UBA,
input ledning UBB
For at kommunikere med Raspberry Pi skal du tilføje disse.
reg sel_send; // aktiver Raspberry pi
reg rece; // modtaget fra hindbær pi
2B: For at tildele værdier til portene, skal du redigere koden i overensstemmelse hermed
tildele XIO_1 [3] = start_stop_cntrl;
tildele XIO_2 [2] = modtager; // output HIGH eller LOW i LED -kredsløb
tildele XIO_2 [3] = ~ UBA; //trykknap
tildele XIO_2 [4] = UBB; //trykknap
tildele XIO_2 [5] = sel_send; // FPGA sender signal til hindbær pi
tildel sel_read = XIO_5 [1]; // FPGA modtager signal fra hindbær pi
tildele c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17
tildele LEDExt = XIO_5 [5];
2C: Hvis der trykkes på to trykknapper samtidigt, sender FPGA HIGH -output til Raspberry Pi.
altid @(sel_send eller UBB eller UBA) // send til RPi
begynde
hvis (UBB == 1'b0 && UBA == 1'b0)
sel_send = 1'b1;
andet
sel_send = 1'b0;
ende
2D: FPGA læser signal fra Raspberry Pi med urfrekvensen på 66MHz. Porten XIO_2 [2] er knyttet til 'rece'.
altid @(sel_read) // læs pi
begynde
hvis (sel_read == 1'b1)
modt = 1'b0;
andet
modt = 1'b1;
ende
Trin 3: Upload Verilog -kode
Upload derefter den kompilerede pof -fil til FPGA. Hvis der ikke registreres nogen hardware automatisk, skal du klikke på "Hardwareopsætning" for at rette den manuelt
Trin 4: Upload Raspberry Pi -kode
De fremhævede linjer gør det muligt for FPGA at kommunikere med Raspberry Pi.
Den fulde Raspberry Pi-kode til dette projekt,
A = GPIO.input (pin) #read FPGAprint (A);
hvis (A == 1):
kamera.rotation = 0
GPIO.output (18, GPIO. LOW) #send til FPGA
hvis (A == 0):
kamera.rotation = 180
GPIO.output (18, GPIO. HIGH) #send til FPGA
Trin 5: Lad os prøve det
Åbn din browser og indtast din IP -adresse f.eks. 192.168.xx.xxx:8000.
Trods alt skulle systemet fungere!
Anbefalede:
FPGA Cyclone IV DueProLogic - Trykknap og LED: 5 trin
FPGA Cyclone IV DueProLogic - Trykknap og LED: I denne vejledning skal vi bruge FPGA til at styre eksternt LED -kredsløb. Vi skal gennemføre følgende opgaver (A) Brug trykknapperne på FPGA Cyclone IV DuePrologic til at styre LED. (B) Flash LED tændt & fra periodisk Video demo Lab
FPGA Cyclone IV DueProLogic Controls Servomotor: 4 trin
FPGA Cyclone IV DueProLogic Controls Servomotor: I denne vejledning skal vi skrive Verilog -kode til styring af servomotor. Servoen SG-90 er fremstillet af Waveshare. Når du køber servomotoren, modtager du muligvis et datablad, der viser driftsspændingen, det maksimale drejningsmoment og det foreslåede Pu
Arduino Cyclone Game: 5 trin (med billeder)
Arduino Cyclone Game: Jeg har aldrig spillet det rigtige cyklonarkadespil, men jeg kan godt lide tanken om at spille med vores reaktionstid. Jeg designede et miniaturiseret spil. Den består af 32 lysdioder, der danner en cirkel, lysdioderne lyser en efter en som en led chaser. Målet er at trykke på en knap
Arduino Cyclone Arcade Game: 6 trin
Arduino Cyclone Arcade Game: Blinkende prangende lys! Arduino! Spil! Hvad mere skal der siges? Dette spil er baseret på Cyclone -arkadespillet, hvor spilleren forsøger at stoppe en led, der ruller rundt i en cirkel på et bestemt sted
Digispark Controls Relay Via GSM: 3 trin
Digispark Controls Relay Via GSM: Denne instruerbare bruger et Digispark -kort sammen med et relæ og GSM -modul til at tænde eller slukke for apparatet, mens den aktuelle tilstand sendes til et foruddefineret telefonnummer. Koden er meget rå, reagerer på enhver kommunikation fra modulet t