Orodha ya maudhui:

Stopwatch ya Msingi Kutumia VHDL na Bodi ya Basys3: Hatua 9
Stopwatch ya Msingi Kutumia VHDL na Bodi ya Basys3: Hatua 9

Video: Stopwatch ya Msingi Kutumia VHDL na Bodi ya Basys3: Hatua 9

Video: Stopwatch ya Msingi Kutumia VHDL na Bodi ya Basys3: Hatua 9
Video: Как использовать светодиодный семисегментный дисплей и рассчитать значение его резисторов 2024, Julai
Anonim
Image
Image

Karibu kwa anayefundishwa juu ya jinsi ya kujenga saa ya saa ukitumia bodi ya msingi ya VHDL na Basys 3. Tunafurahi kushiriki mradi wetu na wewe! Huu ulikuwa mradi wa mwisho kwa kozi ya CPE 133 (Ubunifu wa Dijiti) huko Cal Poly, SLO mnamo Fall 2016. Mradi tulioujenga ni saa rahisi ya kusimama ambayo huanza, kuweka upya, na kusitisha wakati. Inachukua vifungo vitatu vya kushinikiza kwenye bodi ya Basys3 kama pembejeo, na wakati unaonyeshwa kwenye onyesho la bodi ya nambari nne za bodi hiyo. Wakati uliopita umeonyeshwa kwa sekunde: fomati ya sekunde. Inatumia saa ya mfumo wa bodi kama pembejeo ili kufuatilia wakati uliopita na hutoa wakati kwa nambari nne za onyesho la sehemu saba.

Hatua ya 1: Vifaa

Kuweka Pembejeo na Matokeo
Kuweka Pembejeo na Matokeo

Vifaa utakavyohitaji kwa mradi huu:

  • Kompyuta 1 na WebPack ya Vivado Design Suite imewekwa kutoka Xilinx (pendelea toleo la 2016.2)
  • 1 Digilent Basys3 Xilinx Artix-7 bodi ya FPGA
  • Cable 1 ya bandari ya USB

Hatua ya 2: Kuweka Pembejeo na Matokeo

Takwimu hapo juu inaonyesha mchoro wa kiwango cha juu wa moduli kuu ya saa. Saa ya saa inachukua pembejeo "CLK" (saa), "S1" (kitufe cha kuanza), "S2" (kitufe cha kusitisha), na "RST" (weka upya) na ina pato la 4-bit "Anode", 7-bit pato "sehemu," na pato moja-kidogo "DP" (hatua ya desimali). Wakati pembejeo "S1" iko juu, saa ya saa inaanza kuhesabu muda. Wakati "S2" iko chini, saa ya saa inasimamisha wakati. Wakati "RST" iko juu, saa ya saa inasimama na kuweka wakati tena. Kuna viboreshaji vinne ndani ya mzunguko: mgawanyaji wa saa, kaunta ya dijiti, dereva wa sehemu saba, na kisimbuaji cha sehemu saba. Moduli kuu ya saa ya saa inaunganisha vijidudu vyote pamoja na pembejeo na matokeo.

Hatua ya 3: Kutengeneza Saa

Kutengeneza Saa
Kutengeneza Saa

Moduli ya kugawanya saa inachukua saa ya mfumo na hutumia pembejeo ya msuluhishi kuunda saa ya kasi yoyote isiyo kubwa kuliko ile ya saa ya mfumo. Stopwatch hutumia moduli mbili tofauti za saa, moja ambayo inaunda saa 500 Hz na nyingine ambayo inaunda saa 100 Hz. Mpangilio wa msuluhishi wa saa umeonyeshwa kwenye takwimu hapo juu. Mgawanyiko wa saa huingiza pembejeo moja-kidogo "CLK", na pembejeo 32-bit "Divisor" na pato moja "CLKOUT". "CLK" ni saa ya mfumo na "CLKOUT" ni saa inayosababisha. Moduli hiyo pia inajumuisha SIYO lango, ambalo hubadilisha ishara "CLKTOG" wakati hesabu inafikia thamani ya msuluhishi.

Hatua ya 4: Kuhesabu hadi Kumi

Kuhesabu hadi Kumi
Kuhesabu hadi Kumi

