Obsah:

FPGA Cyclone IV DueProLogic ovláda kameru Raspberry Pi: 5 krokov
FPGA Cyclone IV DueProLogic ovláda kameru Raspberry Pi: 5 krokov

Video: FPGA Cyclone IV DueProLogic ovláda kameru Raspberry Pi: 5 krokov

Video: FPGA Cyclone IV DueProLogic ovláda kameru Raspberry Pi: 5 krokov
Video: FPGA Cyclone IV DueProLogic - Push button & LED (Tutorial & code) 2024, November
Anonim
FPGA Cyclone IV DueProLogic ovláda kameru Raspberry Pi
FPGA Cyclone IV DueProLogic ovláda kameru Raspberry Pi

Napriek tomu, že je FPGA DueProLogic oficiálne navrhnutý pre Arduino, chystáme sa zaistiť komunikáciu FPGA a Raspberry Pi 4B.

V tomto návode sú implementované tri úlohy:

(A) Súčasným stlačením dvoch tlačidiel na FPGA prevrátite uhol kamery RPi.

(B) Raspberry Pi 4B riadi externý LED obvod FPGA.

(C) Živý prenos kamery Raspberry Pi v prehliadači cez WiFi

Krok 1: Vytvorte elektronický obvod

Krok 2: Upravte kód Verilog

Upraviť kód Verilog
Upraviť kód Verilog
Upraviť kód Verilog
Upraviť kód Verilog

Pri kúpe FPGA DueProLogic by ste mali dostať DVD. Po otvorení „Projects_HDL“by ste mali vidieť pôvodný súbor kódu HDL. Po nastavení plánovača pinov pridajte zvýraznený kód podľa obrázku v častiach 2A, 2B, 2C a 2D.

2A: Na aktiváciu tlačidiel musíte použiť tento kód

// Tlačidlové prepínače

vstupný vodič UBA,

vstupný vodič UBB

Ak chcete komunikovať s Raspberry Pi, musíte ich pridať.

reg sel_send; // aktivácia Raspberry pi

reg príjem; // prijaté od maliny pi

2B: Ak chcete portom priradiť hodnoty, mali by ste zodpovedajúcim spôsobom upraviť kód

priradiť XIO_1 [3] = start_stop_cntrl;

priradiť XIO_2 [2] = príjem; // výstup HIGH alebo LOW v obvode LED

priradiť XIO_2 [3] = ~ UBA; // tlačidlo

priradiť XIO_2 [4] = UBB; // tlačidlo

priradiť XIO_2 [5] = sel_send; // FPGA vysiela signál na malinový pi

priradiť sel_read = XIO_5 [1]; // FPGA prijíma signál z malinového pi

priradiť c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17

priradiť LEDExt = XIO_5 [5];

2C: Ak súčasne stlačíte dve tlačidlá, FPGA odošle VYSOKÝ výstup do Raspberry Pi.

vždy @(sel_send alebo UBB alebo UBA) // odoslať do RPi

začať

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

sel_send = 1'b1;

inak

sel_send = 1'b0;

koniec

2D: FPGA číta signál z Raspberry Pi s hodinovou frekvenciou 66 MHz. Port XIO_2 [2] je prepojený s 'rece'.

vždy @(sel_read) // čítajte pi

začať

ak (sel_read == 1'b1)

príjem = 1'b0;

inak

príjem = 1'b1;

koniec

Krok 3: Nahrajte kód Verilog

Odovzdajte kód Verilog
Odovzdajte kód Verilog

Potom nahrajte skompilovaný súbor pof do súboru FPGA. Ak sa automaticky nezistí žiadny hardvér, kliknutím na položku „Hardvérové nastavenie“ho opravte ručne

Krok 4: Nahrajte kód Raspberry Pi

Zvýraznené riadky umožňujú FPGA komunikáciu s Raspberry Pi.

Úplný kód Raspberry Pi pre tento projekt,

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

ak (A == 1):

camera.rotation = 0

GPIO.output (18, GPIO. LOW) #odoslať do FPGA

ak (A == 0):

kamera.rotácia = 180

GPIO.output (18, GPIO. HIGH) #odoslať do FPGA

Krok 5: Skúsme to

Image
Image

Otvorte prehliadač a zadajte svoju IP adresu napr. 192.168.xx.xxx:8000.

Systém by mal predsa fungovať!

Odporúča: