Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Hoolimata sellest, et FPGA DueProLogic on ametlikult loodud Arduino jaoks, muudame FPGA ja Raspberry Pi 4B suheldavaks.
Selles õpetuses rakendatakse kolme ülesannet:
(A) RPi kaamera nurga pööramiseks vajutage samaaegselt FPGA kahte nuppu.
(B) Raspberry Pi 4B juhib FPGA välist LED -ahelat.
(C) Raspberry Pi kaamera otseülekanne brauseris WiFi kaudu
Samm: ehitage elektrooniline vooluahel
2. toiming: muutke Verilogi koodi
FPGA DueProLogicu ostmisel peaksite saama DVD -plaadi. Pärast "Projects_HDL" avamist peaksite nägema HDL -i algfaili. Pärast tihvtide planeerija seadistamist lisage esiletõstetud kood, nagu on näidatud jaotistes 2A, 2B, 2C ja 2D.
2A: nuppude aktiveerimiseks peate kasutama seda koodi
// Nuppude lülitid
sisendkaabel UBA,
sisendkaabel UBB
Raspberry Pi -ga suhtlemiseks peate need lisama.
reg sel_send; // aktiveeri Raspberry pi
reg rece; // saadud vaarika pi
2B: portidele väärtuste määramiseks peaksite koodi vastavalt muutma
määrata XIO_1 [3] = start_stop_cntrl;
määrata XIO_2 [2] = rece; // väljund HIGH või LOW LED -ahelas
määrata XIO_2 [3] = ~ UBA; // vajutage nuppu
määrata XIO_2 [4] = UBB; // vajutage nuppu
määrata XIO_2 [5] = sel_send; // FPGA saadab signaali vaarika pi
määrake sel_read = XIO_5 [1]; // FPGA võtab vastu signaali vaarika pi -lt
määrata c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17
määrata LEDExt = XIO_5 [5];
2C: Kui vajutate korraga kahte nuppu, saadab FPGA HIGH väljundi Raspberry Pi -le.
alati @(sel_send või UBB või UBA) // saata RPi -le
alustada
kui (UBB == 1'b0 && UBA == 1'b0)
sel_send = 1'b1;
muidu
sel_send = 1'b0;
lõpp
2D: FPGA loeb Raspberry Pi signaali taktsagedusega 66 MHz. Port XIO_2 [2] on lingitud 'rece' -ga.
alati @(sel_read) // loe pi
alustada
kui (sel_read == 1'b1)
rece = 1'b0;
muidu
rece = 1'b1;
lõpp
3. toiming: laadige üles Verilogi kood
Seejärel laadige kompileeritud pof -fail üles FPGA -sse. Kui riistvara ei tuvastata automaatselt, klõpsake selle käsitsi parandamiseks nuppu "Riistvara häälestus"
Samm: laadige üles Raspberry Pi kood
Esiletõstetud read võimaldavad FPGA -l Raspberry Pi -ga suhelda.
Selle projekti Raspberry Pi täielik kood,
A = GPIO.input (pin) #read FPGAprint (A);
kui (A == 1):
kaamera.pööramine = 0
GPIO.väljund (18, GPIO. LOW) #saada FPGA -le
kui (A == 0):
kaamera.pööramine = 180
GPIO.väljund (18, GPIO. HIGH) #saadab FPGA -le
Samm: proovime seda
Avage oma brauser ja tippige oma IP -aadress nt. 192.168.xx.xxx:8000.
Lõppude lõpuks peaks süsteem töötama!