Kaunta ya hesabu inahesabu kila tarakimu kutoka 0 hadi 10 na inaunda saa nyingine kwa nambari inayofuata kufanya kazi kutoka kwa oscillates hiyo wakati hesabu inafikia 10. Moduli inachukua pembejeo 3-bit "S", "RST", na "CLK "na husababisha pato moja-kidogo" N "na pato la 4-bit" D ". Ingizo "S" ni kuwezesha kuingiza. Saa inawasha wakati "S" iko juu na imezimwa wakati "S" iko chini. "RST" ni pembejeo ya kuweka upya ili saa ibadilike wakati "RST" iko juu. "CLK" ni pembejeo ya saa kwa kaunta ya tarakimu. "N" ni pato la saa ambalo linakuwa saa ya kuingiza kwa nambari inayofuata. Pato "D" linaonyesha dhamana ya nambari ya kaunta ambayo iko.

Hatua ya 5: Kuonyesha Nambari

Kuonyesha Nambari
Kuonyesha Nambari

Sehemu ya maonyesho ya sehemu saba itaweka nambari ya binary iliyopokea kutoka kwa moduli ya dereva ya sehemu saba na kuibadilisha kuwa mkondo wa bits ambao utafasiriwa kama '1' au '0' maadili kwa kila sehemu ya onyesho. Nambari ya kibinadamu inapokelewa na moduli kama "nambari" ya kuingiza 4-bit na husababisha "sehemu" za pato-7. Moduli hiyo ina kizuizi cha mchakato mmoja wa kesi ambayo inapeana mkondo maalum wa 7-bit kwa kila thamani ya pembejeo inayowezekana kutoka 0 hadi 9. Kila kidogo katika mito saba-bit inawakilisha sehemu moja ya saba za nambari zilizo kwenye onyesho. Mpangilio wa sehemu kwenye mkondo ni "abcdefg" na '0 zinawakilisha sehemu ambazo zinaangazia nambari iliyopewa.

Hatua ya 6: Jinsi ya Kuonyesha Saa ya saa

Jinsi ya Kuonyesha Saa ya saa
Jinsi ya Kuonyesha Saa ya saa

Katika moduli ya dereva wa sehemu saba, kuna pembejeo nne za 4-bit "D0", "D1", "D2", na "D3", kila moja ikiwakilisha nambari nne zinazoonyeshwa. Ingizo "CLK" ni pembejeo ya saa ya mfumo. Pato moja-kidogo "DP" inawakilisha hatua ya desimali kwenye onyesho la sehemu saba. Pato la 4-bit "Anode" huamua ni nambari gani kwenye onyesho la sehemu saba imeonyeshwa na pato la 4-bit "temp" inategemea hali ya pembejeo ya kudhibiti 2-bit "SEL". Moduli hutumia multiplexers 4 kwa pembejeo ya kudhibiti "SEL" na matokeo matatu; "Anode", "temp", na "DP".

Hatua ya 7: Kuleta Yote Pamoja

Mchakato wa 'ikiwa' unazuia saa 500Hz hutumiwa kuunda vitufe vya kuanza na kusitisha. Kisha unganisha viboreshaji vyote pamoja kwenye moduli kuu ya saa ya kutangaza kwa kutangaza vijenzi vya kila submodule ya mtu binafsi na kutumia ishara anuwai. Tanzu ndogo za tarakimu huchukua pato la saa ya manukuu ndogo ya nambari iliyotangulia na ya kwanza kuchukua saa ya 100Hz. Matokeo ya "D" ya vijidudu vya tarakimu kisha kuwa pembejeo za "D" za moduli ya dereva wa sehemu saba. Na mwishowe pato la "temp" la moduli ya dereva wa sehemu saba inakuwa pembejeo ya "temp" ya moduli ya sehemu ya encoder saba.

Hatua ya 8: Vikwazo

Vikwazo
Vikwazo

Tumia vifungo 3 vya kushinikiza (W19, T17, na U18) kwa pembejeo "RST", "S1", na "S2". W19 ni kitufe cha kuweka upya, T17 ni kitufe cha kuanza (S1), na U18 ni kitufe cha kusitisha (S2). Kizuizi cha kuingiza pembejeo cha saa pia inahitajika kutumia bandari W5. Pia, kumbuka kuongeza laini hii kwa kizuizi cha saa:

unda-saa -ongeza-jina sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {CLK}]

Unganisha pia Anode na sehemu kwenye ubao ili saa ya saa ionyeshwa kwenye onyesho la sehemu saba kama inavyoonekana kwenye faili ya vizuizi.

Hatua ya 9: Upimaji

Upimaji
Upimaji

Hakikisha kifaa chako kinafanya kazi kwa kucheza na vitufe vitatu: kusukuma na kushikilia kila mpangilio unaowezekana ili kupata shida yoyote inayowezekana na nambari yako.

Ilipendekeza: