Πίνακας περιεχομένων:
- Βήμα 1: Υλικά
- Βήμα 2: Ρύθμιση εισόδων και εξόδων
- Βήμα 3: Δημιουργία ρολογιών
- Βήμα 4: Μέτρηση έως το δέκα
- Βήμα 5: Εμφάνιση αριθμών
- Βήμα 6: Πώς να εμφανίσετε το χρονόμετρο
- Βήμα 7: Φέρτε τα όλα μαζί
- Βήμα 8: Περιορισμοί
- Βήμα 9: Δοκιμή
Βίντεο: Βασικό χρονόμετρο χρησιμοποιώντας VHDL και Basys3 Board: 9 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Καλώς ορίσατε στο διδακτικό πώς να φτιάξετε ένα χρονόμετρο χρησιμοποιώντας βασικό πίνακα VHDL και Basys 3. Είμαστε ενθουσιασμένοι που θα μοιραστούμε το έργο μας μαζί σας! Αυτό ήταν ένα τελευταίο έργο για το μάθημα CPE 133 (Digital Design) στο Cal Poly, SLO το Φθινόπωρο του 2016. Το έργο που δημιουργήσαμε είναι ένα απλό χρονόμετρο που ξεκινά, επαναρυθμίζει και διακόπτει τον χρόνο. Παίρνει τρία κουμπιά στον πίνακα Basys3 ως είσοδοι και ο χρόνος εμφανίζεται στην τετραψήφια επτά τμημάτων οθόνη του πίνακα. Ο χρόνος που έχει παρέλθει εμφανίζεται σε μορφή δευτερολέπτων: δευτερόλεπτα. Χρησιμοποιεί το ρολόι συστήματος του πίνακα ως είσοδο για την παρακολούθηση του χρόνου που έχει παρέλθει και εξάγει το χρόνο στα τέσσερα ψηφία της οθόνης των επτά τμημάτων.
Βήμα 1: Υλικά
Τα υλικά που θα χρειαστείτε για αυτό το έργο:
- 1 υπολογιστής με το Vivado Design Suite WebPack εγκατεστημένο από το Xilinx (προτιμήστε την έκδοση 2016.2)
- 1 Digilent Basys3 Xilinx Artix-7 σανίδα FPGA
- 1 καλώδιο θύρας USB
Βήμα 2: Ρύθμιση εισόδων και εξόδων
Το παραπάνω σχήμα δείχνει ένα διάγραμμα ανωτάτου επιπέδου της κύριας μονάδας χρονόμετρου. Το χρονόμετρο λαμβάνει εισόδους "CLK" (ρολόι), "S1" (κουμπί έναρξης), "S2" (κουμπί παύσης) και "RST" (επαναφορά) και έχει έξοδο 4-bit "Anodes", 7-bit έξοδος "τμήμα", και έξοδος ενός δυαδικού ψηφίου "DP" (δεκαδικό ψηφίο). Όταν η είσοδος "S1" είναι υψηλή, το χρονόμετρο αρχίζει να μετράει το χρόνο. Όταν το "S2" είναι χαμηλό, το χρονόμετρο διακόπτει την ώρα. Όταν το "RST" είναι υψηλό, το χρονόμετρο σταματά και επαναφέρει την ώρα. Υπάρχουν τέσσερις υπομονάδες εντός του κυκλώματος: ο διαχωριστής ρολογιού, ο μετρητής ψηφίων, το πρόγραμμα οδήγησης οθόνης επτά τμημάτων και ο κωδικοποιητής οθόνης επτά τμημάτων. Η κύρια ενότητα του χρονόμετρου συνδέει όλα τα υπομονάδια μαζί και τις εισόδους και εξόδους.
Βήμα 3: Δημιουργία ρολογιών
Η μονάδα διαίρεσης ρολογιού λαμβάνει ένα ρολόι συστήματος και χρησιμοποιεί μια είσοδο διαιρέτη για να δημιουργήσει ένα ρολόι οποιασδήποτε ταχύτητας όχι μεγαλύτερη από αυτή του ρολογιού του συστήματος. Το χρονόμετρο χρησιμοποιεί δύο διαφορετικές μονάδες ρολογιού, μία που δημιουργεί ρολόι 500 Hz και άλλη που δημιουργεί ρολόι 100 Hz. Το σχήμα για το διαχωριστή ρολογιού φαίνεται στο παραπάνω σχήμα. Ο διαιρέτης ρολογιού εισάγει μία είσοδο "CLK" και μια είσοδο 32 bit "Divisor" και την έξοδο ενός bit "CLKOUT". Το "CLK" είναι το ρολόι συστήματος και το "CLKOUT" είναι το ρολόι που προκύπτει. Η ενότητα περιλαμβάνει επίσης μια πύλη NOT, η οποία αλλάζει το σήμα "CLKTOG" όταν η καταμέτρηση φτάσει στην τιμή του διαιρέτη.
Βήμα 4: Μέτρηση έως το δέκα
Ο μετρητής ψηφίων μετράει κάθε ψηφίο από το 0 έως το 10 και δημιουργεί ένα άλλο ρολόι για να λειτουργήσει το επόμενο ψηφίο, το οποίο ταλαντεύεται όταν ο αριθμός φτάσει στο 10. Η μονάδα λαμβάνει 3 εισόδους ενός bit "S", "RST" και "CLK "και έχει ως αποτέλεσμα μια έξοδο" N "και μια έξοδο 4 bit" D ". Η είσοδος "S" είναι η ενεργοποίηση στην είσοδο. Το ρολόι ανάβει όταν το "S" είναι υψηλό και σβήνει όταν το "S" είναι χαμηλό. Το "RST" είναι η είσοδος επαναφοράς, έτσι ώστε το ρολόι να μηδενίζεται όταν το "RST" είναι υψηλό. "CLK" είναι η είσοδος ρολογιού για τον μετρητή ψηφίων. "N" είναι η έξοδος ρολογιού που γίνεται το ρολόι εισόδου για το επόμενο ψηφίο. Η έξοδος "D" παρουσιάζει τη δυαδική τιμή του ψηφίου στο οποίο βρίσκεται ο μετρητής.
Βήμα 5: Εμφάνιση αριθμών
Ο κωδικοποιητής οθόνης επτά τμημάτων θα κωδικοποιήσει τον δυαδικό αριθμό που λαμβάνεται από τη μονάδα προγράμματος οδήγησης οθόνης επτά τμημάτων και θα τον μετατρέψει σε μια ροή δυαδικών ψηφίων που θα ερμηνευτούν ως τιμές "1" ή "0" για κάθε τμήμα της οθόνης. Ο δυαδικός αριθμός λαμβάνεται από τη μονάδα ως "ψηφίο" εισόδου 4 bit και έχει ως αποτέλεσμα τα "τμήματα" εξόδου 7 bit. Η ενότητα αποτελείται από ένα μπλοκ διεργασίας υπόθεσης που εκχωρεί μια συγκεκριμένη ροή 7 bit για κάθε πιθανή τιμή εισόδου από 0 έως 9. Κάθε bit στα ρεύματα επτά bit αντιπροσωπεύει ένα από τα επτά τμήματα των ψηφίων στην οθόνη. Η σειρά των τμημάτων στη ροή είναι "abcdefg" με τα "0" να αντιπροσωπεύουν τα τμήματα που ανάβουν για τον δεδομένο αριθμό.
Βήμα 6: Πώς να εμφανίσετε το χρονόμετρο
Στη μονάδα προγράμματος οδήγησης οθόνης επτά τμημάτων, υπάρχουν τέσσερις είσοδοι 4-bit "D0", "D1", "D2" και "D3", η κάθε μία αντιπροσωπεύει τα τέσσερα ψηφία που θα εμφανιστούν. Η είσοδος "CLK" είναι η είσοδος ρολογιού του συστήματος. Η έξοδος ενός δυαδικού ψηφίου "DP" αντιπροσωπεύει το δεκαδικό σημείο στην οθόνη επτά τμημάτων. Η έξοδος 4-bit "Anodes" καθορίζει ποιο ψηφίο εμφανίζεται στην οθόνη επτά τμημάτων και η "temp" εξόδου 4-bit εξαρτάται από την κατάσταση της εισόδου ελέγχου 2-bit "SEL". Η μονάδα χρησιμοποιεί 4 πολυπλέκτες για την είσοδο ελέγχου "SEL" και τις τρεις εξόδους. "Anodes", "temp" και "DP".
Βήμα 7: Φέρτε τα όλα μαζί
Ένα μπλοκ διαδικασίας "εάν" που τρέχει από το ρολόι 500Hz χρησιμοποιείται για τη δημιουργία των κουμπιών έναρξης και παύσης. Στη συνέχεια, συνδέστε όλες τις υπομονάδες μαζί στην κύρια μονάδα του χρονόμετρου δηλώνοντας τα συστατικά κάθε μεμονωμένης υπομονάδας και χρησιμοποιώντας διάφορα σήματα. Τα ψηφιακά υπομονάδια λαμβάνουν την έξοδο ρολογιού της προηγούμενης υπομονάδας ψηφίου με την πρώτη να λαμβάνει το ρολόι των 100Hz. Οι έξοδοι "D" των υπομονάδων ψηφίων γίνονται στη συνέχεια οι είσοδοι "D" της μονάδας προγράμματος οδήγησης οθόνης επτά τμημάτων. Και τέλος, η έξοδος "temp" της μονάδας προγράμματος οδήγησης οθόνης επτά τμημάτων γίνεται η είσοδος "temp" της μονάδας κωδικοποιητή επτά τμημάτων.
Βήμα 8: Περιορισμοί
Χρησιμοποιήστε 3 κουμπιά (W19, T17 και U18) για εισόδους "RST", "S1" και "S2". Το W19 είναι το κουμπί επαναφοράς, το T17 είναι το κουμπί έναρξης (S1) και το U18 είναι το κουμπί παύσης (S2). Απαιτείται επίσης ένας περιορισμός για την είσοδο ρολογιού χρησιμοποιώντας τη θύρα W5. Επίσης, θυμηθείτε να προσθέσετε αυτήν τη γραμμή στον περιορισμό ρολογιού:
create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {CLK}]
Συνδέστε επίσης τις ανόδους και τα τμήματα στον πίνακα, ώστε το χρονόμετρο να εμφανίζεται στην οθόνη των επτά τμημάτων, όπως φαίνεται στο αρχείο περιορισμών.
Βήμα 9: Δοκιμή
Βεβαιωθείτε ότι η συσκευή σας λειτουργεί παίζοντας με τα τρία κουμπιά: πιέζοντας και κρατώντας τα με κάθε δυνατή σειρά για να βρείτε τυχόν προβλήματα με τον κώδικά σας.
Συνιστάται:
Πώς να φτιάξετε έναν βασικό ιστότοπο χρησιμοποιώντας το Σημειωματάριο: 4 βήματα
Πώς να φτιάξετε έναν βασικό ιστότοπο χρησιμοποιώντας το Σημειωματάριο: Έχει αναρωτηθεί κανείς " πώς μπορώ να κάνω έναν ιστότοπο από ένα βασικό πρόγραμμα γραφής; " Λοιπόν, προφανώς, όχι συγκεκριμένα … Τέλος πάντων, εδώ θα σας δείξω πώς να φτιάξετε ένα ΒΑΣΙΚΟ ιστότοπος που χρησιμοποιεί μόνο σημειωματάριο
Όλα σε ένα ψηφιακό χρονόμετρο (ρολόι, χρονόμετρο, ξυπνητήρι, θερμοκρασία): 10 βήματα (με εικόνες)
All in One Digital Chronometer (Ρολόι, Χρονόμετρο, Ξυπνητήρι, Θερμοκρασία): Σχεδιάζαμε να φτιάξουμε χρονόμετρο για κάποιον άλλο διαγωνισμό, αλλά αργότερα εφαρμόσαμε επίσης ένα ρολόι (χωρίς RTC). Καθώς μπήκαμε στον προγραμματισμό, ενδιαφερθήκαμε να εφαρμόσουμε περισσότερες λειτουργίες στη συσκευή και καταλήξαμε να προσθέσουμε DS3231 RTC, ως
Βασικό κινητό τηλέφωνο με χρήση του STM32F407 Discovery Kit και GSM A6 Module: 14 βήματα (με εικόνες)
Βασικό κινητό τηλέφωνο με χρήση του STM32F407 Discovery Kit και GSM A6 Module: Θέλατε ποτέ να δημιουργήσετε ένα δροσερό ενσωματωμένο έργο ;. Αν ναι, τι θα λέγατε να φτιάξετε ένα από τα πιο δημοφιλή και αγαπημένα gadget όλων, δηλαδή το κινητό τηλέφωνο !!!. Σε αυτό το Instructable, θα σας καθοδηγήσω πώς να φτιάξετε ένα βασικό κινητό τηλέφωνο χρησιμοποιώντας το STM
8 Έλεγχος ρελέ με NodeMCU και δέκτη IR χρησιμοποιώντας WiFi και IR Τηλεχειριστήριο και εφαρμογή Android: 5 βήματα (με εικόνες)
8 Έλεγχος ρελέ με δέκτη NodeMCU και IR χρησιμοποιώντας WiFi και IR Τηλεχειριστήριο και εφαρμογή Android: Έλεγχος 8 διακοπτών ρελέ χρησιμοποιώντας nodemcu και δέκτη ir μέσω wifi και ir απομακρυσμένης και εφαρμογής Android. Το ir remote λειτουργεί ανεξάρτητα από τη σύνδεση wifi. ΕΔΩ ΕΙΝΑΙ ΕΝΗΜΕΡΩΜΕΝΗ ΚΛΙΚ ΕΔΩ
Πώς να φτιάξετε ένα Parallax BOE-Bot χρησιμοποιώντας το βασικό τσιπ σφραγίδας: 7 βήματα
Πώς να φτιάξετε ένα Parallax BOE-Bot χρησιμοποιώντας το τσιπ Basic Stamp: Αυτό το διδακτικό δείχνει την κατασκευή και την τροποποίηση του Parallax BOE-Bot Basic Stamp Robot