Πίνακας περιεχομένων:
- Βήμα 1: Δημιουργία ηλεκτρονικού κυκλώματος
- Βήμα 2: Ελέγξτε το Pin Planner και Edit Verilog Code
- Βήμα 3: Επεξεργασία κώδικα Verilog
- Βήμα 4: Μεταγλώττιση κώδικα Verilog
- Βήμα 5: Ας το δοκιμάσουμε
Βίντεο: FPGA Cyclone IV DueProLogic - Push Button & LED: 5 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε το FPGA για τον έλεγχο του εξωτερικού κυκλώματος LED. Θα υλοποιήσουμε τις ακόλουθες εργασίες
(Α) Χρησιμοποιήστε τα κουμπιά στο FPGA Cyclone IV DuePrologic για τον έλεγχο της λυχνίας LED.
(B) Ανάβει και σβήνει περιοδικά το LED φλας
Επίδειξη βίντεο
Μενού εργαστηρίου:
Βήμα 1: Δημιουργία ηλεκτρονικού κυκλώματος
Βήμα 2: Ελέγξτε το Pin Planner και Edit Verilog Code
Βήμα 3: Επεξεργασία κώδικα Verilog
Όταν αγοράζετε FPGA DueProLogic, θα πρέπει να λάβετε ένα DVD. Αφού ανοίξετε το "Projects_HDL", θα πρέπει να δείτε το αρχικό αρχείο κώδικα
Προσθέστε τον επισημασμένο κώδικα. Καταχωρεί τις θύρες εισόδου/εξόδου και εκχωρεί αριθμούς στις θύρες.
καλώδιο εξόδου [7: 0] XIO_1, // XIO-D2-D9
σύρμα εξόδου [5: 0] XIO_2, // XIO-D10-D12
σύρμα εξόδου [5: 0] XIO_3, // XIO-D22-D29
σύρμα εισόδου [5: 0] XIO_4, // XIO-D30-D37
σύρμα εισόδου [5: 0] XIO_5, // XIO-D38-D45
σύρμα εξόδου [4: 0] XIO_6_OUT, // XIO-D46-D53
σύρμα εισόδου [31: 5] XIO_6, // XIO-D46-D53
καλώδιο εξόδου [2: 0] XIO_7, // XIO - D69, D70, D71, D74, D75, D76
καλώδιο εισόδου UBA, // Διακόπτες κουμπιού ώθησης
καλώδιο εισόδου UBB // Διακόπτες πλήκτρων
εκχώρηση XIO_1 [3] = start_stop_cntrl;
εκχώρηση XIO_2 [1] = start_blinky; // LED φλας LED ενεργοποίηση και απενεργοποίηση
εκχώρηση XIO_2 [2] = 1'b1; // έξοδος Υ HIGHΗΛΗ
εκχώρηση XIO_2 [3] = ~ UBA; // Πατήστε το κουμπί A
εκχώρηση XIO_2 [4] = UBB; // Πατήστε το κουμπί Β
εκχώρηση c_enable = XIO_5 [2];
εκχώρηση LEDExt = XIO_5 [5];
Στη συνέχεια, πρέπει να ορίσουμε ένα χρονοδιακόπτη καθυστέρησης. Σχολιάστε τον αρχικό κωδικό χρονοδιακόπτη και γράψτε μια νέα λειτουργία χρονομέτρου
//-----------------------------------------------
// Έναρξη Blinky LED
//-----------------------------------------------
/*
πάντα @(posedge CLK_66 ή negedge RST)
να αρχίσει
αν (! RST)
start_blinky <= 1'b0;
αλλού
να αρχίσει
εάν (control_register [7: 4]> 0)
start_blinky <= 1'b1;
αλλού
start_blinky <= 1'b0;
τέλος
τέλος
*/
reg [31: 0] ex?
αρχική έναρξη
ex <= 32'b0;
start_blinky <= 1'b0;
τέλος
πάντα @(posedge CLK_66)
να αρχίσει
ex <= ex + 1'b1;
εάν (πρώην> 100000000) // αναβοσβήνει ενεργοποιημένο/απενεργοποιημένο ~ 1,6 δευτερόλεπτα, ρολόι 66MHz
να αρχίσει
start_blinky <=! start_blinky;
ex <= 32'b0;
τέλος
τέλος
//-----------------------------------------------
// Μετρητής χρονοδιακόπτη καθυστέρησης LED
//-----------------------------------------------
/*
πάντα @(posedge CLK_66 ή negedge RST)
να αρχίσει
αν (! RST)
led_delay_counter <= TIMER_LOW_LIMIT;
αλλού
να αρχίσει
εάν (κατάσταση [SELECT_MODE])
led_delay_counter <= timer_value;
αλλιώς εάν (κατάσταση [WAIT_FOR_TIMER])
led_delay_counter <= led_delay_counter - 1'd1;
τέλος
τέλος*/
Βήμα 4: Μεταγλώττιση κώδικα Verilog
Πατήστε "Έναρξη σύνταξης" στο Quartus, δεν πρέπει να δημιουργηθεί μήνυμα σφάλματος.
Εάν λάβετε μήνυμα σφάλματος για πολλές καρφίτσες. Μεταβείτε στις Εκχωρήσεις -> Συσκευή -> Επιλογές συσκευής και καρφίτσας -> Καρφίτσες διπλού σκοπού -> αλλάξτε την τιμή του κατάλληλου πείρου σε "Χρήση ως κανονικός I/O".
Μετά τη μεταγλώττιση, θα πρέπει να λάβετε απευθείας το αρχείο εξόδου pof. Εάν το λογισμικό σας δεν είναι ενημερωμένο, μπορείτε να λάβετε μόνο αρχείο sof. Όταν συμβεί, κάντε κλικ στο "Αρχείο" στο Quartus -> "μετατροπή αρχείων προγραμματισμού". Αλλάξτε τις ρυθμίσεις που επισημαίνονται με κόκκινα πλαίσια.
Βήμα 5: Ας το δοκιμάσουμε
Άλλωστε, πρέπει να δουλεύει !!! Η κίτρινη λυχνία LED είναι πάντα αναμμένη. Η κόκκινη λυχνία LED αναβοσβήνει. Η μπλε λυχνία LED απενεργοποιείται εάν πατήσετε το κουμπί Β. Η πράσινη λυχνία LED ανάβει εάν πατήσετε το κουμπί Α
Συνιστάται:
FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera: 5 βήματα
FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera: Παρά το γεγονός ότι το FPGA DueProLogic έχει σχεδιαστεί επίσημα για το Arduino, θα κάνουμε το FPGA και το Raspberry Pi 4B επικοινωνιακά. Τρεις εργασίες υλοποιούνται σε αυτό το σεμινάριο: (A) Πατήστε ταυτόχρονα τα δύο κουμπιά FPGA για αναστροφή της γωνίας
FPGA Cyclone IV DueProLogic Controls Servo Motor: 4 Βήματα
FPGA Cyclone IV DueProLogic Controls Servo Motor: Σε αυτό το σεμινάριο, πρόκειται να γράψουμε κώδικα Verilog για τον έλεγχο του σερβοκινητήρα. Ο σερβο SG-90 κατασκευάζεται από την Waveshare. Όταν αγοράζετε τον σερβοκινητήρα, ενδέχεται να λάβετε ένα φύλλο δεδομένων που αναφέρει την τάση λειτουργίας, τη μέγιστη ροπή και το προτεινόμενο Pu
Button Hero - Sumedh & Jeanelle (ρομποτική): 5 Βήματα
Button Hero - Sumedh & Jeanelle (ρομποτική): Καλώς ορίσατε στο εκπαιδευτικό για το παιχνίδι Button Hero! Αυτό το παιχνίδι είναι μια φορητή έκδοση του παιχνιδιού Guitar Hero. Σε αυτό το άφθαρτο εμείς (ο συνεργάτης μου και εγώ) θα μοιραστούμε μαζί σας πώς δημιουργήσαμε αυτό το έργο τόσο σε ένα breadboard όσο και με συγκόλληση
Cyclone (Arduino LED Game): 6 βήματα (με εικόνες)
Cyclone (Arduino LED Game): Σε αυτό το σεμινάριο, θα σας διδάξω πώς να δημιουργήσετε ένα παιχνίδι LED με πολύ λίγο κώδικα ή εμπειρία! Είχα αυτή την ιδέα για λίγο και τελικά άρχισα να τη δημιουργώ. Είναι ένα διασκεδαστικό παιχνίδι που μας θυμίζει όλα τα παιχνίδια arcade. Υπάρχουν και άλλα μαθήματα
Cyclone LED Arcade Game: 4 Βήματα
Cyclone LED Arcade Game: Ο σκοπός αυτού του έργου ήταν να δημιουργήσει ένα απλό παιχνίδι χρησιμοποιώντας ένα Arduino που θα ήταν διαδραστικό και διασκεδαστικό για τα παιδιά. Θυμάμαι ότι το παιχνίδι Cyclone arcade ήταν ένα από τα αγαπημένα μου παιχνίδια arcade όταν ήμουν νεότερος, οπότε αποφάσισα να το επαναλάβω. Τ