Innholdsfortegnelse:
- Trinn 1: Materialer
- Trinn 2: Angi innganger og utganger
- Trinn 3: Lag klokker
- Trinn 4: Teller til ti
- Trinn 5: Vis tall
- Trinn 6: Slik viser du stoppeklokken
- Trinn 7: Ta alt sammen
- Trinn 8: Begrensninger
- Trinn 9: Testing
Video: Grunnleggende stoppeklokke ved bruk av VHDL og Basys3 Board: 9 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Velkommen til instruksjonene om hvordan du bygger en stoppeklokke ved hjelp av grunnleggende VHDL og Basys 3 -kort. Vi gleder oss til å dele prosjektet vårt med deg! Dette var et siste prosjekt for kurset CPE 133 (Digital Design) på Cal Poly, SLO høsten 2016. Prosjektet vi bygde er et enkelt stoppeklokke som starter, tilbakestiller og stopper tiden. Den tar inn tre trykknapper på Basys3-kortet som innganger, og tiden vises på brettets firesifrede syvsegmentdisplay. Forløpt tid vises i et sekund: centisekunder -format. Den bruker brettets systemklokke som en inngang for å holde oversikt over tiden som har gått og sender ut tiden til de fire sifrene i displayet med syv segmenter.
Trinn 1: Materialer
Materialene du trenger for dette prosjektet:
- 1 datamaskin med Vivado Design Suite WebPack installert fra Xilinx (foretrekker versjon 2016.2)
- 1 Digilent Basys3 Xilinx Artix-7 FPGA-brett
- 1 USB -portkabel
Trinn 2: Angi innganger og utganger
Figuren ovenfor viser et blokkdiagram på toppnivå for stoppeklokke -modulen. Stoppeklokken tar inn innganger "CLK" (klokke), "S1" (startknapp), "S2" (pause-knapp) og "RST" (tilbakestill) og har en 4-bits utgang "Anoder", en 7-bit output "segment" og en single-bit output "DP" (desimaltegn). Når inngangen "S1" er høy, begynner stoppeklokken å telle tid. Når "S2" er lav, stopper stoppeklokken tiden. Når "RST" er høy, stopper stoppeklokken og tilbakestiller tiden. Det er fire delmoduler i kretsen: klokkeavdeleren, siffertelleren, sju-segment skjermdriveren og sju-segment displaykoderen. Stoppeklokkens hovedmodul kobler alle delmodulene sammen og til innganger og utganger.
Trinn 3: Lag klokker
Klokkedelermodulen tar inn en systemklokke og bruker en divisorinngang for å lage en klokke med hvilken som helst hastighet som ikke er større enn systemklokken. Stoppeklokken bruker to forskjellige klokkemoduler, en som lager en 500 Hz klokke og en annen som lager en 100 Hz klokke. Skjematisk for klokkeavdeleren er vist i figuren ovenfor. Klokkedeleren tar inn en enkeltbit-inngang "CLK", og en 32-biters inngang "Divisor" og enkeltbit-utgangen "CLKOUT". "CLK" er systemklokken og "CLKOUT" er den resulterende klokken. Modulen inkluderer også en NOT -port, som bytter signal "CLKTOG" når tellingen når verdien til divisoren.
Trinn 4: Teller til ti
Siffertelleren teller hvert siffer fra 0 til 10 og oppretter en annen klokke for at det neste sifferet skal fungere ut av det som svinger når tellingen når 10. Modulen tar inn 3 enkeltbits innganger "S", "RST" og "CLK "og resulterer i en enkeltbits utgang" N "og en 4-bits utgang" D ". Inngang "S" er aktivering i inngang. Klokken slås på når "S" er høyt og av når "S" er lavt. "RST" er tilbakestillingsinngangen, så klokken tilbakestilles når "RST" er høy. "CLK" er klokkeinngangen for siffertelleren. "N" er klokkeutgangen som blir inngangsklokken for det neste sifferet. Utdata "D" presenterer den binære verdien til sifferet telleren er på.
Trinn 5: Vis tall
Den syv-segmenters visningskoder vil kode det binære nummeret som mottas fra sju-segmenters skjermdrivermodul og gjøre det til en strøm av biter som vil bli tolket som '1' eller '0' verdier for hvert segment av skjermen. Det binære tallet mottas av modulen som 4-biters inngang "siffer" og resulterer i 7-biters utgang "segmenter". Modulen består av en enkelt saksprosessblokk som tilordner en spesifikk 7-biters strøm for hver mulig inngangsverdi fra 0 til 9. Hver bit i syv-bits strømmer representerer et av de syv segmentene av sifrene på displayet. Rekkefølgen på segmentene i strømmen er "abcdefg" med '0'er som representerer segmentene som lyser opp for det gitte tallet.
Trinn 6: Slik viser du stoppeklokken
I sju-segment skjermdrivermodulen er det fire 4-bits innganger "D0", "D1", "D2" og "D3", som hver representerer de fire sifrene som skal vises. Inngang "CLK" er klokkeinngangen til systemet. En-biters utgang "DP" representerer desimaltegnet på syv-segmentet. 4-bits utgangen "Anoder" bestemmer hvilket siffer på syv-segmentet som vises og 4-biters utgang "temp" avhenger av tilstanden til 2-biters kontrollinngang "SEL". Modulen bruker 4 multiplexere for kontrollinngangen "SEL" og de tre utgangene; "Anoder", "temp" og "DP".
Trinn 7: Ta alt sammen
En "hvis" -prosessblokk som går ut av 500Hz -klokken, brukes til å lage start- og pause -knappene. Deretter kobler du alle delmodulene sammen i stoppeklokke -hovedmodulen ved å deklarere komponentene i hver enkelt delmodul og bruke forskjellige signaler. Sifferundermodulene tar inn klokkeutgangen til den forrige sifferundermodulen, mens den første tar inn 100Hz -klokken. "D" -utgangene til sifferundermodulene blir deretter "D" -inngangene til sju segmenters skjermdrivermodul. Og til slutt blir "temp" -utgangen til sju segmenters skjermdrivermodul "temp" -inngangen til sju segment encoder modulen.
Trinn 8: Begrensninger
Bruk 3 trykknapper (W19, T17 og U18) for innganger "RST", "S1" og "S2". W19 er tilbakestillingsknappen, T17 er startknappen (S1), og U18 er pauseknappen (S2). En begrensning for klokkeinngang er også nødvendig ved bruk av port W5. Husk også å legge denne linjen til klokkebegrensningen:
create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {CLK}]
Koble også anodene og segmentene til brettet, slik at stoppeklokken vises på displayet med syv segmenter som vist i begrensningsfilen.
Trinn 9: Testing
Sørg for at enheten din fungerer ved å leke med de tre knappene: Trykk og hold dem i hver mulig rekkefølge for å finne mulige problemer med koden din.
Anbefalt:
Arduino stoppeklokke ved bruk av I2C LCD: 5 trinn
Arduino stoppeklokke ved bruk av I2C LCD: I dette prosjektet skal jeg lære deg å bruke en LCD -skjerm og en Arduino som en interaktiv stoppeklokke. Når prosjektet er ferdig med koden, skal det se ut som bildet ovenfor. Gå til neste trinn for å lære hvor du skal begynne
Grunnleggende mobiltelefon ved bruk av STM32F407 Discovery Kit og GSM A6 -modul: 14 trinn (med bilder)
Grunnleggende mobiltelefon ved bruk av STM32F407 Discovery Kit og GSM A6 -modul: Har du noen gang ønsket å lage et kult innebygd prosjekt ?. Hvis ja, hva med å bygge en av de mest populære og alles favoritt gadget, dvs mobiltelefon !!!. I denne instruksen vil jeg guide deg til hvordan du bygger en grunnleggende mobiltelefon ved hjelp av STM
Hvordan lage en stoppeklokke ved hjelp av Arduino: 8 trinn (med bilder)
Hvordan lage en stoppeklokke ved hjelp av Arduino: Dette er en veldig enkel Arduino 16*2 LCD -skjermstoppur ……….. /ZenoModiff
VHDL Ett minutts stoppeklokke: 5 trinn
VHDL One Minute Stopwatch: Dette er en opplæring i hvordan du bygger et stoppeklokke på ett minutt ved hjelp av VHDL og et Basys 3 -kort. En slik enhet er ideell for spill der hver spiller har maksimalt ett minutt på seg. Stoppeklokken viser nøyaktig sekunder og millisekunder
VHDL stoppeklokke: 8 trinn (med bilder)
VHDL Stoppeklokke: Dette er en opplæring i hvordan du lager en stoppeklokke ved hjelp av VHDL og et FPGA-kretskort, som et Basys3 Atrix-7-kort. Stoppeklokken kan telle fra 00,00 sekunder til 99,99 sekunder. Den bruker to knapper, en for start/stopp -knappen og en for