Daftar Isi:

FPGA Cyclone IV DueProLogic Mengontrol Kamera Raspberry Pi: 5 Langkah
FPGA Cyclone IV DueProLogic Mengontrol Kamera Raspberry Pi: 5 Langkah

Video: FPGA Cyclone IV DueProLogic Mengontrol Kamera Raspberry Pi: 5 Langkah

Video: FPGA Cyclone IV DueProLogic Mengontrol Kamera Raspberry Pi: 5 Langkah
Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera (tutorial & code) 2024, November
Anonim
FPGA Cyclone IV DueProLogic Mengontrol Kamera Raspberry Pi
FPGA Cyclone IV DueProLogic Mengontrol Kamera Raspberry Pi

Meskipun FPGA DueProLogic secara resmi dirancang untuk Arduino, kami akan membuat FPGA dan Raspberry Pi 4B dapat dikomunikasikan.

Tiga tugas diimplementasikan dalam tutorial ini:

(A) Secara bersamaan tekan dua tombol pada FPGA untuk membalik sudut kamera RPi.

(B) Raspberry Pi 4B mengontrol sirkuit LED eksternal FPGA.

(C) Streaming langsung Kamera Raspberry Pi di Browser melalui WiFi

Langkah 1: Bangun Sirkuit Elektronik

Langkah 2: Edit Kode Verilog

Edit Kode Verilog
Edit Kode Verilog
Edit Kode Verilog
Edit Kode Verilog

Saat Anda membeli FPGA DueProLogic, Anda akan menerima DVD. Setelah Anda membuka "Projects_HDL", Anda akan melihat file kode HDL asli. Setelah Anda mengatur perencana pin, tambahkan kode yang disorot seperti yang ditunjukkan pada bagian 2A, 2B, 2C dan 2D.

2A: Untuk mengaktifkan tombol tekan, Anda harus menggunakan kode ini

// Saklar Tombol Tekan

kabel masukan UBA,

kabel masukan UBB

Untuk berkomunikasi dengan Raspberry Pi, Anda perlu menambahkan ini.

reg kirim_sel; //aktifkan Raspberry pi

pendaftaran ulang; //diterima dari raspberry pi

2B: Untuk memberikan nilai ke port, Anda harus mengedit kode yang sesuai

tetapkan XIO_1[3] = start_stop_cntrl;

tetapkan XIO_2[2] = rece; //output TINGGI atau RENDAH di sirkuit LED

menetapkan XIO_2[3] = ~UBA; //tekan tombol

tetapkan XIO_2[4] = UBB; //tekan tombol

tetapkan XIO_2[5] = sel_send; // FPGA mengirimkan sinyal ke raspberry pi

tetapkan sel_read= XIO_5[1]; //FPGA menerima sinyal dari raspberry pi

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

menetapkan LEDExt = XIO_5[5];

2C: Jika dua tombol tekan ditekan secara bersamaan, FPGA mengirimkan output TINGGI ke Raspberry Pi.

selalu @(sel_send atau UBB atau UBA) //kirim ke RPi

mulai

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

sel_send = 1'b1;

lain

sel_send = 1'b0;

akhir

2D: FPGA membaca sinyal dari Raspberry Pi dengan frekuensi clock 66MHz. Port XIO_2[2] ditautkan ke 'rece'.

selalu @(sel_read) //baca pi

mulai

if (sel_read == 1'b1)

rece = 1'b0;

lain

rece = 1'b1;

akhir

Langkah 3: Unggah Kode Verilog

Unggah Kode Verilog
Unggah Kode Verilog

Kemudian unggah file pof yang dikompilasi ke FPGA. Jika tidak ada perangkat keras yang terdeteksi secara otomatis, klik "Pengaturan Perangkat Keras" untuk memperbaikinya secara manual

Langkah 4: Unggah Kode Raspberry Pi

Garis yang disorot memungkinkan FPGA berkomunikasi dengan Raspberry Pi.

Kode Raspberry Pi lengkap untuk proyek ini,

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

jika (A==1):

kamera.rotasi = 0

GPIO.output(18, GPIO. LOW) #kirim ke FPGA

jika (A==0):

kamera.rotasi = 180

GPIO.output(18, GPIO. HIGH) #kirim ke FPGA

Langkah 5: Ayo Coba

Image
Image

Buka browser Anda dan ketik alamat IP Anda mis. 192.168.xx.xxx:8000.

Bagaimanapun, sistem harus bekerja!

Direkomendasikan: