INHOUDSOPGAWE:
- Stap 1: materiaal
- Stap 2: Stel insette en uitsette
- Stap 3: Maak horlosies
- Stap 4: Tel tot tien
- Stap 5: Vertoon getalle
- Stap 6: Hoe om die stophorlosie te wys
- Stap 7: Bring alles bymekaar
- Stap 8: Beperkings
- Stap 9: Toets
Video: Basiese stophorlosie met behulp van VHDL en Basys3 Board: 9 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Welkom by die instruksies oor hoe om 'n stophorlosie te bou met basiese VHDL- en Basys 3 -bord. Ons is opgewonde om ons projek met u te deel! Dit was 'n finale projek vir die kursus CPE 133 (Digital Design) by Cal Poly, SLO in die herfs van 2016. Die projek wat ons gebou het, is 'n eenvoudige stophorlosie wat tyd begin, herstel en stilhou. Dit neem drie drukknoppies op die Basys3-bord as insette in, en die tyd word op die bord se vier-syfer-sewe-segment-skerm vertoon. Die verloop van tyd word in 'n sekonde: sentisekondes formaat vertoon. Dit gebruik die stelselklok van die bord as 'n invoer om die tyd wat verloop het by te hou en gee die tyd uit na die vier syfers van die sewesegment.
Stap 1: materiaal
Die materiaal wat u benodig vir hierdie projek:
- 1 rekenaar met Vivado Design Suite WebPack geïnstalleer vanaf Xilinx (verkieslik weergawe 2016.2)
- 1 Digilent Basys3 Xilinx Artix-7 FPGA-bord
- 1 USB -poortkabel
Stap 2: Stel insette en uitsette
Die figuur hierbo toon 'n blokdiagram op die hoogste vlak van die hoofstophorlosiemodule. Die stophorlosie voer insette "CLK" (klok), "S1" (beginknoppie), "S2" (pouse-knoppie) en "RST" (reset) in en het 'n 4-bis-uitset "Anodes", 'n 7-bis uitset "segment" en 'n enkele bis-uitvoer "DP" (desimale punt). As die inset "S1" hoog is, begin die stophorlosie tyd tel. As "S2" laag is, stop die stophorlosie die tyd. As 'RST' hoog is, stop die stophorlosie en stel die tyd terug. Daar is vier submodules binne die stroombaan: die klokverdeler, die syfer-teller, die sewe-segment vertoonbestuurder en die sewe-segment vertoonkodeerder. Die stophorlosie se hoofmodule koppel al die submodules aan mekaar en aan die insette en uitsette.
Stap 3: Maak horlosies
Die klokverdelermodule neem 'n stelselklok in en gebruik 'n verdeler -invoer om 'n klok met 'n snelheid van nie meer as die stelselklok te skep nie. Die stophorlosie gebruik twee verskillende klokmodules, een wat 'n 500 Hz -klok skep en 'n ander 'n 100 Hz -klok. Die skema vir die klokverdeler word in die figuur hierbo getoon. Die klokverdeler neem 'n enkelbit-invoer "CLK" in, en 'n 32-bis-invoer "Divisor" en die enkelbit-uitvoer "CLKOUT". "CLK" is die stelselklok en "CLKOUT" is die gevolglike klok. Die module bevat ook 'n NOT -hek, wat die sein "CLKTOG" skakel as die telling die waarde van die verdeler bereik.
Stap 4: Tel tot tien
Die syferteller tel elke syfer van 0 tot 10 en skep nog 'n horlosie vir die volgende syfer om te funksioneer, en dit ossilleer wanneer die telling 10 bereik. "en lei tot 'n enkel-bis-uitvoer" N "en 'n 4-bis-uitvoer" D ". Invoer "S" is die insette in. Die horlosie word aangeskakel wanneer "S" hoog is en af as "S" laag is. "RST" is die reset -invoer, sodat die klok herstel word as "RST" hoog is. "CLK" is die klokinvoer vir die syfers. "N" is die klokuitset wat die ingangsklok word vir die volgende syfer. Uitset "D" bied die binêre waarde van die syfer waarteen die teller is, aan.
Stap 5: Vertoon getalle
Die sewe-segment vertoonkodeerder sal die binêre getal wat van die sewe-segment vertoonbestuurdermodule ontvang word, kodeer en dit omskep in 'n stroom stukkies wat geïnterpreteer sal word as '1' of '0' waardes vir elke segment van die skerm. Die binêre getal word deur die module ontvang as die 4-bis invoer "syfer" en lei tot die 7-bis uitset "segmente". Die module bestaan uit 'n enkele gevalprosesblok wat 'n spesifieke 7-bis-stroom toeken vir elke moontlike insetwaarde van 0 tot 9. Elke bis in die sewe-bis-strome verteenwoordig een van die sewe segmente van die syfers op die skerm. Die volgorde van die segmente in die stroom is "abcdefg" met '0's' wat die segmente verteenwoordig wat vir die gegewe getal lig.
Stap 6: Hoe om die stophorlosie te wys
In die sewe-segment-skermbestuurdermodule is daar vier 4-bis-insette "D0", "D1", "D2" en "D3", wat elk die vier syfers verteenwoordig wat vertoon moet word. Invoer "CLK" is die klokinvoer van die stelsel. Enkel-bis-uitset "DP" verteenwoordig die desimale punt op die sewesegment. Die 4-bis-uitvoer "Anodes" bepaal watter syfer op die sewesegment vertoon word en die 4-bis-uitset "temp" hang af van die toestand van die 2-bis-beheerinvoer "SEL". Die module gebruik 4 multiplexers vir die kontrole -invoer "SEL" en die drie uitsette; "Anodes", "temp" en "DP".
Stap 7: Bring alles bymekaar
'N' As 'prosesblok wat van die 500Hz -klok afloop, word gebruik om die begin- en pouse -knoppies te skep. Koppel dan al die submodules aan mekaar in die stophorlosie se hoofmodule deur die komponente van elke individuele submodule te verklaar en verskillende seine te gebruik. Die syfer -submodules neem die klokuitset van die vorige syfer -submodule in, terwyl die eerste die 100Hz -klok inneem. Die "D" uitsette van die syfer submodules word dan die "D" insette van die sewe segment vertoon bestuurder module. En laastens word die "temp" -uitset van die sewe segment -skermbestuurdermodule die "temp" -invoer van die sewe segment encoder module.
Stap 8: Beperkings
Gebruik 3 drukknoppies (W19, T17 en U18) vir insette "RST", "S1" en "S2". W19 is die resetknoppie, T17 is die startknoppie (S1) en U18 is die pouse -knoppie (S2). 'N Beperking vir die invoer van die klok is ook nodig met poort W5. Onthou ook om hierdie reël by die klokbeperking te voeg:
create_clock -add -name sys_clk_pin -periode 10.00 -golfvorm {0 5} [get_ports {CLK}]
Koppel ook die anodes en segmente aan die bord sodat die stophorlosie op die sewe-segment-skerm vertoon word, soos in die beperkingslêer gesien word.
Stap 9: Toets
Maak seker dat u toestel werk deur met die drie knoppies te speel: om dit in elke moontlike volgorde in te hou om moontlike probleme met u kode op te spoor.
Aanbeveel:
Basiese selfoon met behulp van STM32F407 Discovery Kit en GSM A6 -module: 14 stappe (met foto's)
Basiese selfoon met behulp van STM32F407 Discovery Kit en GSM A6 -module: wou u ooit 'n oulike ingeboude projek skep ?. Indien wel, wat van die bou van een van die gewildste en almal se gunsteling gadgets, naamlik selfoon !!!. In hierdie instruksies sal ek u lei hoe u 'n basiese selfoon kan bou met behulp van die STM
Hoe om 'n stophorlosie te maak met behulp van Arduino: 8 stappe (met foto's)
Hoe om 'n stophorlosie te maak met behulp van Arduino: dit is 'n baie eenvoudige Arduino 16*2 LCD -stophorlosie ……….. As u van hierdie instruksies hou, teken dan in op my kanaal https://www.youtube.com /ZenoModiff
Stophorlosie met behulp van Pic18f4520 in Proteus met 7 segmente: 6 stappe
Stophorlosie Met behulp van Pic18f4520 in Proteus Met 7 segment: Ek het pas met 'n foto -kontroleerder begin werk, een van my vriend het my versoek om 'n stophorlosie daarvan te bou. Ek het dus nie 'n hardeware -beeld om te deel nie, ek het kode geskryf en dit op Proteus -sagteware gesimuleer. Hier het ek die skema vir dieselfde gedeel. T
Hoe om 'n digitale stophorlosie te maak met behulp van 555: 3 stappe
Hoe om 'n digitale stophorlosie te maak met behulp van 555: ek het 'n eenvoudige stophorlosie gemaak met drie sewe segmente LED -skerms, waarvan ek u eerste vir die 10de deel van die sekondes weer 'n ander vir die tweede en die derde vir 'n veelvoud van 10 inn sekondes gemaak het. wat sein per 1 sekonde gee aan
VHDL -stophorlosie: 8 stappe (met foto's)
VHDL-stophorlosie: Dit is 'n handleiding oor hoe om 'n stophorlosie te maak met behulp van VHDL en 'n FPGA-printplaat, soos 'n Basys3 Atrix-7-bord. Die stophorlosie kan van 00,00 sekondes tot 99,99 sekondes tel. Dit gebruik twee knoppies, een vir die begin/stop -knoppie en die ander vir die