תוכן עניינים:

מצלמות FPGA Cyclone IV DueProLogic פטל מצלמה: 5 שלבים
מצלמות FPGA Cyclone IV DueProLogic פטל מצלמה: 5 שלבים

וִידֵאוֹ: מצלמות FPGA Cyclone IV DueProLogic פטל מצלמה: 5 שלבים

וִידֵאוֹ: מצלמות FPGA Cyclone IV DueProLogic פטל מצלמה: 5 שלבים
וִידֵאוֹ: FPGA Cyclone IV DueProLogic - Push button & LED (Tutorial & code) 2024, נוֹבֶמבֶּר
Anonim
FPGA Cyclone IV DueProLogic Controls מצלמת פטל פטל
FPGA Cyclone IV DueProLogic Controls מצלמת פטל פטל

למרות ה- FPGA DueProLogic מיועד באופן רשמי עבור Arduino, אנו הולכים להפוך את ה- FPGA ו- Raspberry Pi 4B לתקשורת.

שלוש משימות מיושמות במדריך זה:

(א) במקביל לחץ על שני כפתורי הלחיצה ב- FPGA כדי להפוך את הזווית של מצלמת RPi.

(ב) Raspberry Pi 4B שולט במעגל ה- LED החיצוני של FPGA.

(ג) שידור חי את מצלמת הפטל פיי בדפדפן באמצעות WiFi

שלב 1: בנה מעגל אלקטרוני

שלב 2: ערוך את קוד Verilog

ערוך את קוד Verilog
ערוך את קוד Verilog
ערוך את קוד Verilog
ערוך את קוד Verilog

כאשר אתה קונה את FPGA DueProLogic, אתה אמור לקבל DVD. לאחר פתיחת "Projects_HDL", אתה אמור לראות את קובץ קוד ה- HDL המקורי. לאחר הגדרת מתכנן הסיכות, הוסף את הקוד המודגש כפי שמוצג בסעיף 2A, 2B, 2C ו- 2D.

2A: כדי להפעיל לחצני לחיצה, עליך להשתמש בקוד זה

// מתגי לחצנים

חוט קלט UBA,

כבל קלט UBB

כדי לתקשר עם Raspberry Pi, עליך להוסיף אלה.

reg sel_send; // הפעל פאי פטל

reg rece; // התקבל מפאי פטל

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 ל- Raspberry Pi.

תמיד @(sel_send או UBB או UBA) // שלח ל- RPi

התחל

אם (UBB == 1'b0 && UBA == 1'b0)

sel_send = 1'b1;

אַחֵר

sel_send = 1'b0;

סוֹף

2D: ה- FPGA קורא אות מ- Raspberry Pi עם תדר השעון של 66MHz. היציאה XIO_2 [2] מקושרת ל'קבלה '.

תמיד @(sel_read) // לקרוא pi

התחל

אם (sel_read == 1'b1)

rece = 1'b0;

אַחֵר

rece = 1'b1;

סוֹף

שלב 3: העלה קוד Verilog

העלה קוד Verilog
העלה קוד Verilog

לאחר מכן העלה את קובץ ה- pof המורכב ל- FPGA. אם לא זוהתה חומרה אוטומטית, לחץ על "התקנת חומרה" כדי לתקן אותה באופן ידני

שלב 4: העלה קוד Raspberry Pi

הקווים המודגשים מאפשרים ל- FPGA לתקשר עם Raspberry Pi.

קוד ה- Raspberry Pi המלא לפרויקט זה, https://roywchpi.blogspot.com 2020/06/12-fpga-cycl…

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

אם (A == 1):

camera.rotation = 0

פלט GPIO.out (18, GPIO. LOW) #שלח ל- FPGA

אם (A == 0):

camera.rotation = 180

פלט GPIO.out (18, GPIO. HIGH) #שלח ל- FPGA

שלב 5: בוא ננסה

Image
Image

פתח את הדפדפן והקלד את כתובת ה- IP שלך למשל 192.168.xx.xxx:8000.

אחרי הכל, המערכת צריכה לעבוד!

מוּמלָץ: