Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Obwohl das FPGA DueProLogic offiziell für Arduino entwickelt wurde, werden wir das FPGA und den Raspberry Pi 4B kommunikationsfähig machen.
In diesem Tutorial werden drei Aufgaben implementiert:
(A) Drücken Sie gleichzeitig die beiden Drucktasten am FPGA, um den Winkel der RPi-Kamera umzudrehen.
(B) Raspberry Pi 4B steuert die externe LED-Schaltung des FPGA.
(C) Live-Stream der Raspberry Pi-Kamera im Browser über WLAN
Schritt 1: Elektronische Schaltung aufbauen
Schritt 2: Verilog-Code bearbeiten
Beim Kauf des FPGA DueProLogic sollten Sie eine DVD erhalten. Nachdem Sie "Projects_HDL" geöffnet haben, sollten Sie die ursprüngliche HDL-Codedatei sehen. Nachdem Sie den Pinplaner eingerichtet haben, fügen Sie den hervorgehobenen Code wie in Abschnitt 2A, 2B, 2C und 2D gezeigt hinzu.
2A: Um Drucktasten zu aktivieren, müssen Sie diesen Code verwenden
//Druckknopfschalter
Eingangsleitung UBA,
Eingangsleitung UBB
Um mit Raspberry Pi zu kommunizieren, müssen Sie diese hinzufügen.
reg sel_send; // Raspberry Pi aktivieren
regrece; //erhalten von Himbeere pi
2B: Um den Ports Werte zuzuweisen, sollten Sie den Code entsprechend bearbeiten
zuweisen XIO_1[3] = start_stop_cntrl;
zuweisen XIO_2[2] = rece; // Ausgang HIGH oder LOW in LED-Schaltung
zuweisen XIO_2[3] = ~UBA; //Druckknopf
zuweisen XIO_2[4] = UBB; //Druckknopf
zuweisen XIO_2[5] = sel_send; // FPGA sendet Signal an Himbeer-Pi
zuweisen sel_read= XIO_5[1]; //FPGA empfängt Signal von Himbeer-Pi
c_enable zuweisen = XIO_5[2]; //XIO_5 -- UB57 -- D17
zuweisen LEDExt = XIO_5[5];
2C: Wenn zwei Taster gleichzeitig gedrückt werden, sendet das FPGA HIGH-Ausgang an Raspberry Pi.
immer @(sel_send oder UBB oder UBA) //sende an RPi
Start
if (UBB == 1'b0 && UBA == 1'b0)
sel_send = 1'b1;
anders
sel_send = 1'b0;
Ende
2D: Das FPGA liest das Signal vom Raspberry Pi mit der Taktfrequenz von 66MHz. Der Port XIO_2[2] ist mit 'rece' verknüpft.
immer @(sel_read) //lesen pi
Start
if (sel_read == 1'b1)
rece = 1'b0;
anders
rece = 1'b1;
Ende
Schritt 3: Verilog-Code hochladen
Laden Sie dann die kompilierte Pof-Datei auf das FPGA hoch. Wenn keine Hardware automatisch erkannt wird, klicken Sie auf "Hardware Setup", um dies manuell zu korrigieren
Schritt 4: Raspberry Pi-Code hochladen
Die hervorgehobenen Zeilen ermöglichen es dem FPGA, mit Raspberry Pi zu kommunizieren.
Der vollständige Raspberry Pi-Code für dieses Projekt,
A = GPIO.input (pin) #read FPGAprint (A);
wenn(A==1):
Kamera. Drehung = 0
GPIO.output(18, GPIO. LOW) #send to FPGA
wenn(A==0):
Kamera. Drehung = 180
GPIO.output(18, GPIO. HIGH) #an FPGA senden
Schritt 5: Versuchen wir es
Öffnen Sie Ihren Browser und geben Sie Ihre IP-Adresse ein, z. B. 192.168.xx.xxx:8000.
Schließlich soll das System funktionieren!