Turinys:
- 1 žingsnis: įsigykite aparatinę/programinę įrangą
- 2 žingsnis: blokinė diagrama
- 3 žingsnis: projekto modulis
- 4 žingsnis: Apribojimai
- 5 žingsnis: išbandykite
Video: VHDL vienos minutės chronometras: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
Tai pamoka, kaip sukurti vienos minutės chronometrą naudojant VHDL ir „Basys 3“plokštę. Toks prietaisas idealiai tinka žaidimams, kuriuose kiekvienas žaidėjas turi daugiausiai vienos minutės savo judesiui atlikti. Chronometras tiksliai rodo sekundes ir milisekundes septynių segmentų ekrane, pradedant nuo 0 sekundžių ir 0 milisekundžių, iki 60 sekundžių ir 0 milisekundžių. Taip pat naudojami du mygtukai: centrinis mygtukas, naudojamas įjungti, sustabdyti ir tęsti laikmatį, ir dešinysis mygtukas, naudojamas iš naujo paleisti laikmatį. Kai prietaisas lyginamas greta su integruotu išmaniojo telefono chronometru, pastebimas laikrodžio tikslumas.
1 žingsnis: įsigykite aparatinę/programinę įrangą
1. „Basys 3“„Artix-7“FPGA treniruoklių lenta iš „Digilent“su „Micro-USB to USB“kabeliu
2. „Vivado 2016.2.2 Design Suite“iš „Xilinx“
2 žingsnis: blokinė diagrama
Ši grandinė yra sukonstruota elgsenai ir naudoja įmontuotus „Xilinx“komponentus, tačiau ją taip pat galima apibūdinti struktūriškai, kaip parodyta aukščiau esančioje bendroje struktūrinėje schemoje. Iš diagramos matyti, kad grandinę varo du dažnio dalikliai. Vienas iš dažnio skirstytuvų veikia 1 centisekundę ir valdo katodo skaitiklį, kuris naudojamas kaip septynių segmentų ekrane rodomi skaičiai. Antrasis dažnių skirstytuvas veikia 240 Hz dažniu ir yra naudojamas anodų skaitikliui, kuris sukasi per anodus, valdyti, kad septynių segmentų ekrane visi skaičiai būtų rodomi teisingai. Kodavimo įrenginys paima katodo logiką iš katodo skaitiklio ir anodo logiką iš anodo skaitiklio ir koduoja ją į išvesties katodą ir anodą, rodantį septynių segmentų ekraną. Šio kodavimo funkcija yra ta, kad katodo išvestis keičiasi kiekvieną kartą, kai keičiasi anodo išvestis. Katodo išvesties negalima paleisti nepriklausomai nuo skaitiklio, nes anodai turi suktis per 4 atskirus skaitmenis.
3 žingsnis: projekto modulis
Pirma, CEN procesų blokas sudaromas taip, kad aptikus mygtuko paspaudimą, įjungtų ĮJUNGTI. Tai yra katodo skaitiklio sustabdymas/paleidimas.
Kitame proceso bloke centisekundės ir 240 Hz laikrodžio signalai nustatomi taip, kad jų atitinkami skaitikliai padidėtų 1 kiekvieną kartą, kai vidinis 100 MHz laikrodis pasiekia kylantį kraštą. Kai centisekundės skaitiklis pasiekia 500000, jis atstatomas į 0. Tuo tarpu 240 Hz skaitiklis atsistato, kai skaičius pasiekia 41667.
Jei kodo skyriuje „ĮJUNGTI“yra „0“, katodo skaičiavimas bus pristabdytas. Jei per šį laiką paspaudžiamas atstatymo mygtukas, visi skaičiai atstatomi į „0000“. Tuo tarpu, jei ĮJUNGTI yra „1“, katodų skaičiavimas bus tęsiamas tol, kol katodų skaičius pasieks 60.00, ir tai suaktyvins stabdymo signalą „1“. Sustojimo signalas nukreipiamas atgal į CEN proceso bloką ir įjungia „0“, kol sustabdymo signalas yra „1“ir nepasikeis, kol nebus paspaustas atstatymo mygtukas.
Galiausiai septynių segmentų ekranas nustatomas taip, kad 4 anodai būtų tinkamai prijungti prie kiekvieno iš jų 8 katodų, kad vienu metu būtų rodomi atitinkami skaitmenys 0–9.
4 žingsnis: Apribojimai
Šis apribojimų failas sujungia nurodytas įvestis ir išvestis iš VHDL į būtinas fizines „Basys“plokštės dalis. Šiam projektui komponentai apima keturis anodus ir kiekvieną iš jų aštuonių katodų, skirtų septynių segmentų ekranui, vidinį 100 mHz laikrodį, centrinį mygtuką ir dešinįjį mygtuką.
5 žingsnis: išbandykite
Baigę kodą, dabar galite užprogramuoti FPGA per USB kabelį. Septynių segmentų ekrane turėtų būti rodoma 0,00. Patikrinkite, ar mygtukai veikia, paspausdami centrinį mygtuką, kad paleistumėte laikmatį, kol jis pasieks 60.00 ir sustos; bet kuriuo metu galite dar kartą paspausti centrinį mygtuką, kad jį pristabdytumėte. Kai jis bus pristabdytas, galite paspausti dešinįjį mygtuką, kad laikmatis būtų grąžintas į 0,00. Jei viskas veikia teisingai, sveikiname, kad ką tik sukūrėte vienos minutės laikmatį!
Rekomenduojamas:
3D rekonstrukcija iš vienos nuotraukos: 8 žingsniai
3D rekonstrukcija iš vienos nuotraukos: 3D rekonstrukcijos užduotis paprastai siejama su žiūronu. Arba galite perkelti vieną kamerą aplink objektą. Tuo tarpu, jei žinoma objekto forma, užduotis gali būti išspręsta iš vienos nuotraukos. Tai jūs turite
Paprastas sugadintų „BOSE QC25“ausinių taisymo vadovas - be garso iš vienos ausies: 5 žingsniai (su nuotraukomis)
Paprastas sugedusių „BOSE QC25“ausinių taisymo vadovas - be garso iš vienos ausies: „Bose“yra gerai žinoma dėl savo ausinių, o ypač dėl aktyvios triukšmo slopinimo. Kai pirmą kartą elektronikos parduotuvėje užsidėjau „QuietComfort 35“porą, mane pribloškė tyla, kurią jie gali sukurti. Tačiau aš turėjau labai daug
Vienos LCD eilutės slinkimas: 4 žingsniai (su nuotraukomis)
Slinkti vieną LCD eilutę: Skystųjų kristalų biblioteka turi dvi naudingas funkcijas scrollDisplayLeft () ir scrollDisplayRight (). Šios funkcijos slenka per visą ekraną. Tai reiškia, kad jie slenka abi eilutes 1602 skystųjų kristalų ekrane ir visas keturias eilutes 2004 m. Mums dažnai reikia pagalbos
Pagrindinis chronometras naudojant VHDL ir „Basys3 Board“: 9 žingsniai
Pagrindinis chronometras naudojant VHDL ir „Basys3 Board“: Sveiki atvykę į instrukcijas, kaip sukurti chronometrą naudojant pagrindinę VHDL ir „Basys 3“plokštę. Džiaugiamės galėdami pasidalinti savo projektu su jumis! Tai buvo paskutinis CPE 133 (skaitmeninio dizaino) kurso projektas Cal Poly, SLO 2016 m. Rudenį. Projektas, kurį mes kuriame
VHDL chronometras: 8 žingsniai (su nuotraukomis)
VHDL chronometras: tai pamoka, kaip padaryti chronometrą naudojant VHDL ir FPGA plokštę, pvz., „Basys3 Atrix-7“plokštę. Chronometras gali skaičiuoti nuo 00.00 sekundžių iki 99.99 sekundžių. Jame naudojami du mygtukai, vienas skirtas paleidimo/sustabdymo mygtukui, o kitas