İçindekiler:

FPGA Cyclone IV DueProLogic Raspberry Pi Kamerayı Kontrol Ediyor: 5 Adım
FPGA Cyclone IV DueProLogic Raspberry Pi Kamerayı Kontrol Ediyor: 5 Adım

Video: FPGA Cyclone IV DueProLogic Raspberry Pi Kamerayı Kontrol Ediyor: 5 Adım

Video: FPGA Cyclone IV DueProLogic Raspberry Pi Kamerayı Kontrol Ediyor: 5 Adım
Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera (tutorial & code) 2024, Kasım
Anonim
FPGA Cyclone IV DueProLogic Raspberry Pi Kamerayı Kontrol Ediyor
FPGA Cyclone IV DueProLogic Raspberry Pi Kamerayı Kontrol Ediyor

FPGA DueProLogic resmi olarak Arduino için tasarlanmış olmasına rağmen, FPGA ve Raspberry Pi 4B'yi iletişimsel hale getireceğiz.

Bu öğreticide üç görev uygulanmaktadır:

(A) RPi kameranın açısını çevirmek için FPGA üzerindeki iki basma düğmesine aynı anda basın.

(B) Raspberry Pi 4B, FPGA'nın harici LED devresini kontrol eder.

(C) Ahududu Pi Kamerasını WiFi üzerinden Tarayıcıda canlı yayınlayın

Adım 1: Elektronik Devre Oluşturun

2. Adım: Verilog Kodunu Düzenleyin

Verilog Kodunu Düzenle
Verilog Kodunu Düzenle
Verilog Kodunu Düzenle
Verilog Kodunu Düzenle

FPGA DueProLogic'i satın aldığınızda, bir DVD alacaksınız. "Projects_HDL"yi açtıktan sonra orijinal HDL kod dosyasını görmelisiniz. Pin planlayıcıyı kurduktan sonra, vurgulanan kodu 2A, 2B, 2C ve 2D bölümlerinde gösterildiği gibi ekleyin.

2A: Basmalı düğmeleri etkinleştirmek için bu kodu kullanmanız gerekir.

//Basmalı Düğme Anahtarları

giriş kablosu UBA,

giriş kablosu UBB

Raspberry Pi ile iletişim kurmak için bunları eklemeniz gerekiyor.

kayıt sel_send; // Raspberry pi'yi etkinleştir

reg rece; // ahududu pi'den alındı

2B: Portlara değer atamak için kodu buna göre düzenlemelisiniz.

XIO_1[3] ata = start_stop_cntrl;

atama XIO_2[2] = alma; //LED devresinde YÜKSEK veya DÜŞÜK çıkış

XIO_2[3] = ~UBA ata; //butona basınız

XIO_2[4] ata = UBB; //butona basınız

atama XIO_2[5] = sel_send; // FPGA, ahududu pi'ye sinyal gönderir

sel_read= XIO_5[1]; //FPGA, ahududu pi'den sinyal alır

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

LEDExt = XIO_5[5] ata;

2C: İki buton aynı anda basılırsa, FPGA Raspberry Pi'ye YÜKSEK çıktı gönderir.

her zaman @(sel_send veya UBB veya UBA) //RPi'ye gönder

başlamak

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

sel_send = 1'b1;

Başka

sel_send = 1'b0;

son

2D: FPGA, Raspberry Pi'den gelen sinyali 66MHz saat frekansıyla okur. XIO_2[2] bağlantı noktası 'rece' ile bağlantılıdır.

her zaman @(sel_read) //pi'yi oku

başlamak

if (sel_read == 1'b1)

alma = 1'b0;

Başka

alma = 1'b1;

son

3. Adım: Verilog Kodunu Yükleyin

Verilog Kodunu Yükle
Verilog Kodunu Yükle

Ardından derlenen pof dosyasını FPGA'ya yükleyin. Otomatik olarak hiçbir donanım algılanmazsa, manuel olarak düzeltmek için "Donanım Kurulumu"na tıklayın.

Adım 4: Raspberry Pi Kodunu Yükleyin

Vurgulanan çizgiler, FPGA'nın Raspberry Pi ile iletişim kurmasını sağlar.

Bu proje için tam Raspberry Pi kodu,

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

if(A==1):

kamera döndürme = 0

GPIO.output(18, GPIO. LOW) #FPGA'ya gönder

if(A==0):

kamera.döndürme = 180

GPIO.output(18, GPIO. HIGH) #FPGA'ya gönder

Adım 5: Hadi Deneyelim

Image
Image

Tarayıcınızı açın ve IP adresinizi yazın, örn. 192.168.xx.xxx:8000.

Sonuçta, sistem çalışmalı!

Önerilen: