Table des matières:
- Étape 1: Obtenir le matériel/logiciel
- Étape 2: Schéma fonctionnel
- Étape 3: Module de projet
- Étape 4: Contraintes
- Étape 5: Tester
Vidéo: Chronomètre d'une minute VHDL : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Ceci est un tutoriel sur la façon de construire un chronomètre d'une minute en utilisant VHDL et une carte Basys 3. Un tel appareil est idéal pour les jeux où chaque joueur dispose d'une minute maximum pour jouer son rôle. Le chronomètre affiche avec précision les secondes et les millisecondes sur l'affichage à sept segments, à partir de 0 seconde et 0 milliseconde, jusqu'à 60 secondes et 0 milliseconde. Deux boutons sont également utilisés: le bouton central, utilisé pour démarrer, arrêter et continuer le chronomètre, et le bouton de droite, utilisé pour redémarrer le chronomètre. Lorsque l'appareil est comparé côte à côte avec le chronomètre intégré d'un téléphone intelligent, la précision de l'horloge est perceptible.
Étape 1: Obtenir le matériel/logiciel
1. Carte d'entraînement FPGA Basys 3 Artix-7 de Digilent avec câble Micro-USB vers USB
2. Vivado 2016.2 Design Suite de Xilinx
Étape 2: Schéma fonctionnel
Ce circuit est construit de manière comportementale et utilise des composants Xilinx intégrés, mais peut également être décrit structurellement, comme le montre le schéma structurel général ci-dessus. Sur le schéma, on peut voir que le circuit est piloté par deux diviseurs de fréquence. L'un des diviseurs de fréquence fonctionne à 1 centiseconde et entraîne le compteur cathodique qui est utilisé comme nombre affiché sur l'affichage à sept segments. Le deuxième diviseur de fréquence fonctionne à 240 Hz et est utilisé pour piloter le compteur d'anodes qui tourne à travers les anodes afin que tous les chiffres s'affichent correctement sur l'affichage à sept segments. L'encodeur prend la logique cathodique du compteur cathodique et la logique anodique du compteur anodique, et l'encode vers la cathode et l'anode de sortie qui exécutent l'affichage à sept segments. La fonction de cet encodeur est que la sortie cathodique change à chaque fois que la sortie anode change. La sortie cathodique ne peut pas être exécutée indépendamment du compteur car les anodes doivent tourner à travers les 4 chiffres séparés.
Étape 3: Module de projet
Tout d'abord, un bloc de processus pour le CEN est créé de sorte que lorsqu'un appui sur un bouton est détecté, l'ACTIVATION bascule. Cela sert d'arrêt/démarrage du compteur cathodique.
Dans le bloc de processus suivant, les signaux d'horloge centiseconde et 240 Hz sont réglés de sorte que leurs compteurs respectifs augmentent de 1 chaque fois que l'horloge interne à 100 mHz atteint un front montant. Une fois que le compteur centiseconde atteint 500000, il se réinitialise à 0. Pendant ce temps, le compteur 240Hz se réinitialise une fois que le compte atteint 41667.
Pour la section cathode du code, si ENABLE est '0', le comptage de cathode s'arrêtera. Si le bouton de réinitialisation est enfoncé pendant ce temps, tous les comptes sont réinitialisés à "0000". Pendant ce temps, si ENABLE est à '1', le comptage de cathode continuera jusqu'à ce que le comptage de cathode atteigne 60,00, auquel cas il déclenche le signal d'arrêt à '1'. Le signal d'arrêt est renvoyé au bloc de processus CEN et fait que ENABLE est à « 0 » tandis que le signal d'arrêt est à « 1 » et ne changera pas tant que le bouton de réinitialisation n'est pas enfoncé.
Enfin, l'affichage à sept segments est configuré en ayant les 4 anodes correctement connectées à chacune de leurs 8 cathodes pour afficher leurs chiffres respectifs 0-9 simultanément.
Étape 4: Contraintes
Ce fichier de contraintes connecte les entrées et sorties spécifiées de VHDL dans les parties physiques nécessaires de la carte Basys. Pour ce projet, les composants comprennent les quatre anodes et chacune de leurs huit cathodes pour l'affichage à sept segments, l'horloge interne à 100 mHz, le bouton central et le bouton droit.
Étape 5: Tester
Une fois que vous avez terminé le code, vous pouvez maintenant programmer le FPGA via le câble USB. L'affichage à sept segments doit indiquer 0.00. Testez pour voir si les boutons fonctionnent en appuyant sur le bouton central pour démarrer la minuterie jusqu'à ce qu'elle atteigne 60,00 et s'arrête; à tout moment entre les deux, vous pouvez appuyer à nouveau sur le bouton central pour le mettre en pause. Une fois qu'il est en pause, vous pouvez appuyer sur le bouton droit pour réinitialiser la minuterie à 0,00. Si tout fonctionne correctement, félicitations, vous venez de construire une minuterie d'une minute !
Conseillé:
Comment faire une horloge analogique et une horloge numérique avec une bande LED à l'aide d'Arduino: 3 étapes
Comment faire une horloge analogique et une horloge numérique avec une bande LED à l'aide d'Arduino Horloge numérique avec Led Strip et module MAX7219 Dot avec Arduino. Elle corrigera l'heure avec le fuseau horaire local. L'horloge analogique peut utiliser une bande LED plus longue, elle peut donc être accrochée au mur pour devenir une œuvre d'art
Chronomètre de base utilisant VHDL et carte Basys3 : 9 étapes
Chronomètre de base à l'aide de VHDL et de la carte Basys3 Nous sommes ravis de partager notre projet avec vous! Il s'agissait d'un projet final pour le cours CPE 133 (Design numérique) à Cal Poly, SLO à l'automne 2016. Le projet que nous construisons
Installation d'un dissipateur thermique Zalman VF900-Cu sur une édition Mac Radeon X800 XT pour une utilisation dans une tour Apple G5 : 5 étapes
Installation d'un dissipateur thermique Zalman VF900-Cu sur une édition Mac Radeon X800 XT pour une utilisation dans une tour Apple G5 : l'avertissement standard - C'est ainsi que je l'ai fait. Cela a fonctionné pour moi. Si vous faites exploser votre G5, Radeon X800 XT, ou votre maison, voiture, bateau, etc. Je ne suis pas responsable ! Je fournis des informations basées sur mes propres connaissances et expériences. Je crois que tout st
Chronomètre VHDL : 8 étapes (avec photos)
Chronomètre VHDL : il s'agit d'un tutoriel sur la façon de créer un chronomètre à l'aide de VHDL et d'une carte de circuit imprimé FPGA, comme une carte Basys3 Atrix-7. Le chronomètre est capable de compter de 00,00 secondes à 99,99 secondes. Il utilise deux boutons, un pour le bouton marche/arrêt et un autre pour le
Méthode éponge + chlorure ferrique - Gravez les PCB en une minute ! : 5 étapes (avec photos)
Éponge + méthode de chlorure ferrique -- Etch PCBs in One Minute ! : Dans ce Instructable, je vais vous montrer comment graver une carte de circuit imprimé avec environ une cuillère à soupe de solution de gravure de chlorure ferrique et une éponge carrée de 2 pouces. Vous serez étonné de voir le cuivre exposé sur le PCB disparaître sous vos yeux, et votre sanglier