FPGA Cyclone IV DueProLogic აკონტროლებს ჟოლოს Pi კამერა: 5 ნაბიჯი
FPGA Cyclone IV DueProLogic აკონტროლებს ჟოლოს Pi კამერა: 5 ნაბიჯი
Anonim
FPGA Cyclone IV DueProLogic აკონტროლებს ჟოლოს Pi კამერას
FPGA Cyclone IV DueProLogic აკონტროლებს ჟოლოს Pi კამერას

მიუხედავად FPGA DueProLogic ოფიციალურად შექმნილია Arduino- სთვის, ჩვენ ვაპირებთ გავხადოთ FPGA და Raspberry Pi 4B გადამდები.

ამ გაკვეთილში სამი ამოცანაა შესრულებული:

(A) ერთდროულად დააჭირეთ ორ ღილაკს FPGA- ზე, რათა გადაახვიოთ RPi კამერის კუთხე.

(B) Raspberry Pi 4B აკონტროლებს FPGA გარე LED წრეს.

(გ) Raspberry Pi კამერის პირდაპირი ტრანსლაცია ბრაუზერში WiFi- ით

ნაბიჯი 1: შექმენით ელექტრონული წრე

ნაბიჯი 2: შეცვალეთ Verilog კოდი

ვერილოგის კოდის რედაქტირება
ვერილოგის კოდის რედაქტირება
ვერილოგის კოდის რედაქტირება
ვერილოგის კოდის რედაქტირება

როდესაც ყიდულობთ FPGA DueProLogic- ს, უნდა მიიღოთ DVD. მას შემდეგ რაც გახსნით "Projects_HDL" - ს, თქვენ უნდა ნახოთ ორიგინალური HDL კოდის ფაილი. მას შემდეგ, რაც შექმნით pin დამგეგმავს, დაამატეთ მონიშნული კოდი, როგორც ნაჩვენებია 2A, 2B, 2C და 2D ნაწილში.

2A: ღილაკების გასააქტიურებლად, თქვენ უნდა გამოიყენოთ ეს კოდი

// Push Button კონცენტრატორები

შეყვანის მავთული UBA,

შეყვანის მავთული UBB

Raspberry Pi- თან დასაკავშირებლად, თქვენ უნდა დაამატოთ ეს.

reg sel_send; // გააქტიურეთ Raspberry pi

რეგ მიმღები; // მიღებული ჟოლოს პი

2B: პორტებს ღირებულებების მინიჭების მიზნით, თქვენ უნდა შეცვალოთ კოდი შესაბამისად

მიანიჭეთ XIO_1 [3] = start_stop_cntrl;

მინიჭება XIO_2 [2] = მიმღები; // გამომავალი მაღალი ან დაბალი LED წრეში

დავალება XIO_2 [3] = ~ UBA; // დააჭირეთ ღილაკს

მინიჭება XIO_2 [4] = UBB; // დააჭირეთ ღილაკს

მიანიჭეთ XIO_2 [5] = sel_send; // FPGA აგზავნის სიგნალს ჟოლოს პიზე

მიანიჭე sel_read = XIO_5 [1]; // FPGA იღებს სიგნალს ჟოლოს პიდან

მინიჭება c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17

მინიჭება LEDExt = XIO_5 [5];

2C: თუ ერთდროულად დააჭირეთ ორ ღილაკს, FPGA უგზავნის HIGH გამომავალს ჟოლოს Pi- ს.

ყოველთვის @(sel_send ან UBB ან UBA) // გაგზავნა RPi- ზე

დაწყება

თუ (UBB == 1'b0 && UBA == 1'b0)

sel_send = 1'b1;

სხვა

sel_send = 1'b0;

დასასრული

2D: FPGA კითხულობს სიგნალს Raspberry Pi- დან საათის სიხშირით 66 MHz. პორტი XIO_2 [2] დაკავშირებულია "rece" - თან.

ყოველთვის @(sel_read) // წაიკითხე პი

დაწყება

თუ (sel_read == 1'b1)

მიმღები = 1'b0;

სხვა

მიმღები = 1'b1;

დასასრული

ნაბიჯი 3: ატვირთეთ Verilog კოდი

ატვირთეთ Verilog კოდი
ატვირთეთ Verilog კოდი

შემდეგ ატვირთეთ შედგენილი pof ფაილი FPGA- ში. თუ ტექნიკა არ არის გამოვლენილი ავტომატურად, დააწკაპუნეთ "აპარატურის დაყენებაზე", რომ ხელით შეასწოროთ

ნაბიჯი 4: ატვირთეთ Raspberry Pi კოდი

ხაზგასმული ხაზები საშუალებას აძლევს FPGA- ს დაუკავშირდეს Raspberry Pi- ს.

ამ პროექტის სრული Raspberry Pi კოდი,

A = GPIO.input (pin) #წაიკითხეთ FPGAprint (A);

თუ (A == 1):

კამერა. ბრუნვა = 0

GPIO.output (18, GPIO. LOW) #გაგზავნეთ FPGA- ში

თუ (A == 0):

კამერა. ბრუნვა = 180

GPIO.output (18, GPIO. HIGH) #გაგზავნეთ FPGA- ში

ნაბიჯი 5: მოდით ვცადოთ

Image
Image

გახსენით თქვენი ბრაუზერი და ჩაწერეთ თქვენი IP მისამართი მაგ. 192.168.xx.xxx:8000.

ყოველივე ამის შემდეგ, სისტემა უნდა იმუშაოს!

გირჩევთ: