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

Χρονόμετρο VHDL: 8 βήματα (με εικόνες)
Χρονόμετρο VHDL: 8 βήματα (με εικόνες)

Βίντεο: Χρονόμετρο VHDL: 8 βήματα (με εικόνες)

Βίντεο: Χρονόμετρο VHDL: 8 βήματα (με εικόνες)
Βίντεο: Чем отличаются Casio AE-1500WH от WHX? 2024, Νοέμβριος
Anonim
Χρονόμετρο VHDL
Χρονόμετρο VHDL

Αυτό είναι ένα σεμινάριο για το πώς να φτιάξετε ένα χρονόμετρο χρησιμοποιώντας VHDL και μια πλακέτα κυκλώματος FPGA, όπως ένας πίνακας Basys3 Atrix-7. Το χρονόμετρο μπορεί να μετρήσει από 00.00 δευτερόλεπτα έως 99.99 δευτερόλεπτα. Χρησιμοποιεί δύο κουμπιά, ένα για το κουμπί έναρξης/διακοπής και ένα άλλο για το κουμπί επαναφοράς. Οι αριθμοί εμφανίζονται στην οθόνη επτά τμημάτων του πίνακα χρησιμοποιώντας τις ανόδους και τις καθόδους του. Απαιτούνται τρία διαφορετικά αρχεία για να λειτουργήσει αυτό το χρονόμετρο.

Βήμα 1: Υλικό/Λογισμικό

  • Basys3 Atrix-7 FPGA Board
  • Vivado Design Suite από το Xilinx
  • USB 2.0 A Male to Micro-B Male

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

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

Το συνολικό χρονόμετρο έχει τρεις εισόδους και δύο εξόδους. Οι τρεις είσοδοι είναι η έναρξη/διακοπή, η επαναφορά και το ρολόι. Η έναρξη/διακοπή και η επαναφορά είναι κουμπιά και το ρολόι είναι το ρολόι των 100MHz της πλακέτας. Οι δύο έξοδοι είναι οι άνοδοι και οι κάθοδοι για την οθόνη επτά τμημάτων.

Η πρώτη μονάδα (διαχωριστής ρολογιού) έχει μία είσοδο και δύο εξόδους. Η είσοδος είναι το ρολόι των 100MHz της πλακέτας και οι έξοδοι είναι δύο ξεχωριστά ρολόγια, το ένα λειτουργεί στα 480Hz και το άλλο στα 0.5MHz.

Η δεύτερη μονάδα (οθόνη) έχει πέντε εισόδους και δύο εξόδους. Οι είσοδοι είναι το ρολόι του πίνακα 100MHz, τα δύο ρολόγια από τη μονάδα διαίρεσης ρολογιού και τα κουμπιά έναρξης/διακοπής και επαναφοράς. Οι έξοδοι είναι οι άνοδοι και οι κάθοδοι.

Η τελευταία ενότητα (διαμορφωμένη από ολόκληρο το διάγραμμα) έχει τρεις εισόδους και δύο εξόδους. Αυτό είναι το αρχείο που φέρνει τα πάντα μαζί. Οι είσοδοι είναι τα 100MHz της πλακέτας και τα κουμπιά έναρξης/διακοπής και επαναφοράς. Οι έξοδοι είναι οι άνοδοι και οι κάθοδοι που ελέγχουν την οθόνη επτά τμημάτων. Όλες οι είσοδοι και οι έξοδοι βρίσκονται φυσικά στον πίνακα για την τελική μονάδα.

Βήμα 3: Διάγραμμα κατάστασης

Κρατικό διάγραμμα
Κρατικό διάγραμμα

Η παραπάνω εικόνα δείχνει το διάγραμμα κατάστασης για το πώς λειτουργεί το χρονόμετρο. Το πάτημα του κουμπιού επαναφοράς δεν επηρεάζει την κατάσταση του χρονόμετρου. Η επόμενη κατάσταση καθορίζεται από το κουμπί έναρξης/διακοπής. Η εκκίνηση/διακοπή είναι "Υ HIGHΗΛΗ" όταν πιέζεται προς τα κάτω, αλλά όχι όταν κρατιέται πατημένο, και "ΧΑΜΗΛΗ" όταν το κουμπί έχει αναπηδήσει πίσω ή κρατηθεί πατημένο αφού είναι "Υ HIGHΗΛΗ" στιγμιαία.

Εάν το χρονόμετρο μετράει και το κουμπί έναρξης/διακοπής πάει "Υ HIGHΗΛΟ", τότε σταματά να μετράει. Εάν το χρονόμετρο σταματήσει και το κουμπί έναρξης/διακοπής πάει "Υ HIGHΗΛΟ" τότε αρχίζει να μετράει ξανά. Και για τις δύο καταστάσεις, εάν το κουμπί έναρξης/διακοπής είναι "LOW", τότε θα παραμείνει στην κατάσταση στην οποία βρίσκεται αυτήν τη στιγμή.

Βήμα 4: Ενότητα διαχωριστή ρολογιού

Η μονάδα διαίρεσης ρολογιού έχει μία είσοδο, το ρολόι του πίνακα 100MHz και δύο εξόδους, τα ρολόγια 480Hz και 0.5MHz. Το ρολόι 480Hz χρησιμοποιείται για να διατηρήσει όλες τις λυχνίες LED στην οθόνη των επτά τμημάτων "αναμμένες" ταυτόχρονα, με γρήγορη εναλλαγή των τεσσάρων. Το ρολόι 0,5 MHz χρησιμοποιείται για το χρονόμετρο να μετράει πράγματι κατά εκατοστά δευτερόλεπτα.

Βήμα 5: Ενότητα εμφάνισης

Αυτή η μονάδα οθόνης έχει πέντε εισόδους, το ρολόι της πλακέτας 100MHz, τα δύο ρολόγια από τη μονάδα ρολογιού και τα κουμπιά έναρξης/διακοπής και επαναφοράς, και δύο εξόδους, τις άνοδος και τις καθόδους. Αυτή η ενότητα έχει επίσης τη "λογική" για το πώς μετρά το χρονόμετρο και ενσωματώνει τη μηχανή πεπερασμένης κατάστασης.

Βήμα 6: Ενότητα σύνδεσης

Αυτή η τελευταία ενότητα είναι αυτή που φέρνει μαζί τις άλλες δύο ενότητες. Έχει τρεις εισόδους, το ρολόι του πίνακα 100MHz και τα κουμπιά έναρξης/διακοπής και επαναφοράς, και δύο εξόδους, τις άνοδος και τις καθόδους. Το ρολόι 100MHz πηγαίνει στη μονάδα διαίρεσης ρολογιού και τη μονάδα οθόνης και τα κουμπιά έναρξης/διακοπής και επαναφοράς πηγαίνουν στη μονάδα οθόνης. Οι έξοδοι της μονάδας διαίρεσης ρολογιού (480Hz και 0.5MHz) πηγαίνουν στις δύο εισόδους ρολογιού της μονάδας οθόνης. Οι έξοδοι της μονάδας οθόνης (άνοδοι και κάθοδοι) πηγαίνουν στις εξόδους της τελικής μονάδας.

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

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

Οι δύο είσοδοι μπορεί να είναι οποιοδήποτε κουμπί στον πίνακα Basys3 Atrix-7 FPGA και οι έξοδοι θα είναι οι τέσσερις άνοδοι και οι οκτώ κάθοδοι (επειδή θέλετε επίσης ένα δεκαδικό σημείο μεταξύ δευτερολέπτων και χιλιοστών του δευτερολέπτου) για την οθόνη επτά τμημάτων.

Βήμα 8: Τέλος

Ανεβάστε το πρόγραμμα στον πίνακα Basys3 Atrix-7 FPGA και πατήστε το κουμπί έναρξης/διακοπής για να ξεκινήσει το χρονόμετρο!

Συνιστάται: