Sisukord:

FPGA Cyclone IV DueProLogic Controls Raspberry Pi kaamera: 5 sammu
FPGA Cyclone IV DueProLogic Controls Raspberry Pi kaamera: 5 sammu

Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi kaamera: 5 sammu

Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi kaamera: 5 sammu
Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera (tutorial & code) 2024, November
Anonim
FPGA Cyclone IV DueProLogic juhib Raspberry Pi kaamerat
FPGA Cyclone IV DueProLogic juhib Raspberry Pi kaamerat

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

Muutke Verilogi koodi
Muutke Verilogi koodi
Muutke Verilogi koodi
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

Laadige Verilogi kood üles
Laadige Verilogi kood üles

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

Image
Image

Avage oma brauser ja tippige oma IP -aadress nt. 192.168.xx.xxx:8000.

Lõppude lõpuks peaks süsteem töötama!

Soovitan: