Isi kandungan:

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

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

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

Walaupun FPGA DueProLogic secara rasmi dirancang untuk Arduino, kami akan menjadikan FPGA dan Raspberry Pi 4B dapat disambungkan.

Tiga tugas dilaksanakan dalam tutorial ini:

(A) Serentak tekan dua butang tekan pada FPGA untuk membalik sudut kamera RPi.

(B) Raspberry Pi 4B mengawal litar LED luaran FPGA.

(C) Strim langsung Kamera Raspberry Pi pada Penyemak Imbas melalui WiFi

Langkah 1: Bina Litar Elektronik

Langkah 2: Edit Kod Verilog

Edit Kod Verilog
Edit Kod Verilog
Edit Kod Verilog
Edit Kod Verilog

Apabila anda membeli FPGA DueProLogic, anda seharusnya menerima DVD. Selepas anda membuka "Projects_HDL", anda akan melihat fail kod HDL yang asal. Setelah anda menyiapkan perancang pin, tambahkan kod yang diserlahkan seperti yang ditunjukkan dalam bahagian 2A, 2B, 2C dan 2D.

2A: Untuk mengaktifkan butang tekan, anda mesti menggunakan kod ini

// Suis Butang Tekan

wayar input UBA,

wayar input UBB

Untuk berkomunikasi dengan Raspberry Pi, anda perlu menambahkannya.

reg sel_send; // aktifkan pi Raspberry

reg penerimaan; // diterima dari raspberry pi

2B: Untuk memberikan nilai ke port, anda harus mengedit kodnya dengan sewajarnya

tetapkan XIO_1 [3] = start_stop_cntrl;

berikan XIO_2 [2] = penerimaan; // keluaran TINGGI atau RENDAH dalam litar LED

berikan XIO_2 [3] = ~ UBA; //tekan butang

berikan XIO_2 [4] = UBB; //tekan butang

tetapkan XIO_2 [5] = sel_hantar; // FPGA menghantar isyarat ke raspberry pi

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

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

tetapkan LEDExt = XIO_5 [5];

2C: Sekiranya dua butang tekan ditekan secara serentak, FPGA menghantar output TINGGI ke Raspberry Pi.

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

bermula

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

sel_send = 1'b1;

yang lain

sel_send = 1'b0;

akhir

2D: FPGA membaca isyarat dari Raspberry Pi dengan frekuensi jam 66MHz. Port XIO_2 [2] dihubungkan ke 'penerimaan'.

selalu @ (sel_read) // baca pi

bermula

jika (sel_read == 1'b1)

penerimaan = 1'b0;

yang lain

penerimaan = 1'b1;

akhir

Langkah 3: Muat naik Kod Verilog

Muat naik Kod Verilog
Muat naik Kod Verilog

Kemudian muat naik fail pof yang disusun ke FPGA. Sekiranya tiada perkakasan yang dikesan secara automatik, klik "Penyediaan Perkakasan" untuk membetulkannya secara manual

Langkah 4: Muat naik Raspberry Pi Code

Garis yang diserlahkan membolehkan FPGA berkomunikasi dengan Raspberry Pi.

Kod Raspberry Pi penuh untuk projek ini,

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

jika (A == 1):

camera.rotation = 0

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

jika (A == 0):

camera.rotation = 180

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

Langkah 5: Mari Cuba

Image
Image

Buka penyemak imbas anda dan taipkan alamat IP anda, mis. 192.168.xx.xxx:8000.

Lagipun, sistem itu mesti berfungsi!

Disyorkan: