Tartalomjegyzék:

FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera: 5 lépés
FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera: 5 lépés

Videó: FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera: 5 lépés

Videó: FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera: 5 lépés
Videó: FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera (tutorial & code) 2024, November
Anonim
FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera
FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera

Annak ellenére, hogy az FPGA DueProLogic -t hivatalosan az Arduino számára tervezték, az FPGA -t és a Raspberry Pi 4B -t kommunikálhatóvá tesszük.

Ebben az oktatóanyagban három feladatot hajtanak végre:

(A) Nyomja meg egyszerre az FPGA két nyomógombját az RPi kamera szögének megfordításához.

(B) A Raspberry Pi 4B vezérli az FPGA külső LED áramkörét.

(C) Élőben közvetítse a Raspberry Pi kamerát a böngészőben WiFi -n keresztül

1. lépés: Elektronikus áramkör építése

2. lépés: A Verilog -kód szerkesztése

Verilog -kód szerkesztése
Verilog -kód szerkesztése
Verilog -kód szerkesztése
Verilog -kód szerkesztése

Az FPGA DueProLogic megvásárlásakor DVD -t kell kapnia. A "Projects_HDL" megnyitása után látnia kell az eredeti HDL kódfájlt. A tűtervező beállítása után adja hozzá a kiemelt kódot a 2A, 2B, 2C és 2D szakaszban látható módon.

2A: A nyomógombok aktiválásához ezt a kódot kell használnia

// Nyomógombos kapcsolók

bemeneti vezeték UBA,

bemeneti vezeték UBB

A Raspberry Pi -vel való kommunikációhoz ezeket hozzá kell adnia.

reg sel_send; // aktiválja a Raspberry pi -t

reg rece; // málna pi -től kapott

2B: Ahhoz, hogy értékeket rendeljen a portokhoz, ennek megfelelően kell szerkesztenie a kódot

hozzárendelni XIO_1 [3] = start_stop_cntrl;

hozzárendel XIO_2 [2] = rece; // HIGH vagy LOW kimenet a LED áramkörben

hozzárendel XIO_2 [3] = ~ UBA; //nyomógomb

hozzárendel XIO_2 [4] = UBB; //nyomógomb

hozzárendel XIO_2 [5] = sel_send; // Az FPGA jelet küld a málna pi -nek

sel_read hozzárendelése = XIO_5 [1]; // Az FPGA jeleket fogad a málna pi -től

hozzárendel c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17

hozzárendelni LEDExt = XIO_5 [5];

2C: Ha két nyomógombot egyszerre nyom meg, az FPGA HIGH kimenetet küld a Raspberry Pi -nek.

mindig @(sel_send vagy UBB vagy UBA) // küld RPi -nek

kezdődik

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

sel_send = 1'b1;

más

sel_send = 1'b0;

vége

2D: Az FPGA 66MHz órajelű frekvencián olvassa a Raspberry Pi jelét. Az XIO_2 [2] port a "rece" -hez van kapcsolva.

mindig @(sel_read) // olvassa pi

kezdődik

if (sel_read == 1'b1)

rece = 1'b0;

más

rece = 1'b1;

vége

3. lépés: Töltse fel a Verilog -kódot

Verilog -kód feltöltése
Verilog -kód feltöltése

Ezután töltse fel az összeállított pof fájlt az FPGA -ba. Ha nem észlel automatikusan hardvert, kattintson a "Hardverbeállítás" gombra a kézi javításhoz

4. lépés: Töltse fel a Raspberry Pi kódot

A kiemelt vonalak lehetővé teszik, hogy az FPGA kommunikáljon a Raspberry Pi -vel.

A projekt teljes Raspberry Pi kódja,

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

ha (A == 1):

kamera.forgatás = 0

GPIO.output (18, GPIO. LOW) #küldés az FPGA -nak

ha (A == 0):

kamera.forgatás = 180

GPIO.output (18, GPIO. HIGH) #küldés az FPGA -nak

5. lépés: Próbáljuk ki

Image
Image

Nyissa meg a böngészőt, és írja be az IP -címét, pl. 192.168.xx.xxx:8000.

Végül is a rendszernek működnie kell!

Ajánlott: