Sisällysluettelo:
- Vaihe 1: Hanki laitteisto/ohjelmisto
- Vaihe 2: Lohkokaavio
- Vaihe 3: Projektimoduuli
- Vaihe 4: Rajoitukset
- Vaihe 5: Testaa
Video: VHDL yhden minuutin sekuntikello: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Tämä on opetusohjelma yhden minuutin sekuntikellon rakentamisesta VHDL: n ja Basys 3 -levyn avulla. Tällainen laite on ihanteellinen peleihin, joissa jokaisella pelaajalla on enintään minuutti aikaa liikkua. Sekuntikello näyttää tarkasti sekunteja ja millisekunteja seitsemän segmentin näytöllä, alkaen 0 sekunnista ja 0 millisekunnista aina 60 sekuntiin ja 0 millisekuntiin. Käytetään myös kahta painiketta: keskipainiketta, jota käytetään ajastimen käynnistämiseen, pysäyttämiseen ja jatkamiseen, ja oikeaa painiketta, jolla ajastin käynnistetään uudelleen. Kun laitetta verrataan rinnakkain älypuhelimen sisäänrakennetun sekuntikellon kanssa, kellon tarkkuus on havaittavissa.
Vaihe 1: Hanki laitteisto/ohjelmisto
1. Basys 3 Artix-7 FPGA -koulutuskortti Digilentiltä Micro-USB-USB-kaapelilla
2. Vivado 2016.2 Design Suite Xilinxiltä
Vaihe 2: Lohkokaavio
Tämä piiri on rakennettu käyttäytymiseen ja käyttää sisäänrakennettuja Xilinx-komponentteja, mutta sitä voidaan myös kuvata rakenteellisesti, kuten yllä oleva yleinen rakennekaavio osoittaa. Kaaviosta voidaan nähdä, että piiriä käyttävät kaksi taajuusjakajaa. Yksi taajuudenjakajista toimii 1 sentisekunnin nopeudella ja käyttää katodilaskuria, jota käytetään seitsemän segmentin näytössä näkyvinä numeroina. Toinen taajuusjakaja toimii taajuudella 240 Hz, ja sitä käytetään anodien laskurin käyttämiseen, joka pyörii anodien läpi niin, että kaikki numerot näkyvät oikein seitsemän segmentin näytössä. Kooderi ottaa katodilogiikan katodilaskurista ja anodilogiikan anodilukijasta ja koodaa sen lähdön katodiin ja anodiin, jotka käyttävät seitsemän segmentin näyttöä. Tämän anturin tehtävä on, että katodilähtö muuttuu joka kerta, kun anodilähtö muuttuu. Katodilähtöä ei voida käyttää laskurista riippumatta, koska anodien on pyöritettävä neljän erillisen numeron läpi.
Vaihe 3: Projektimoduuli
Ensinnäkin CEN -prosessilohko tehdään niin, että kun painikkeen painallus havaitaan, KÄYTÖSSÄ vaihtaa. Tämä toimii katodilaskurin pysäytyksenä/käynnistyksenä.
Seuraavassa prosessilohkossa sentisekunnin ja 240 Hz: n kellosignaalit asetetaan siten, että niiden vastaavat laskimet kasvavat 1: llä aina, kun sisäinen 100 MHz: n kello saavuttaa nousevan reunan. Kun sentisekunnin laskuri saavuttaa 500000, se nollautuu takaisin arvoon 0. Samaan aikaan 240 Hz: n laskuri nollautuu, kun luku saavuttaa 41667.
Jos KÄYTÖSSÄ on '0', katodin laskenta keskeytyy koodin katodiosassa. Jos nollauspainiketta painetaan tänä aikana, kaikki lukemat nollataan "0000". Samaan aikaan, jos KÄYTÖSSÄ on '1', katodin laskenta jatkuu, kunnes katodiluku saavuttaa 60,00, jolloin se laukaisee pysäytyssignaalin '1'. Pysäytyssignaali reitittää takaisin CEN -prosessilohkoon ja saa ENABLE -arvon olemaan 0, kun pysäytyssignaali on 1 eikä muutu, ennen kuin nollauspainiketta painetaan.
Lopuksi seitsemän segmentin näyttö asetetaan siten, että 4 anodia on liitetty oikein jokaiseen 8 katodiinsa näyttääkseen vastaavat numeronsa 0-9 samanaikaisesti.
Vaihe 4: Rajoitukset
Tämä rajoitustiedosto yhdistää määritetyt tulot ja lähdöt VHDL: stä Basys -kortin tarvittaviin fyysisiin osiin. Tässä projektissa komponentit sisältävät neljä anodia ja kukin niiden kahdeksasta katodista seitsemän segmentin näyttöä varten, sisäisen 100 MHz: n kellon, keskipainikkeen ja oikean painikkeen.
Vaihe 5: Testaa
Kun olet suorittanut koodin, voit nyt ohjelmoida FPGA: n USB -kaapelin kautta. Seitsemän segmentin näytön pitäisi näyttää 0,00. Testaa, toimivatko painikkeet painamalla keskinäppäintä käynnistääksesi ajastimen, kunnes se saavuttaa 60.00 ja pysähtyy; Voit aina keskeyttää sen painamalla keskipainiketta milloin tahansa siltä väliltä. Kun se on keskeytetty, voit palauttaa ajastimen takaisin arvoon 0,00 painamalla oikeaa painiketta. Jos kaikki toimii oikein, onnittelut, että olet juuri rakentanut minuutin ajastimen!
Suositeltava:
Arduino Leonardo sekuntikello: 3 vaihetta
Arduino Leonardo Sekuntikello: Luotto: https://www.instructables.com/id/Arduino-Stopwatch..Tämä sekuntikuvio on peräisin yllä olevasta linkistä, joka on sekuntikello, joka laskee yhdestä, kun taas tämä laskee 60 sekunnista . Suurin osa käyttämästäni koodista seuraa alkuperäistä
Yksinkertainen CloudX M633 digitaalinen sekuntikello: 4 vaihetta
Yksinkertainen CloudX M633 Digitaalinen sekuntikello: Tässä projektissa aiomme tehdä version digitaalisesta kellosta, joka voi tallentaa tuntien, minuuttien ja sekuntien tiedot aivan kuten sekuntikello matkapuhelimessasi! Käytämme LCD -näyttöä ajan näyttämiseen
Arduino -projekti - sekuntikello: 3 vaihetta
Arduino -projekti - Sekuntikello: Tätä sekuntikelloa voidaan käyttää ajastamaan mitä tahansa, esimerkiksi aikaa, joka kuluu tehtävän suorittamiseen, tai painostamaan itseäsi työn loppuunsaattamiseen. LEDit auttavat käyttäjää tietämään selvästi käynnistyksen ja pysäytyksen ajoituksen
Perus sekuntikello VHDL: n ja Basys3 Boardin avulla: 9 vaihetta
Perus sekuntikello VHDL- ja Basys3 -korttien avulla: Tervetuloa opastamaan sekuntikellon rakentaminen perus VHDL- ja Basys 3 -levyjä käyttäen. Olemme innoissamme voidessamme jakaa projektimme kanssasi! Tämä oli viimeinen projekti CPE 133 (Digital Design) -kurssille Cal Poly, SLO: ssa syksyllä 2016. Hanke, jonka rakennamme
VHDL -sekuntikello: 8 vaihetta (kuvilla)
VHDL-sekuntikello: Tämä on opetusohjelma sekuntikellon tekemisestä käyttämällä VHDL- ja FPGA-piirilevyjä, kuten Basys3 Atrix-7 -korttia. Sekuntikello voi laskea 00,00 sekunnista 99,99 sekuntiin. Se käyttää kahta painiketta, toinen käynnistys-/pysäytyspainikkeelle ja toinen