Πίνακας περιεχομένων:

VHDL Χρονόμετρο ενός λεπτού: 5 βήματα
VHDL Χρονόμετρο ενός λεπτού: 5 βήματα

Βίντεο: VHDL Χρονόμετρο ενός λεπτού: 5 βήματα

Βίντεο: VHDL Χρονόμετρο ενός λεπτού: 5 βήματα
Βίντεο: EE2902 stopwatch in vhdl 2024, Νοέμβριος
Anonim
Image
Image

Αυτό είναι ένα σεμινάριο για το πώς να δημιουργήσετε ένα χρονόμετρο ενός λεπτού χρησιμοποιώντας VHDL και έναν πίνακα Basys 3. Μια τέτοια συσκευή είναι ιδανική για παιχνίδια όπου κάθε παίκτης έχει το πολύ ένα λεπτό για να κάνει την κίνησή του. Το χρονόμετρο εμφανίζει με ακρίβεια δευτερόλεπτα και χιλιοστά του δευτερολέπτου στην οθόνη των επτά τμημάτων, ξεκινώντας από 0 δευτερόλεπτα και 0 χιλιοστά του δευτερολέπτου, έως 60 δευτερόλεπτα και 0 χιλιοστά του δευτερολέπτου. Χρησιμοποιούνται επίσης δύο κουμπιά: το κεντρικό κουμπί, που χρησιμοποιείται για την εκκίνηση, διακοπή και συνέχιση του χρονοδιακόπτη και το δεξί κουμπί, που χρησιμοποιείται για την επανεκκίνηση του χρονοδιακόπτη. Όταν η συσκευή συγκρίνεται παράλληλα με το ενσωματωμένο χρονόμετρο ενός έξυπνου τηλεφώνου, η ακρίβεια του ρολογιού είναι αισθητή.

Βήμα 1: Λήψη υλικού/λογισμικού

Αποκλεισμός διαγράμματος
Αποκλεισμός διαγράμματος

1. Basys 3 Artix-7 FPGA Trainer Board από Digilent με Micro-USB σε καλώδιο USB

2. Vivado 2016.2 Design Suite από το Xilinx

Βήμα 2: Διάγραμμα αποκλεισμού

Αυτό το κύκλωμα κατασκευάζεται συμπεριφορικά και χρησιμοποιεί ενσωματωμένα στοιχεία Xilinx, αλλά μπορεί επίσης να περιγραφεί δομικά, όπως φαίνεται από το γενικό δομικό διάγραμμα παραπάνω. Από το διάγραμμα, φαίνεται ότι το κύκλωμα κινείται από δύο διαχωριστές συχνότητας. Ένας από τους διαχωριστές συχνότητας λειτουργεί σε 1 εκατοστό δευτερόλεπτο και οδηγεί τον μετρητή καθόδου που χρησιμοποιούνται ως αριθμοί που εμφανίζονται στην οθόνη επτά τμημάτων. Ο δεύτερος διαιρέτης συχνοτήτων λειτουργεί στα 240Hz και χρησιμοποιείται για να οδηγήσει τον μετρητή ανόδου που περιστρέφεται μέσω των ανόδων έτσι ώστε όλοι οι αριθμοί να εμφανίζονται σωστά στην οθόνη των επτά τμημάτων. Ο κωδικοποιητής παίρνει τη λογική καθόδου από τον μετρητή καθόδου και τη λογική ανόδου από τον μετρητή ανόδου και τον κωδικοποιεί στην κάθοδο και την άνοδο εξόδου που εκτελούν την οθόνη επτά τμημάτων. Η λειτουργία αυτού του κωδικοποιητή είναι η έξοδος καθόδου να αλλάζει κάθε φορά που αλλάζει η έξοδος ανόδου. Η έξοδος καθόδου δεν μπορεί να εκτελεστεί ανεξάρτητα από τον μετρητή επειδή οι άνοδοι πρέπει να περιστρέφονται μέσα από τα 4 ξεχωριστά ψηφία.

Βήμα 3: Ενότητα έργου

Πρώτον, γίνεται ένα μπλοκ διεργασίας για το CEN έτσι ώστε όταν εντοπιστεί ένα πάτημα κουμπιού, το ΕΝΕΡΓΟΠΟΙΗΣΗ να αλλάξει. Αυτό χρησιμεύει ως στάση/εκκίνηση του μετρητή καθόδου.

Στο επόμενο μπλοκ διαδικασίας, τα σήματα ρολογιού εκατοστιαίων δευτερολέπτων και 240Hz ρυθμίζονται έτσι ώστε οι αντίστοιχοι μετρητές τους να αυξάνονται κατά 1 κάθε φορά που το εσωτερικό ρολόι των 100mHz φτάνει σε μια ανερχόμενη άκρη. Μόλις ο μετρητής εκατοστών του δευτερολέπτου φτάσει τα 500000, θα επανέλθει στο 0. Εν τω μεταξύ, ο μετρητής 240Hz θα επανέλθει μόλις ο αριθμός φτάσει τα 41667.

Για την ενότητα καθόδου του κώδικα, εάν το ΕΝΕΡΓΟΠΟΙΗΣΗ είναι «0», η καταμέτρηση της καθόδου θα σταματήσει. Εάν πατήσετε το κουμπί επαναφοράς κατά τη διάρκεια αυτής της περιόδου, τότε όλοι οι μετρήσεις επαναφέρονται στο "0000". Εν τω μεταξύ, εάν το ΕΝΕΡΓΟΠΟΙΗΣΗ είναι «1», η καταμέτρηση της καθόδου θα συνεχιστεί έως ότου ο αριθμός καθόδου φτάσει το 60,00, στο οποίο ενεργοποιεί το σήμα διακοπής να είναι «1». Το σήμα διακοπής επιστρέφει στο μπλοκ διαδικασίας CEN και προκαλεί το ΕΝΕΡΓΟΠΟΙΗΣΗ να είναι "0" ενώ το σήμα διακοπής είναι "1" και δεν θα αλλάξει μέχρι να πατηθεί το κουμπί επαναφοράς.

Τέλος, η οθόνη των επτά τμημάτων ρυθμίζεται έχοντας τις 4 άνοδος σωστά συνδεδεμένες με κάθε μία από τις 8 καθόδους τους για να εμφανίζουν τα αντίστοιχα ψηφία τους 0-9 ταυτόχρονα.

Βήμα 4: Περιορισμοί

Περιορισμοί
Περιορισμοί

Αυτό το αρχείο περιορισμών συνδέει τις καθορισμένες εισόδους και εξόδους από το VHDL στα απαραίτητα, φυσικά μέρη του πίνακα Basys. Για αυτό το έργο, τα συστατικά περιλαμβάνουν τις τέσσερις άνοδος και κάθε μία από τις οκτώ καθόδους τους για την οθόνη των επτά τμημάτων, το εσωτερικό ρολόι των 100 mHz, το κεντρικό κουμπί και το δεξί κουμπί.

Βήμα 5: Δοκιμή

Μόλις ολοκληρώσετε τον κωδικό, μπορείτε τώρα να προγραμματίσετε το FPGA μέσω του καλωδίου USB. Η οθόνη των επτά τμημάτων πρέπει να δείχνει 0,00. Ελέγξτε αν τα κουμπιά λειτουργούν πατώντας το κεντρικό κουμπί για να ξεκινήσει ο χρονοδιακόπτης μέχρι να φτάσει το 60.00 και να σταματήσει. ανά πάσα στιγμή, μπορείτε να πατήσετε ξανά το κεντρικό κουμπί για παύση. Μόλις τεθεί σε παύση, μπορείτε να πατήσετε το δεξί κουμπί για να επαναφέρετε το χρονόμετρο πίσω στο 0,00. Εάν όλα λειτουργούν σωστά, συγχαρητήρια μόλις δημιουργήσατε ένα χρονόμετρο ενός λεπτού!

Συνιστάται: