Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Ky është një mësim se si të bëni një kronometër duke përdorur VHDL dhe një tabelë qarkore FPGA, si një bord Basys3 Atrix-7. Kronometri është në gjendje të numërojë nga 00.00 sekonda në 99.99 sekonda. Ai përdor dy butona, një për butonin start/stop dhe një tjetër për butonin e rivendosjes. Numrat shfaqen në ekranin me shtatë segmente të tabelës duke përdorur anodat dhe katodat e tij. Janë të nevojshme tre skedarë të ndryshëm në mënyrë që kjo kronometër të funksionojë.
Hapi 1: Hardware/Softuer
- Bordi Basys3 Atrix-7 FPGA
- Suite Vivado Design nga Xilinx
- Mashkull USB 2.0 A Mashkull në Mikro-B
Hapi 2: Blloko Diagramin
Kronometri i përgjithshëm ka tre hyrje dhe dy dalje. Tre hyrjet janë fillimi/ndalimi, rivendosja dhe ora. Fillimi/ndalimi dhe rivendosja janë butona dhe ora është ora 100MHz e tabelës. Dy daljet janë anodat dhe katodat për ekranin me shtatë segmente.
Moduli i parë (ndarësi i orës) ka një hyrje dhe dy dalje. Hyrja është ora 100MHz e tabelës dhe daljet janë dy orë të veçanta, një që funksionon në 480Hz dhe një tjetër funksionon 0.5MHz.
Moduli i dytë (ekrani) ka pesë hyrje dhe dy dalje. Hyrjet janë ora 100MHz e tabelës, dy orët nga moduli i ndarjes së orës dhe butonat e fillimit/ndalimit dhe rivendosjes. Daljet janë anodat dhe katodat.
Moduli i fundit (i modeluar nga i gjithë bllok -diagrami) ka tre hyrje dhe dy dalje. Ky është skedari që bashkon gjithçka. Hyrjet janë 100MHz të bordit dhe butonat e fillimit/ndalimit dhe rivendosjes. Daljet janë anodat dhe katodat që kontrollojnë ekranin me shtatë segmente. Të gjitha hyrjet dhe daljet janë fizikisht në tabelë për modulin përfundimtar.
Hapi 3: Diagrami i gjendjes
Imazhi i mësipërm tregon diagramin e gjendjes se si funksionon kronometri. Shtypja e butonit të rivendosjes nuk ndikon në gjendjen e kronometrit. Gjendja tjetër përcaktohet nga butoni start/stop. Nisja/ndalesa është "LART" kur shtypet poshtë, por jo kur mbahet e shtypur, dhe "ULET" kur butoni është kthyer mbrapsht ose mbahet mbrapa pasi është "LART" për një çast.
Nëse kronometri po numëron dhe butoni i fillimit/ndalimit shkon "LART HIGH", atëherë ai ndalon numërimin. Nëse kronometri ndalet dhe butoni i fillimit/ndalimit shkon "LART HIGH" atëherë fillon të numërojë përsëri. Për të dy shtetet, nëse butoni start/stop është "LOW", atëherë ai do të qëndrojë në gjendjen ku është aktualisht.
Hapi 4: Moduli i ndarësit të orës
Moduli i ndarjes së orës ka një hyrje, ora 100MHz e tabelës dhe dy dalje, orët 480Hz dhe 0.5MHz. Ora 480Hz përdoret për të mbajtur të gjithë LED-të në ekranin me shtatë segmente "të ndezur" në të njëjtën kohë duke kaluar nëpër katër me shpejtësi. Ora 0.5MHz përdoret që kronometri të llogaritet në të vërtetë me centi-sekonda.
Hapi 5: Moduli i shfaqjes
Ky modul i ekranit ka pesë hyrje, ora 100MHz e tabelës, dy orë nga moduli i orës, dhe butonat start/stop dhe reset, dhe dy dalje, anodat dhe katodat. Ky modul gjithashtu ka "logjikën" se si kronometri numëron dhe inkorporon makinën e gjendjes së fundme.
Hapi 6: Moduli i lidhjes
Ky modul përfundimtar është ai që bashkon dy modulet e tjerë së bashku. Ai ka tre hyrje, orën 100MHz të tabelës dhe butonat start/stop dhe reset, dhe dy dalje, anodat dhe katodat. Ora 100MHz shkon në modulin ndarës të orës dhe modulin e ekranit, dhe butonat e fillimit/ndalimit dhe rivendosjes shkojnë në modulin e ekranit. Daljet e modulit ndarës të orës (480Hz dhe 0.5MHz) shkojnë në dy hyrjet e orës të modulit të ekranit. Daljet e modulit të ekranit (anodat dhe katodat) shkojnë në daljet e modulit përfundimtar.
Hapi 7: Kufizimet
Të dy hyrjet mund të jenë çdo buton në Tabelën Basys3 Atrix-7 FPGA dhe daljet do të jenë katër anodat dhe tetë katodat (sepse ju gjithashtu dëshironi një pikë dhjetore midis sekondave dhe milisekondave) për ekranin me shtatë segmente.
Hapi 8: U krye
Ngarko programin në Bordin tuaj Basys3 Atrix-7 FPGA dhe shtypni butonin tuaj start/stop për të filluar kronometrin!