
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02

Til tross for at FPGA DueProLogic er offisielt designet for Arduino, skal vi gjøre FPGA og Raspberry Pi 4B kommuniserbare.
Tre oppgaver er implementert i denne opplæringen:
(A) Trykk samtidig på de to trykknappene på FPGA for å snu vinkelen på RPi -kameraet.
(B) Raspberry Pi 4B styrer den eksterne LED -kretsen til FPGA.
(C) Live stream Raspberry Pi -kameraet i nettleseren via WiFi
Trinn 1: Bygg elektronisk krets
Trinn 2: Rediger Verilog -koden


Når du kjøper FPGA DueProLogic, bør du motta en DVD. Etter at du har åpnet "Projects_HDL", bør du se den originale HDL -kodefilen. Etter at du har konfigurert pin -planleggeren, legger du til den uthevede koden som vist i seksjon 2A, 2B, 2C og 2D.
2A: For å aktivere trykknapper må du bruke denne koden
// Trykknappbrytere
inngangskabel UBA,
inngangskabel UBB
For å kommunisere med Raspberry Pi må du legge til disse.
reg sel_send; // aktiver Raspberry pi
reg mott; // mottatt fra bringebær pi
2B: For å tilordne verdier til portene, bør du redigere koden tilsvarende
tilordne XIO_1 [3] = start_stop_cntrl;
tilordne XIO_2 [2] = mottak; // utgang HØY eller LAV i LED -krets
tilordne XIO_2 [3] = ~ UBA; // trykknapp
tilordne XIO_2 [4] = UBB; // trykknapp
tilordne XIO_2 [5] = sel_send; // FPGA sender signal til bringebær pi
tilordne sel_read = XIO_5 [1]; // FPGA mottar signal fra bringebær pi
tilordne c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17
tilordne LEDExt = XIO_5 [5];
2C: Hvis du trykker på to trykknapper samtidig, sender FPGA HØY utgang til Raspberry Pi.
alltid @(sel_send eller UBB eller UBA) // send til RPi
begynne
hvis (UBB == 1'b0 && UBA == 1'b0)
sel_send = 1'b1;
ellers
sel_send = 1'b0;
slutt
2D: FPGA leser signal fra Raspberry Pi med klokkefrekvensen 66MHz. Porten XIO_2 [2] er koblet til "mottak".
alltid @(sel_read) // les pi
begynne
hvis (sel_read == 1'b1)
mott = 1'b0;
ellers
mott = 1'b1;
slutt
Trinn 3: Last opp Verilog -kode

Last deretter opp den kompilerte pof -filen til FPGA. Hvis ingen maskinvare oppdages automatisk, klikker du på "Maskinvareoppsett" for å korrigere det manuelt
Trinn 4: Last opp Raspberry Pi -kode
De markerte linjene gjør at FPGA kan kommunisere med Raspberry Pi.
Hele Raspberry Pi-koden for dette prosjektet, https://roywchpi.blogspot.com 2020/06/12-fpga-cycl…
A = GPIO.input (pin) #read FPGAprint (A);
hvis (A == 1):
kamera. rotasjon = 0
GPIO.output (18, GPIO. LOW) #send til FPGA
hvis (A == 0):
kamera. rotasjon = 180
GPIO.output (18, GPIO. HIGH) #send til FPGA
Trinn 5: La oss prøve det


Åpne nettleseren din og skriv inn IP -adressen din f.eks. 192.168.xx.xxx:8000.
Tross alt burde systemet fungere!
Anbefalt:
FPGA Cyclone IV DueProLogic - Trykknapp og LED: 5 trinn

FPGA Cyclone IV DueProLogic - Trykknapp og LED: I denne opplæringen skal vi bruke FPGA til å kontrollere ekstern LED -krets. Vi skal implementere følgende oppgaver (A) Bruk trykknappene på FPGA Cyclone IV DuePrologic for å kontrollere LED. (B) Flash LED på & av periodisk Video demo Lab
FPGA Cyclone IV DueProLogic Controls Servomotor: 4 trinn

FPGA Cyclone IV DueProLogic Controls Servomotor: I denne opplæringen skal vi skrive Verilog -kode for å kontrollere servomotor. Servoen SG-90 er produsert av Waveshare. Når du kjøper servomotoren, kan du motta et datablad som viser driftsspenningen, maksimalt dreiemoment og den foreslåtte Pu
Arduino Cyclone Game: 5 trinn (med bilder)

Arduino Cyclone Game: Jeg har aldri spilt det virkelige syklonspillet, men jeg liker tanken på å spille med reaksjonstiden min. Jeg designet et miniatyrisert spill. Den består av 32 lysdioder som danner en sirkel, lysdiodene lyser en etter en som en leddjager. Målet er å trykke på en rumpe
Cyclone (Arduino LED Game): 6 trinn (med bilder)

Cyclone (Arduino LED Game): I denne opplæringen vil jeg lære deg hvordan du lager et LED -spill med veldig lite kode eller erfaring! Jeg hadde denne ideen en stund, og endelig kom jeg til å lage den. Det er et morsomt spill som minner oss alle om arkadespillene. Det finnes andre opplæringsprogrammer for
Digispark Controls Relay Via GSM: 3 trinn

Digispark Controls Relay Via GSM: Denne instruksjonen bruker et Digispark -kort, sammen med et relé og en GSM -modul for å slå på eller av og apparatet, mens du sender den nåværende tilstanden til et forhåndsdefinert telefonnummer. Koden er veldig grov, reagerer på all kommunikasjon fra modulen t