Përmbajtje:

Kronometri bazë duke përdorur VHDL dhe Basys3 Board: 9 hapa
Kronometri bazë duke përdorur VHDL dhe Basys3 Board: 9 hapa

Video: Kronometri bazë duke përdorur VHDL dhe Basys3 Board: 9 hapa

Video: Kronometri bazë duke përdorur VHDL dhe Basys3 Board: 9 hapa
Video: «Развлечение с музыкой и программированием», Коннор Харрис и Стивен Крюсон 2024, Korrik
Anonim
Image
Image

Mirësevini në udhëzuesin se si të ndërtoni një kronometër duke përdorur bordin bazë VHDL dhe Basys 3. Ne jemi të ngazëllyer për të ndarë projektin tonë me ju! Ky ishte një projekt përfundimtar për kursin CPE 133 (Dizajni Dixhital) në Cal Poly, SLO në Vjeshtë 2016. Projekti që ndërtuam është një kronometër i thjeshtë që fillon, rivendos dhe ndalon kohën. Ai merr tre butona shtypi në tabelën Basys3 si hyrje, dhe koha shfaqet në ekranin katër-shifror me shtatë segmente të tabelës. Koha e kaluar shfaqet në një sekondë: format e sekonda. Ai përdor orën e sistemit të bordit si një hyrje për të mbajtur nën kontroll kohën e kaluar dhe e nxjerr kohën në katër shifrat e ekranit me shtatë segmente.

Hapi 1: Materialet

Vendosja e hyrjeve dhe daljeve
Vendosja e hyrjeve dhe daljeve

Materialet që do t'ju nevojiten për këtë projekt:

  • 1 kompjuter me Vivado Design Suite WebPack i instaluar nga Xilinx (preferoni versionin 2016.2)
  • 1 bord Digilent3 Bordi Xilinx Artix-7 FPGA
  • 1 kabllo porte USB

Hapi 2: Vendosja e hyrjeve dhe daljeve

Figura e mësipërme tregon një diagram bllok të nivelit të lartë të modulit kryesor të kronometrit. Kronometri merr hyrje "CLK" (orë), "S1" (butoni i fillimit), "S2" (butoni i pauzës) dhe "RST" (rivendosje) dhe ka një dalje 4-bit "Anodat", një 7-bit dalja "segment", dhe një dalje me një bit "DP" (pikë dhjetore). Kur hyrja "S1" është e lartë, kronometri fillon të numërojë kohën. Kur "S2" është i ulët, kronometri ndalon kohën. Kur "RST" është e lartë, kronometri ndalet dhe rivendos kohën. Ekzistojnë katër nënmodule brenda qarkut: ndarësi i orës, numëruesi i shifrave, drejtuesi i ekranit me shtatë segmente dhe koduesi i ekranit me shtatë segmente. Moduli kryesor i kronometrit lidh të gjitha nënmodulet së bashku dhe me hyrjet dhe daljet.

Hapi 3: Bërja e orëve

Bërja e Orëve
Bërja e Orëve

Moduli i ndarjes së orës merr një orë të sistemit dhe përdor një hyrje të pjesëtuesit për të krijuar një orë me çdo shpejtësi jo më të madhe se ajo e orës së sistemit. Kronometri përdor dy module të ndryshme të orës, një që krijon një orë 500 Hz dhe një tjetër që krijon një orë 100 Hz. Skema për ndarësin e orës është treguar në figurën e mësipërme. Ndarësi i orës merr një hyrje me një bit "CLK", dhe një hyrje 32-bit "Divisor" dhe daljen me një bit "CLKOUT". "CLK" është ora e sistemit dhe "CLKOUT" është ora që rezulton. Moduli gjithashtu përfshin një portë NOT, e cila ndryshon sinjalin "CLKTOG" kur numërimi arrin vlerën e pjesëtuesit.

Hapi 4: Numërimi deri në dhjetë

Duke numëruar deri në dhjetë
Duke numëruar deri në dhjetë

Numëruesi i shifrave numëron çdo shifër nga 0 në 10 dhe krijon një orë tjetër që shifra tjetër të funksionojë jashtë e cila lëkundet kur numërimi arrin 10. Moduli merr 3 hyrje me një bit "S", "RST" dhe "CLK "dhe rezulton në një dalje një-bit" N "dhe një dalje 4-bit" D ". Hyrja "S" është aktivizimi në hyrje. Ora ndizet kur "S" është e lartë dhe fiket kur "S" është e ulët. "RST" është hyrja e rivendosur kështu që ora të rivendoset kur "RST" është e lartë. "CLK" është hyrja e orës për numëruesin e shifrave. "N" është dalja e orës që bëhet ora hyrëse për shifrën tjetër. Dalja "D" paraqet vlerën binare të shifrës në të cilën numëruesi është.

Hapi 5: Shfaqja e numrave

Shfaqja e numrave
Shfaqja e numrave

Koduesi i ekranit me shtatë segmente do të kodojë numrin binar të marrë nga moduli i drejtuesit të ekranit me shtatë segmente dhe do ta kthejë atë në një rrjedhë të bitëve që do të interpretohen si vlera '1' ose '0' për secilin segment të ekranit. Numri binar merret nga moduli si "shifër" hyrëse 4-bit dhe rezulton në "segmente" dalës 7-bit. Moduli përbëhet nga një bllok procesi i vetëm rasti që cakton një rrjedhë specifike 7-bit për secilën vlerë të mundshme hyrëse nga 0 në 9. Çdo bit në rrymat shtatë-bit përfaqëson një nga shtatë segmentet e shifrave në ekran. Rendi i segmenteve në rrjedhë është "abcdefg" me '0' që përfaqësojnë segmentet që ndriçojnë për numrin e dhënë.

Hapi 6: Si të shfaqni kronometrin

Si të shfaqni kronometrin
Si të shfaqni kronometrin

Në modulin e drejtuesit të ekranit me shtatë segmente, ka katër hyrje 4-bit "D0", "D1", "D2" dhe "D3", secila përfaqëson katër shifrat që do të shfaqen. Hyrja "CLK" është hyrja e orës e sistemit. Dalja me një bit "DP" përfaqëson pikën dhjetore në ekranin me shtatë segmente. Dalja 4-bit "Anodat" përcakton se cila shifër në ekranin me shtatë segmente shfaqet dhe dalja 4-bit "temp" varet nga gjendja e hyrjes së kontrollit 2-bit "SEL". Moduli përdor 4 multiplexerë për hyrjen e kontrollit "SEL" dhe tre daljet; "Anodat", "temp" dhe "DP".

Hapi 7: Sillni të gjitha së bashku

Një bllok procesi 'nëse' që mbaron me orën 500Hz përdoret për të krijuar butonat e fillimit dhe ndalimit. Pastaj lidhni të gjitha nënmodulet së bashku në modulin kryesor të kronometrit duke deklaruar përbërësit e secilit nënmodul individual dhe duke përdorur sinjale të ndryshme. Nënmodulat shifrore marrin daljen e orës së nënmodulit të mëparshëm shifror me të parën që merr orën 100Hz. Daljet "D" të nënmoduleve shifrore bëhen më pas hyrjet "D" të modulit të drejtuesit të ekranit me shtatë segmente. Dhe së fundi, dalja "temp" e modulit të drejtuesit të ekranit me shtatë segmente bëhet hyrja "temp" e modulit të koduesit të shtatë segmenteve.

Hapi 8: Kufizimet

Kufizimet
Kufizimet

Përdorni 3 butona shtypi (W19, T17 dhe U18) për hyrjet "RST", "S1" dhe "S2". W19 është butoni i rivendosjes, T17 është butoni i fillimit (S1), dhe U18 është butoni i pauzës (S2). Një kufizim për hyrjen e orës kërkohet gjithashtu duke përdorur portën W5. Gjithashtu, mos harroni të shtoni këtë linjë në kufizimin e orës:

krijo -orë -shto -emri sys_clk_pin -periudha 10.00 -forma e valës {0 5} [merrni_portet {CLK}]

Gjithashtu lidhni Anodat dhe segmentet me tabelën në mënyrë që kronometri të shfaqet në ekranin me shtatë segmente siç shihet në skedarin e kufizimeve.

Hapi 9: Testimi

Duke testuar
Duke testuar

Sigurohuni që pajisja juaj të funksionojë duke luajtur me tre butona: duke i shtyrë dhe mbajtur ato në çdo mënyrë të mundshme në mënyrë që të gjeni ndonjë problem të mundshëm me kodin tuaj.

Recommended: