Obsah:

FPGA Cyclone IV DueProLogic ovládá kameru Raspberry Pi: 5 kroků
FPGA Cyclone IV DueProLogic ovládá kameru Raspberry Pi: 5 kroků

Video: FPGA Cyclone IV DueProLogic ovládá kameru Raspberry Pi: 5 kroků

Video: FPGA Cyclone IV DueProLogic ovládá kameru Raspberry Pi: 5 kroků
Video: FPGA Cyclone IV DueProLogic - Push button & LED (Tutorial & code) 2024, Listopad
Anonim
FPGA Cyclone IV DueProLogic ovládá kameru Raspberry Pi
FPGA Cyclone IV DueProLogic ovládá kameru Raspberry Pi

Přestože je FPGA DueProLogic oficiálně navržen pro Arduino, chystáme se komunikovat FPGA a Raspberry Pi 4B.

V tomto kurzu jsou implementovány tři úkoly:

(A) Současným stisknutím dvou tlačítek na FPGA převrátíte úhel kamery RPi.

(B) Raspberry Pi 4B ovládá externí LED obvod FPGA.

(C) Živý přenos kamery Raspberry Pi v prohlížeči přes WiFi

Krok 1: Vybudujte elektronický obvod

Krok 2: Upravte kód Verilog

Upravit kód Verilog
Upravit kód Verilog
Upravit kód Verilog
Upravit kód Verilog

Při nákupu FPGA DueProLogic byste měli obdržet DVD. Poté, co otevřete „Projects_HDL“, měli byste vidět původní soubor kódu HDL. Jakmile nastavíte plánovač pinů, přidejte zvýrazněný kód, jak je znázorněno v sekci 2A, 2B, 2C a 2D.

2A: Chcete -li aktivovat tlačítka, musíte použít tento kód

// Tlačítkové přepínače

vstupní vodič UBA,

vstupní vodič UBB

Chcete -li komunikovat s Raspberry Pi, musíte je přidat.

reg sel_send; // aktivace Raspberry pi

reg příjem; // obdržel od maliny pí

2B: Chcete -li přiřadit hodnoty portům, měli byste podle toho upravit kód

přiřadit XIO_1 [3] = start_stop_cntrl;

přiřadit XIO_2 [2] = příjem; // výstup HIGH nebo LOW v obvodu LED

přiřadit XIO_2 [3] = ~ UBA; //stiskněte tlačítko

přiřadit XIO_2 [4] = UBB; //stiskněte tlačítko

přiřadit XIO_2 [5] = sel_send; // FPGA vysílá signál na malinový pi

přiřadit sel_read = XIO_5 [1]; // FPGA přijímá signál z Raspberry Pi

přiřadit c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17

přiřadit LEDExt = XIO_5 [5];

2C: Pokud jsou současně stisknuta dvě tlačítka, FPGA odešle VYSOKÝ výstup na Raspberry Pi.

vždy @(sel_send nebo UBB nebo UBA) // odeslat do RPi

začít

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

sel_send = 1'b1;

jiný

sel_send = 1'b0;

konec

2D: FPGA čte signál z Raspberry Pi s hodinovou frekvencí 66 MHz. Port XIO_2 [2] je spojen s 'rece'.

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

začít

if (sel_read == 1'b1)

příjem = 1'b0;

jiný

příjem = 1'b1;

konec

Krok 3: Nahrajte kód Verilog

Nahrajte kód Verilog
Nahrajte kód Verilog

Poté nahrajte kompilovaný soubor pof do FPGA. Pokud není automaticky detekován žádný hardware, opravte jej ručně kliknutím na „Nastavení hardwaru“

Krok 4: Nahrajte kód Raspberry Pi

Zvýrazněné řádky umožňují komunikaci FPGA s Raspberry Pi.

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

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

pokud (A == 1):

camera.rotation = 0

GPIO.output (18, GPIO. LOW) #odeslat do FPGA

pokud (A == 0):

camera.rotation = 180

GPIO.output (18, GPIO. HIGH) #odeslat do FPGA

Krok 5: Zkusme to

Image
Image

Otevřete prohlížeč a zadejte svou IP adresu, např. 192.168.xx.xxx:8000.

Koneckonců, systém by měl fungovat!

Doporučuje: