Sisällysluettelo:

FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: 5 vaihetta
FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: 5 vaihetta

Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: 5 vaihetta

Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: 5 vaihetta
Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera (tutorial & code) 2024, Marraskuu
Anonim
FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera
FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera

Huolimatta siitä, että FPGA DueProLogic on virallisesti suunniteltu Arduinolle, aiomme tehdä FPGA: sta ja Raspberry Pi 4B -yhteensopiviksi.

Tässä opetusohjelmassa toteutetaan kolme tehtävää:

(A) Käännä RPi -kameran kulma painamalla samanaikaisesti kahta FPGA -painikkeen painiketta.

(B) Raspberry Pi 4B ohjaa FPGA: n ulkoista LED -piiriä.

(C) Suoratoista Raspberry Pi -kamera selaimessa WiFi -yhteyden kautta

Vaihe 1: Rakenna elektroninen piiri

Vaihe 2: Muokkaa Verilog -koodia

Muokkaa Verilog -koodia
Muokkaa Verilog -koodia
Muokkaa Verilog -koodia
Muokkaa Verilog -koodia

Kun ostat FPGA DueProLogicin, sinun pitäisi saada DVD. Kun olet avannut "Projects_HDL", sinun pitäisi nähdä alkuperäinen HDL -kooditiedosto. Kun olet määrittänyt nastasuunnittelijan, lisää korostettu koodi osien 2A, 2B, 2C ja 2D mukaisesti.

2A: Painikkeiden aktivoimiseksi sinun on käytettävä tätä koodia

// Painonappikytkimet

tulojohto UBA,

tulojohto UBB

Jotta voit kommunikoida Raspberry Pi: n kanssa, sinun on lisättävä nämä.

reg sel_send; // aktivoi Raspberry pi

reg rece; // saatu vadelmalta pi

2B: Jos haluat määrittää porteille arvoja, sinun on muokattava koodi vastaavasti

anna XIO_1 [3] = start_stop_cntrl;

antaa XIO_2 [2] = rece; // lähtö HIGH tai LOW LED -piirissä

määritä XIO_2 [3] = ~ UBA; //paina nappia

määritä XIO_2 [4] = UBB; //paina nappia

anna XIO_2 [5] = sel_send; // FPGA lähettää signaalin vadelmapi: lle

anna sel_read = XIO_5 [1]; // FPGA vastaanottaa signaalin vadelmalta pi

anna c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17

määritä LEDExt = XIO_5 [5];

2C: Jos kahta painonappia painetaan samanaikaisesti, FPGA lähettää HIGH -lähdön Raspberry Pi: lle.

aina @(sel_send tai UBB tai UBA) // lähetä RPi: lle

alkaa

jos (UBB == 1'b0 && UBA == 1'b0)

sel_send = 1'b1;

muu

sel_send = 1'b0;

loppuun

2D: FPGA lukee Raspberry Pi -signaalin kellotaajuudella 66 MHz. Portti XIO_2 [2] on linkitetty vastaanottimeen.

aina @(sel_read) // lue pi

alkaa

jos (sel_read == 1'b1)

rece = 1'b0;

muu

rece = 1'b1;

loppuun

Vaihe 3: Lähetä Verilog -koodi

Lataa Verilog -koodi
Lataa Verilog -koodi

Lataa sitten koottu pof -tiedosto FPGA: han. Jos laitteistoa ei tunnisteta automaattisesti, korjaa se manuaalisesti napsauttamalla "Laitteiston asennus"

Vaihe 4: Lataa Raspberry Pi -koodi

Korostetut linjat mahdollistavat FPGA: n kommunikoinnin Raspberry Pi: n kanssa.

Raspberry Pi -koodi tälle projektille,

A = GPIO.input (pin) #read FPGAprint (A);

jos (A == 1):

camera.rotation = 0

GPIO. output (18, GPIO. LOW) #lähetetään FPGA: lle

jos (A == 0):

kamera. kierto = 180

GPIO. output (18, GPIO. HIGH) #lähetetään FPGA: lle

Vaihe 5: Kokeillaan

Image
Image

Avaa selain ja kirjoita IP -osoitteesi esim. 192.168.xx.xxx:8000.

Loppujen lopuksi järjestelmän pitäisi toimia!

Suositeltava: