Përmbajtje:

Cikloni IV FPGA DueProLogic Controls Kamera Raspberry Pi: 5 Hapa
Cikloni IV FPGA DueProLogic Controls Kamera Raspberry Pi: 5 Hapa

Video: Cikloni IV FPGA DueProLogic Controls Kamera Raspberry Pi: 5 Hapa

Video: Cikloni IV FPGA DueProLogic Controls Kamera Raspberry Pi: 5 Hapa
Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera (tutorial & code) 2024, Nëntor
Anonim
FPGA Cikloni IV DueProLogic Kontrollon Kamera Raspberry Pi
FPGA Cikloni IV DueProLogic Kontrollon Kamera Raspberry Pi

Pavarësisht se FPGA DueProLogic është projektuar zyrtarisht për Arduino, ne do t'i bëjmë FPGA dhe Raspberry Pi 4B të komunikueshme.

Tre detyra janë zbatuar në këtë tutorial:

(A) Shtypni njëkohësisht dy butonat e shtypjes në FPGA për të përmbysur këndin e kamerës RPi.

(B) Raspberry Pi 4B kontrollon qarkun e jashtëm LED të FPGA.

(C) Transmetoni drejtpërdrejt Kamerën Raspberry Pi në Shfletues përmes WiFi

Hapi 1: Ndërtoni një qark elektronik

Hapi 2: Ndryshoni Kodin Verilog

Ndrysho Kodin Verilog
Ndrysho Kodin Verilog
Ndrysho Kodin Verilog
Ndrysho Kodin Verilog

Kur blini FPGA DueProLogic, duhet të merrni një DVD. Pasi të hapni "Projects_HDL", duhet të shihni skedarin origjinal të kodit HDL. Pasi të keni konfiguruar pin planifikuesin, shtoni kodin e theksuar siç tregohet në seksionin 2A, 2B, 2C dhe 2D.

2A: Për të aktivizuar butonat e shtypjes, duhet të përdorni këtë kod

// Çelësat e butonit të shtytjes

tela hyrëse UBA,

tela hyrëse UBB

Për të komunikuar me Raspberry Pi, duhet t'i shtoni ato.

reg sel_send; // aktivizoni Raspberry pi

reg recep; // marrë nga pi mjedër

2B: Për të caktuar vlerat në porte, duhet të redaktoni kodin në përputhje me rrethanat

cakto XIO_1 [3] = start_stop_cntrl;

cakto XIO_2 [2] = marrje; // dalje HIGH ose LOW në qark LED

cakto XIO_2 [3] = ~ UBA; // butonin e shtypjes

cakto XIO_2 [4] = UBB; // butonin e shtypjes

cakto XIO_2 [5] = sel_send; // FPGA dërgon sinjal te mjedra pi

cakto sel_read = XIO_5 [1]; // FPGA merr sinjal nga mjedra pi

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

cakto LEDExt = XIO_5 [5];

2C: Nëse dy butona shtypet njëkohësisht, FPGA dërgon dalje të Lartë në Raspberry Pi.

gjithmonë @(sel_send ose UBB ose UBA) // dërgoni në RPi

filloj

nëse (UBB == 1'b0 && UBA == 1'b0)

sel_send = 1'b1;

tjeter

sel_send = 1'b0;

fund

2D: FPGA lexon sinjalin nga Raspberry Pi me frekuencën e orës 66MHz. Porti XIO_2 [2] është i lidhur me 'rece'.

gjithmonë @(sel_read) // lexo pi

filloj

nëse (sel_lex == 1'b1)

rece = 1'b0;

tjeter

rece = 1'b1;

fund

Hapi 3: Ngarko kodin Verilog

Ngarko kodin Verilog
Ngarko kodin Verilog

Pastaj ngarkoni skedarin e përpiluar pof në FPGA. Nëse asnjë pajisje nuk zbulohet automatikisht, klikoni "Konfigurimi i Pajisjeve" për ta korrigjuar atë me dorë

Hapi 4: Ngarko kodin Raspberry Pi

Linjat e theksuara lejojnë që FPGA të komunikojë me Raspberry Pi.

Kodi i plotë Raspberry Pi për këtë projekt,

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

nëse (A == 1):

kamera.rrotullimi = 0

GPIO.putput (18, GPIO. LOW) #dërgoni në FPGA

nëse (A == 0):

kamera.rrotullimi = 180

GPIO.putput (18, GPIO. HIGHT) #dërgoni në FPGA

Hapi 5: Le ta Provojmë

Image
Image

Hapni shfletuesin tuaj dhe shkruani adresën tuaj IP p.sh. 192.168.xx.xxx:8000.

Në fund të fundit, sistemi duhet të funksionojë!

Recommended: