Turinys:

„FPGA Cyclone IV DueProLogic Controls“„Raspberry Pi“kamera: 5 žingsniai
„FPGA Cyclone IV DueProLogic Controls“„Raspberry Pi“kamera: 5 žingsniai

Video: „FPGA Cyclone IV DueProLogic Controls“„Raspberry Pi“kamera: 5 žingsniai

Video: „FPGA Cyclone IV DueProLogic Controls“„Raspberry Pi“kamera: 5 žingsniai
Video: FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera (tutorial & code) 2024, Lapkritis
Anonim
„FPGA Cyclone IV DueProLogic“valdo „Raspberry Pi“kamerą
„FPGA Cyclone IV DueProLogic“valdo „Raspberry Pi“kamerą

Nepaisant to, kad „FPGA DueProLogic“yra oficialiai sukurta „Arduino“, mes ketiname padaryti FPGA ir „Raspberry Pi 4B“tinkamus naudoti.

Šioje pamokoje įgyvendinamos trys užduotys:

(A) Vienu metu paspauskite du FPGA mygtukus, kad pakeistumėte RPi kameros kampą.

(B) „Raspberry Pi 4B“valdo išorinę FPGA šviesos diodų grandinę.

(C) Tiesiogiai transliuokite „Raspberry Pi“kamerą naršyklėje per „WiFi“

1 žingsnis: sukurkite elektroninę grandinę

2 veiksmas: redaguokite „Verilog“kodą

Redaguoti „Verilog“kodą
Redaguoti „Verilog“kodą
Redaguoti „Verilog“kodą
Redaguoti „Verilog“kodą

Pirkdami FPGA DueProLogic, turėtumėte gauti DVD. Atidarę „Projects_HDL“, turėtumėte pamatyti originalų HDL kodo failą. Nustatę smeigtukų planavimo priemonę, pridėkite paryškintą kodą, kaip parodyta 2A, 2B, 2C ir 2D skyriuose.

2A: Norėdami suaktyvinti mygtukus, turite naudoti šį kodą

// Mygtukiniai jungikliai

įvesties laidas UBA,

įvesties laidas UBB

Norėdami bendrauti su „Raspberry Pi“, turite juos pridėti.

reg sel_send; // aktyvuoti Raspberry pi

reg rece; // gautas iš aviečių pi

2B: Jei norite prievadams priskirti reikšmes, turite atitinkamai redaguoti kodą

priskirti XIO_1 [3] = start_stop_cntrl;

priskirti XIO_2 [2] = rece; // išėjimas HIGH arba LOW LED grandinėje

priskirti XIO_2 [3] = ~ UBA; // paspausti mygtuką

priskirti XIO_2 [4] = UBB; // paspausti mygtuką

priskirti XIO_2 [5] = sel_send; // FPGA siunčia signalą į aviečių pi

priskirti sel_read = XIO_5 [1]; // FPGA gauna signalą iš aviečių pi

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

priskirti LEDExt = XIO_5 [5];

2C: Jei vienu metu paspaudžiami du mygtukai, FPGA siunčia HIGH išvestį į Raspberry Pi.

visada @(sel_send arba UBB arba UBA) // siųsti RPi

pradėti

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

sel_send = 1'b1;

Kitas

sel_send = 1'b0;

galas

2D: FPGA nuskaito „Raspberry Pi“signalą, kurio laikrodžio dažnis yra 66 MHz. Prievadas XIO_2 [2] yra susietas su „rece“.

visada @(sel_read) // skaityti pi

pradėti

if (sel_read == 1'b1)

rece = 1'b0;

Kitas

rece = 1'b1;

galas

3 veiksmas: įkelkite „Verilog“kodą

Įkelkite „Verilog“kodą
Įkelkite „Verilog“kodą

Tada įkelkite surinktą pof failą į FPGA. Jei aparatinė įranga neaptinkama automatiškai, spustelėkite „Aparatūros sąranka“, kad ją pataisytumėte rankiniu būdu

4 veiksmas: įkelkite „Raspberry Pi“kodą

Pažymėtos linijos leidžia FPGA bendrauti su „Raspberry Pi“.

Visas šio projekto „Raspberry Pi“kodas,

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

jei (A == 1):

kamera.sukimas = 0

GPIO. output (18, GPIO. LOW) #siunčiama į FPGA

jei (A == 0):

kamera.sukimas = 180

GPIO. output (18, GPIO. HIGH) #siunčia į FPGA

5 žingsnis: Pabandykime

Image
Image

Atidarykite naršyklę ir įveskite savo IP adresą, pvz. 192.168.xx.xxx:8000.

Juk sistema turėtų veikti!

Rekomenduojamas: