Kazalo:

FPGA Cyclone IV DueProLogic nadzoruje kamero Raspberry Pi: 5 korakov
FPGA Cyclone IV DueProLogic nadzoruje kamero Raspberry Pi: 5 korakov

Video: FPGA Cyclone IV DueProLogic nadzoruje kamero Raspberry Pi: 5 korakov

Video: FPGA Cyclone IV DueProLogic nadzoruje kamero Raspberry Pi: 5 korakov
Video: Remote FPGA, Arduino, Raspberry Pi and Android devices by Roy WCH 2024, November
Anonim
FPGA Cyclone IV DueProLogic nadzoruje kamero Raspberry Pi
FPGA Cyclone IV DueProLogic nadzoruje kamero Raspberry Pi

Kljub temu, da je FPGA DueProLogic uradno zasnovan za Arduino, bomo FPGA in Raspberry Pi 4B omogočili komunikacijo.

V tej vadnici so izvedene tri naloge:

(A) Hkrati pritisnite dva gumba na FPGA, da obrnete kot kamere RPi.

(B) Raspberry Pi 4B nadzoruje zunanje LED vezje FPGA.

(C) Prenos kamere Raspberry Pi Camera v brskalniku v živo prek WiFi

Korak: Zgradite elektronsko vezje

Korak: Uredite verilog kodo

Uredi verilog kodo
Uredi verilog kodo
Uredi verilog kodo
Uredi verilog kodo

Ko kupite FPGA DueProLogic, morate prejeti DVD. Ko odprete »Projects_HDL«, bi morali videti izvirno datoteko s kodo HDL. Ko nastavite načrtovalnik zatičev, dodajte označeno kodo, kot je prikazano v razdelkih 2A, 2B, 2C in 2D.

2A: Za aktiviranje potisnih gumbov morate uporabiti to kodo

// Stikala s pritiskom na gumb

vhodna žica UBA,

vhodna žica UBB

Če želite komunicirati z Raspberry Pi, jih morate dodati.

reg sel_send; // aktiviranje Raspberry pi

reg rece; // prejeto od maline pi

2B: Če želite dodeliti vrednosti vratom, morate ustrezno urediti kodo

dodeli XIO_1 [3] = start_stop_cntrl;

dodeli XIO_2 [2] = rece; // izhod HIGH ali LOW v tokokrogu LED

dodeli XIO_2 [3] = ~ UBA; //pritisni gumb

dodelite XIO_2 [4] = UBB; //pritisni gumb

dodeli XIO_2 [5] = sel_send; // FPGA pošlje signal malini pi

dodeli sel_read = XIO_5 [1]; // FPGA sprejema signal od maline pi

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

dodeli LEDExt = XIO_5 [5];

2C: Če hkrati pritisnete dva gumba, FPGA pošlje HIGH izhod na Raspberry Pi.

vedno @(sel_send ali UBB ali UBA) // pošlji v RPi

začeti

če (UBB == 1'b0 && UBA == 1'b0)

sel_send = 1'b1;

drugače

sel_send = 1'b0;

konec

2D: FPGA bere signal iz Raspberry Pi s taktno frekvenco 66MHz. Vrata XIO_2 [2] so povezana z "rece".

vedno @(sel_read) // beri pi

začeti

če (sel_read == 1'b1)

rece = 1'b0;

drugače

rece = 1'b1;

konec

Korak: Naložite Verilog kodo

Naloži Verilog kodo
Naloži Verilog kodo

Nato naložite prevedeno datoteko pof na FPGA. Če strojna oprema ni zaznana samodejno, kliknite "Nastavitev strojne opreme", da jo ročno popravite

4. korak: Naložite kodo Raspberry Pi

Poudarjene črte omogočajo komunikacijo FPGA z Raspberry Pi.

Celotna koda Raspberry Pi za ta projekt,

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

če (A == 1):

camera.rotation = 0

GPIO.output (18, GPIO. LOW) #pošlji na FPGA

če (A == 0):

camera.rotation = 180

GPIO.output (18, GPIO. HIGH) #pošlji na FPGA

5. korak: Poskusimo

Image
Image

Odprite brskalnik in vnesite svoj IP naslov, npr. 192.168.xx.xxx:8000.

Navsezadnje bi moral sistem delovati!

Priporočena: