Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
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
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
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
Otevřete prohlížeč a zadejte svou IP adresu, např. 192.168.xx.xxx:8000.
Koneckonců, systém by měl fungovat!