Satura rādītājs:

FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera: 5 soļi
FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera: 5 soļi

Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera: 5 soļi

Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera: 5 soļi
Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera (tutorial & code) 2024, Novembris
Anonim
FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera
FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera

Neskatoties uz to, ka FPGA DueProLogic ir oficiāli izstrādāts Arduino, mēs padarīsim FPGA un Raspberry Pi 4B sazināmus.

Šajā apmācībā tiek īstenoti trīs uzdevumi:

(A) Vienlaicīgi nospiediet abas FPGA spiedpogas, lai apgrieztu RPi kameras leņķi.

(B) Raspberry Pi 4B kontrolē FPGA ārējo LED ķēdi.

(C) Tiešraides straumējiet Raspberry Pi kameru pārlūkprogrammā, izmantojot WiFi

1. darbība: izveidojiet elektronisko shēmu

2. darbība: rediģējiet Verilog kodu

Rediģēt Verilog kodu
Rediģēt Verilog kodu
Rediģēt Verilog kodu
Rediģēt Verilog kodu

Pērkot FPGA DueProLogic, jums jāsaņem DVD. Pēc “Projects_HDL” atvēršanas jums vajadzētu redzēt sākotnējo HDL koda failu. Pēc tapas plānotāja iestatīšanas pievienojiet iezīmēto kodu, kā parādīts 2A, 2B, 2C un 2D sadaļā.

2A: Lai aktivizētu spiedpogas, jums jāizmanto šis kods

// Spiedpogas slēdži

ievades vads UBA,

ievades vads UBB

Lai sazinātos ar Raspberry Pi, tie ir jāpievieno.

reg sel_send; // aktivizēt Raspberry pi

reg rece; // saņemts no aveņu pi

2B: Lai portiem piešķirtu vērtības, jums attiecīgi jārediģē kods

piešķirt XIO_1 [3] = start_stop_cntrl;

piešķirt XIO_2 [2] = rece; // izeja HIGH vai LOW LED ķēdē

piešķirt XIO_2 [3] = ~ UBA; //Uzspied pogu

piešķirt XIO_2 [4] = UBB; //Uzspied pogu

piešķirt XIO_2 [5] = sel_send; // FPGA sūta signālu aveņu pi

piešķirt sel_read = XIO_5 [1]; // FPGA saņem signālu no aveņu pi

piešķirt c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17

piešķirt LEDExt = XIO_5 [5];

2C: ja vienlaikus tiek nospiestas divas spiedpogas, FPGA nosūta HIGH produkciju uz Raspberry Pi.

vienmēr @(sel_send vai UBB vai UBA) // sūtīt uz RPi

sākt

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

sel_send = 1'b1;

citādi

sel_send = 1'b0;

beigas

2D: FPGA nolasa signālu no Raspberry Pi ar takts frekvenci 66 MHz. Ports XIO_2 [2] ir saistīts ar 'rece'.

vienmēr @(sel_read) // lasīt pi

sākt

ja (sel_read == 1'b1)

rece = 1'b0;

citādi

rece = 1'b1;

beigas

3. darbība: augšupielādējiet Verilog kodu

Augšupielādējiet Verilog kodu
Augšupielādējiet Verilog kodu

Pēc tam augšupielādējiet apkopoto pof failu FPGA. Ja aparatūra netiek atklāta automātiski, noklikšķiniet uz "Aparatūras iestatīšana", lai to labotu manuāli

4. darbība: augšupielādējiet Raspberry Pi kodu

Izceltās līnijas ļauj FPGA sazināties ar Raspberry Pi.

Pilns Raspberry Pi kods šim projektam,

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

ja (A == 1):

kamera. rotācija = 0

GPIO.output (18, GPIO. LOW) #sūtīt FPGA

ja (A == 0):

kamera. rotācija = 180

GPIO.output (18, GPIO. HIGH) #sūtīt FPGA

5. darbība: izmēģināsim

Image
Image

Atveriet pārlūkprogrammu un ierakstiet savu IP adresi, piem. 192.168.xx.xxx:8000.

Galu galā sistēmai vajadzētu darboties!

Ieteicams: