Orodha ya maudhui:

Muda wa saa moja wa VHDL: Hatua 5
Muda wa saa moja wa VHDL: Hatua 5

Video: Muda wa saa moja wa VHDL: Hatua 5

Video: Muda wa saa moja wa VHDL: Hatua 5
Video: «Развлечение с музыкой и программированием», Коннор Харрис и Стивен Крюсон 2024, Novemba
Anonim
Image
Image

Hii ni mafunzo juu ya jinsi ya kujenga saa ya saa moja kwa kutumia VHDL na bodi ya Basys 3. Kifaa kama hicho ni bora kwa michezo ambapo kila mchezaji ana kiwango cha juu cha dakika moja kufanya hoja zao. Saa ya saa inaonyesha kwa usahihi sekunde na millisecond kwenye onyesho la sehemu saba, kuanzia sekunde 0 na 0 millisecond, hadi sekunde 60 na 0 milliseconds. Vifungo viwili pia hutumiwa: kitufe cha kati, kinachotumiwa kuanza, kusimama, na kuendelea na kipima muda, na kitufe cha kulia, kinachotumiwa kuanza kipima muda. Wakati kifaa kinalinganishwa kando na kando na saa ya ndani iliyojengwa ya simu janja, usahihi wa saa unaonekana.

Hatua ya 1: Pata vifaa / Programu

Mchoro wa Kuzuia
Mchoro wa Kuzuia

1. Basys 3 Artix-7 FPGA Bodi ya Mkufunzi kutoka Digilent na Micro-USB hadi USB Cable

2. Vivado 2016.2 Suite Design kutoka Xilinx

Hatua ya 2: Zuia Mchoro

Mzunguko huu umejengwa kwa tabia na hutumia vifaa vya Xilinx vilivyojengwa, lakini pia inaweza kuelezewa kimuundo, kama inavyoonyeshwa na mchoro wa jumla wa muundo hapo juu. Kutoka kwa mchoro, inaweza kuonekana kuwa mzunguko unaendeshwa na wagawanyiko wa masafa mawili. Moja ya mgawanyiko wa masafa huendesha kwa sentimita 1 na huendesha kaunta ya katoni ambayo hutumiwa kama nambari zilizoonyeshwa kwenye onyesho la sehemu saba. Mgawanyiko wa pili wa masafa huendesha saa 240Hz na hutumiwa kuendesha kaunta ya anode ambayo huzunguka kupitia anode ili nambari zote zionyeshe kwa usahihi kwenye onyesho la sehemu saba. Encoder inachukua mantiki ya cathode kutoka kwa kaunta ya cathode na mantiki ya anode kutoka kwa kaunta ya anode, na kuisimamisha kwa cathode ya pato na anode inayoendesha onyesho la sehemu saba. Kazi ya kisimbuzi hiki ni kwa pato la cathode kubadilika kila wakati pato la anode hubadilika. Pato la cathode haliwezi kuendeshwa kwa kujitegemea kutoka kwa kaunta kwa sababu anode lazima zizunguke kupitia nambari 4 tofauti.

Hatua ya 3: Moduli ya Mradi

Kwanza, kizuizi cha mchakato wa CEN kinafanywa ili wakati Kitufe cha Bonyeza kitakapogunduliwa, INAWEZA itageuza. Hii hutumika kama kusimama / kuanza kwa kaunta ya katoni.

Katika kizuizi kinachofuata cha mchakato, sekunde na ishara za saa 240Hz zimewekwa ili kaunta zao ziongezeke kwa 1 kila wakati saa ya ndani ya 100mHz inapofikia ukingoni. Mara tu kaunta ya centisecond itakapofikia 500000, ingeweza kurudi tena kwa 0. Wakati huo huo kaunta ya 240Hz ingeweka upya mara hesabu itakapofika 41667.

Kwa sehemu ya kificho ya nambari, ikiwa INAWEZA kuwa '0' hesabu ya cathode itasimama. Ikiwa kitufe cha kuweka upya kimesisitizwa wakati huu, basi hesabu zote zinawekwa upya kuwa "0000". Wakati huo huo, ikiwa INAWEZESHA ni '1', hesabu ya cathode itaendelea hadi hesabu ya cathode ifike 60.00, ambayo inasababisha ishara ya kusimama kuwa '1'. Njia za ishara za kusimama kurudi kwenye block ya mchakato wa CEN na husababisha INAWEZESHA kuwa '0' wakati ishara ya kusimama ni '1' na haitabadilika hadi kitufe cha kuweka upya kitakapo bonyeza.

Mwishowe, onyesho la sehemu saba limewekwa kwa kuwa na anode 4 zilizounganishwa kwa usahihi na kila moja ya cathode zao 8 kuonyesha nambari zao 0-9 wakati huo huo.

Hatua ya 4: Vikwazo

Vikwazo
Vikwazo

Faili hii ya vizuizi inaunganisha pembejeo na matokeo maalum kutoka kwa VHDL kwenda sehemu muhimu, za mwili za bodi ya Basys. Kwa mradi huu, vifaa vinajumuisha anode nne na kila moja ya cathode zao nane kwa onyesho la sehemu saba, saa ya ndani ya 100 mHz, kitufe cha katikati, na kitufe cha kulia.

Hatua ya 5: Jaribu

Mara tu ukimaliza nambari, sasa unaweza kupanga FPGA kupitia kebo ya USB. Onyesho la sehemu saba linapaswa kuonyesha 0.00. Jaribu kuona ikiwa vifungo vinafanya kazi kwa kubonyeza kitufe cha kati ili kuanza kipima muda hadi kufikia 60.00 na kusimama; wakati wowote katikati, unaweza kubonyeza kitufe cha kati tena ili kuisimamisha. Mara tu ikiwa imesitishwa, unaweza kubonyeza kitufe cha kulia ili kuweka tena kipima muda hadi 0.00. Ikiwa kila kitu kinafanya kazi kwa usahihi, hongera umeunda tu kipima muda cha dakika moja!

Ilipendekeza: