INHOUDSOPGAWE:

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

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

Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: 5 stappe
Video: 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

Ondanks die FPGA DueProLogic is amptelik ontwerp vir Arduino, gaan ons die FPGA en Raspberry Pi 4B oordraagbaar maak.

Drie take word in hierdie tutoriaal geïmplementeer:

(A) Druk gelyktydig op die twee drukknoppies op FPGA om die hoek van die RPi -kamera te draai.

(B) Raspberry Pi 4B beheer die eksterne LED -kring van FPGA.

(C) Stroom die Raspberry Pi -kamera regstreeks via die blaaier via WiFi

Stap 1: Bou 'n elektroniese stroombaan

Stap 2: Wysig Verilog -kode

Verander Verilog -kode
Verander Verilog -kode
Verander Verilog -kode
Verander Verilog -kode

As u die FPGA DueProLogic koop, moet u 'n DVD ontvang. Nadat u 'Projects_HDL' oopgemaak het, moet u die oorspronklike HDL -kode lêer sien. Nadat u die penbeplanner opgestel het, voeg die gemerkte kode by soos aangedui in afdeling 2A, 2B, 2C en 2D.

2A: Om drukknoppies te aktiveer, moet u hierdie kode gebruik

// Drukknopskakelaars

insetdraad UBA,

insetdraad UBB

Om met Raspberry Pi te kommunikeer, moet u dit byvoeg.

reg sel_send; // aktiveer Framboos pi

reg ontvang; // ontvang van framboos pi

2B: Om waardes aan die poorte toe te ken, moet u die kode dienooreenkomstig wysig

ken XIO_1 [3] toe = start_stop_cntrl;

ken XIO_2 [2] = ontvang toe; // voer HOOG of LAAG uit in LED -stroombaan

ken XIO_2 [3] = ~ UBA toe; //druk knoppie

ken XIO_2 [4] = UBB toe; //druk knoppie

ken XIO_2 [5] toe = sel_send; // FPGA stuur sein na framboos pi

ken sel_read = XIO_5 [1] toe; // FPGA ontvang sein van framboos pi

ken c_enable = XIO_5 [2] toe; // XIO_5 - UB57 - D17

ken LEDExt = XIO_5 [5] toe;

2C: As twee drukknoppies gelyktydig ingedruk word, stuur die FPGA HOOG uitvoer na Raspberry Pi.

altyd @(sel_send of UBB of UBA) // stuur na RPi

begin

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

sel_send = 1'b1;

anders

sel_send = 1'b0;

einde

2D: Die FPGA leessein van Raspberry Pi met die klokfrekwensie van 66MHz. Die poort XIO_2 [2] is gekoppel aan 'ontvang'.

altyd @(sel_read) // lees pi

begin

as (sel_read == 1'b1)

ontvangs = 1'b0;

anders

ontvangs = 1'b1;

einde

Stap 3: Laai Verilog -kode op

Laai die Verilog -kode op
Laai die Verilog -kode op

Laai dan die saamgestelde pof -lêer op na die FPGA. As geen hardeware outomaties opgespoor word nie, klik dan op "Hardware Setup" om dit met die hand reg te stel

Stap 4: Laai Raspberry Pi -kode op

Die gemerkte lyne laat die FPGA toe om met Raspberry Pi te kommunikeer.

Die volledige Raspberry Pi-kode vir hierdie projek,

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

as (A == 1):

kamera.rotasie = 0

GPIO.output (18, GPIO. LOW) #send na FPGA

as (A == 0):

kamera.rotasie = 180

GPIO.output (18, GPIO. HIGH) #send na FPGA

Stap 5: Kom ons probeer dit

Image
Image

Maak u blaaier oop en tik u IP -adres, bv. 192.168.xx.xxx:8000.

Die stelsel behoort immers te werk!

Aanbeveel: