Mündəricat:

FPGA Cyclone IV DueProLogic Controls Raspberry Pi Kamera: 5 addım
FPGA Cyclone IV DueProLogic Controls Raspberry Pi Kamera: 5 addım

Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi Kamera: 5 addım

Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi Kamera: 5 addım
Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera (tutorial & code) 2024, Noyabr
Anonim
FPGA Cyclone IV DueProLogic Nəzarət Raspberry Pi Kamera
FPGA Cyclone IV DueProLogic Nəzarət Raspberry Pi Kamera

FPGA DueProLogic rəsmi olaraq Arduino üçün hazırlanmış olsa da, FPGA və Raspberry Pi 4B -ni ünsiyyətcil hala gətirəcəyik.

Bu təlimatda üç vəzifə yerinə yetirilir:

(A) RPi kamerasının bucağını çevirmək üçün eyni anda FPGA üzərindəki iki düyməni basın.

(B) Raspberry Pi 4B, FPGA -nın xarici LED sxemini idarə edir.

(C) WiFi vasitəsilə Brauzerdə Raspberry Pi Kamerasını canlı yayımlayın

Addım 1: Elektron Dövrə qurun

Addım 2: Verilog Kodunu redaktə edin

Verilog kodunu redaktə edin
Verilog kodunu redaktə edin
Verilog kodunu redaktə edin
Verilog kodunu redaktə edin

FPGA DueProLogic satın aldığınız zaman bir DVD almalısınız. "Projects_HDL" proqramını açdıqdan sonra orijinal HDL kod faylını görməlisiniz. Pin planlayıcısını qurduqdan sonra, 2A, 2B, 2C və 2D bölmələrində göstərildiyi kimi vurgulanan kodu əlavə edin.

2A: Düymələri aktivləşdirmək üçün bu kodu istifadə etməlisiniz

// Düymə Açarları

giriş teli UBA,

giriş teli UBB

Raspberry Pi ilə ünsiyyət qurmaq üçün bunları əlavə etməlisiniz.

reg sel_send; // Raspberry pi -ni aktivləşdirin

qeydiyyatdan keçmə; // moruq pi -dən alınıb

2B: Limanlara dəyər təyin etmək üçün kodu müvafiq olaraq redaktə etməlisiniz

təyin XIO_1 [3] = start_stop_cntrl;

təyin XIO_2 [2] = qəbz; // LED dövrəsində YÜKSƏ və ya DÜŞÜŞ

təyin XIO_2 [3] = ~ UBA; // düyməni basmaq

təyin XIO_2 [4] = UBB; // düyməni basmaq

təyin XIO_2 [5] = sel_send; // FPGA moruq pi -yə siqnal göndərir

sel_read = XIO_5 [1] təyin edin; // FPGA moruq pi -dən siqnal alır

c_enable = XIO_5 [2] təyin edin; // XIO_5 - UB57 - D17

LEDExt = XIO_5 [5] təyin edin;

2C: Eyni anda iki düyməyə basılırsa, FPGA Raspberry Pi -yə YÜKSƏK çıxış göndərir.

həmişə @(sel_send və ya UBB və ya UBA) // RPi -yə göndərin

başlamaq

əgər (UBB == 1'b0 && UBA == 1'b0)

sel_send = 1'b1;

başqa

sel_send = 1'b0;

bitmək

2D: FPGA, Raspberry Pi -dən 66MHz saat tezliyi ilə gələn siqnalı oxuyur. XIO_2 [2] portu 'qəbul' ilə əlaqələndirilir.

həmişə @(sel_read) // pi oxuyun

başlamaq

əgər (sel_read == 1'b1)

qəbul = 1'b0;

başqa

qəbul = 1'b1;

bitmək

Addım 3: Verilog Kodunu Yükləyin

Verilog kodunu yükləyin
Verilog kodunu yükləyin

Sonra tərtib edilmiş pof faylını FPGA -ya yükləyin. Avtomatik olaraq heç bir hardware aşkar edilmirsə, əl ilə düzəltmək üçün "Hardware Setup" düyməsini basın

Addım 4: Raspberry Pi Kodunu yükləyin

Vurğulanan xətlər, FPGA -ya Raspberry Pi ilə əlaqə qurmağa imkan verir.

Bu layihə üçün tam Raspberry Pi kodu,

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

əgər (A == 1):

kamera.dönüş = 0

GPIO.output (18, GPIO. LOW) #FPGA -ya göndər

əgər (A == 0):

kamera.dönüş = 180

GPIO.output (18, GPIO. HIGH) #FPGA -ya göndər

Addım 5: Gəlin sınayaq

Image
Image

Brauzerinizi açın və IP ünvanınızı yazın, məsələn. 192.168.xx.xxx:8000.

Axı sistem işləməlidir!

Tövsiyə: