Inhoudsopgave:
- Stap 1: hardware/software verkrijgen
- Stap 2: Blokdiagram
- Stap 3: Projectmodule
- Stap 4: Beperkingen
- Stap 5: Testen
Video: VHDL één minuut stopwatch - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
Dit is een tutorial over het bouwen van een stopwatch van één minuut met VHDL en een Basys 3-bord. Zo'n apparaat is ideaal voor spellen waarbij elke speler maximaal één minuut de tijd heeft om zijn zet te doen. De stopwatch geeft seconden en milliseconden nauwkeurig weer op het zevensegmentendisplay, beginnend bij 0 seconden en 0 milliseconden, tot 60 seconden en 0 milliseconden. Er worden ook twee knoppen gebruikt: de centrale knop, die wordt gebruikt om de timer te starten, stoppen en voort te zetten, en de rechterknop, die wordt gebruikt om de timer opnieuw te starten. Wanneer het apparaat zij aan zij wordt vergeleken met de ingebouwde stopwatch van een smartphone, valt de nauwkeurigheid van de klok op.
Stap 1: hardware/software verkrijgen
1. Basys 3 Artix-7 FPGA Trainer Board van Digilent met Micro-USB naar USB-kabel
2. Vivado 2016.2 Design Suite van Xilinx
Stap 2: Blokdiagram
Dit circuit is gedragsmatig geconstrueerd en maakt gebruik van ingebouwde Xilinx-componenten, maar kan ook structureel worden beschreven, zoals weergegeven in het algemene structurele diagram hierboven. Uit het diagram is te zien dat het circuit wordt aangedreven door twee frequentiedelers. Een van de frequentiedelers loopt op 1 centiseconde en stuurt de kathodeteller aan die worden gebruikt als de getallen die worden weergegeven op het zevensegmentendisplay. De tweede frequentiedeler werkt op 240 Hz en wordt gebruikt om de anodeteller aan te sturen die door de anodes draait, zodat alle cijfers correct worden weergegeven op het zevensegmentendisplay. De encoder neemt de kathodelogica van de kathodeteller en de anodelogica van de anodeteller en codeert deze naar de kathode en anode van de uitgang die het zevensegmentendisplay aansturen. De functie van deze encoder is dat de kathode-uitgang verandert telkens wanneer de anode-uitgang verandert. De kathode-uitgang kan niet onafhankelijk van de teller lopen omdat de anodes door de 4 afzonderlijke cijfers moeten draaien.
Stap 3: Projectmodule
Ten eerste wordt een procesblokkering voor CEN gemaakt, zodat wanneer een druk op de knop wordt gedetecteerd, de ENABLE wordt omgeschakeld. Deze dient als stop/start van de kathodeteller.
In het volgende procesblok worden de centiseconde- en 240Hz-kloksignalen zo ingesteld dat hun respectievelijke tellers met 1 toenemen elke keer dat de interne 100mHz-klok een stijgende flank bereikt. Zodra de teller van de centiseconden 500000 bereikt, wordt deze teruggezet naar 0. Ondertussen zou de 240 Hz-teller worden gereset zodra de telling 41667 bereikt.
Voor het kathodegedeelte van de code, als ENABLE '0' is, wordt het tellen van de kathode onderbroken. Als de resetknop gedurende deze tijd wordt ingedrukt, worden alle tellingen teruggezet naar "0000". Ondertussen, als ENABLE '1' is, zal de kathodetelling doorgaan totdat de kathodetelling 60,00 bereikt, waarbij het het stopsignaal triggert om '1' te zijn. Het stopsignaal gaat terug naar het CEN-procesblok en zorgt ervoor dat ENABLE '0' is, terwijl het stopsignaal '1' is en niet verandert totdat de resetknop wordt ingedrukt.
Ten slotte wordt het display met zeven segmenten ingesteld door de 4 anoden correct te verbinden met elk van hun 8 kathodes om hun respectieve cijfers 0-9 tegelijkertijd weer te geven.
Stap 4: Beperkingen
Dit beperkingenbestand verbindt de gespecificeerde inputs en outputs van VHDL met de noodzakelijke, fysieke delen van het Basys-bord. Voor dit project omvatten de componenten de vier anodes en elk van hun acht kathoden voor het zevensegmentendisplay, de interne 100 mHz-klok, de middelste knop en de rechterknop.
Stap 5: Testen
Nadat je de code hebt ingevuld, kun je nu de FPGA programmeren via de USB-kabel. Het display met zeven segmenten moet 0.00 weergeven. Test of de knoppen werken door op de centrale knop te drukken om de timer te starten totdat deze 60.00 bereikt en stopt; op elk moment daartussenin kun je nogmaals op de centrale knop drukken om het te pauzeren. Zodra het is gepauzeerd, kunt u op de rechterknop drukken om de timer terug te zetten naar 0.00. Als alles correct werkt, gefeliciteerd, je hebt zojuist een timer van één minuut gebouwd!
Aanbevolen:
Een e-mailmelding ontvangen wanneer een kanaal op ThingSpeak een tijdje niet is bijgewerkt: 16 stappen
Ontvang een e-mailmelding als een kanaal op ThingSpeak een tijdje niet is bijgewerkt: Achtergrondverhaal Ik heb zes geautomatiseerde kassen verspreid over Dublin, Ierland. Door een op maat gemaakte app voor mobiele telefoons te gebruiken, kan ik op afstand de geautomatiseerde functies in elke kas volgen en ermee communiceren. Ik kan de win handmatig openen / sluiten
Hoe maak je een stopwatch met Arduino 8 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe maak je een stopwatch met behulp van Arduino: dit is een zeer eenvoudige Arduino 16 * 2 lcd-scherm stopwatch ……….. Als je deze Instructable leuk vindt, abonneer je dan op mijn kanaal https://www.youtube.com /ZenoModiff
Een eenvoudige, praktische Arduino-stopwatch: 4 stappen
Een eenvoudige, praktische Arduino-stopwatch: zoek op internet naar Arduino-stopwatch. Je hebt het waarschijnlijk net gedaan, als je hier bent. Uit persoonlijke ervaring kan ik je vertellen dat elke stopwatch op internet ofwel veel te complex is (in code, voor beginners), of veel te vereenvoudigd is en niet praktisch
Hoe maak je een digitale stopwatch met behulp van 555: 3 stappen
Hoe maak je een digitale stopwatch met 555: Ik heb een eenvoudige stopwatch gemaakt met behulp van 3 zevensegmenten LED-displays waarvan je eerst voor het weergeven van het 10e deel van seconden een tweede en derde voor een veelvoud van 10 inn seconden. Ik gebruikte 555 timers in de stabiele modus die per 1 seconde signaal geeft aan
VHDL-stopwatch: 8 stappen (met afbeeldingen)
VHDL-stopwatch: dit is een tutorial over het maken van een stopwatch met VHDL en een FPGA-printplaat, zoals een Basys3 Atrix-7-bord. De stopwatch kan tellen van 00.00 seconden tot 99,99 seconden. Het maakt gebruik van twee knoppen, één voor de start/stop-knop en een andere voor de