Përmbajtje:

VHDL Kronometër Një Minutësh: 5 Hapa
VHDL Kronometër Një Minutësh: 5 Hapa

Video: VHDL Kronometër Një Minutësh: 5 Hapa

Video: VHDL Kronometër Një Minutësh: 5 Hapa
Video: Как использовать светодиодный семисегментный дисплей и рассчитать значение его резисторов 2024, Nëntor
Anonim
Image
Image

Ky është një mësim se si të ndërtoni një kronometër një minutësh duke përdorur VHDL dhe një tabelë Basys 3. Një pajisje e tillë është ideale për lojëra ku secili lojtar ka një maksimum prej një minutë për të bërë lëvizjen e tij. Kronometri shfaq me saktësi sekonda dhe milisekonda në ekranin me shtatë segmente, duke filluar nga 0 sekonda dhe 0 milisekonda, deri në 60 sekonda dhe 0 milisekonda. Gjithashtu përdoren dy butona: butoni qendror, i përdorur për të filluar, ndaluar dhe vazhduar kohëmatësin, dhe butoni i djathtë, i përdorur për të rifilluar kohëmatësin. Kur pajisja krahasohet krah për krah me kronometrin e integruar të një telefoni të mençur, saktësia e orës është e dukshme.

Hapi 1: Merrni Hardware/Softuer

Bllokimi i Diagramit
Bllokimi i Diagramit

1. Basys 3 Artix-7 FPGA Trainer Board nga Digilent me Mikro-USB në kabllo USB

2. Vivado 2016.2 Suite Design nga Xilinx

Hapi 2: Blloko Diagramin

Ky qark është ndërtuar në sjellje dhe përdor përbërës të integruar të Xilinx, por gjithashtu mund të përshkruhet në mënyrë strukturore, siç tregohet nga diagrami i përgjithshëm strukturor më sipër. Nga diagrami, mund të shihet se qarku drejtohet nga dy ndarës të frekuencave. Një nga ndarësit e frekuencave shkon në 1 centisekonda dhe drejton numëruesin katodë që përdoren si numrat e shfaqur në ekranin me shtatë segmente. Ndarësi i dytë i frekuencës funksionon në 240Hz dhe përdoret për të drejtuar numëruesin e anodës që rrotullohet nëpër anodat në mënyrë që të gjithë numrat të shfaqen saktë në ekranin me shtatë segmente. Koduesi merr logjikën e katodës nga numëruesi i katodës dhe logjikën e anodës nga numëruesi i anodës, dhe e kodon atë në katodën dhe anodën e daljes që drejton ekranin me shtatë segmente. Funksioni i këtij kodifikuesi është që dalja e katodës të ndryshojë sa herë që dalja e anodës ndryshon. Dalja e katodës nuk mund të drejtohet në mënyrë të pavarur nga numëruesi, sepse anodat duhet të rrotullohen përmes 4 shifrave të veçanta.

Hapi 3: Moduli i projektit

Së pari, një bllok procesi për CEN është bërë në mënyrë që kur të zbulohet një Button Press, ENABLE do të kalojë. Kjo shërben si ndalesa/fillimi i numëruesit të katodës.

Në bllokun tjetër të procesit, sinjalet e orës centisekonda dhe 240Hz vendosen në mënyrë që numëruesit e tyre përkatës të rriten me 1 sa herë që ora e brendshme 100mHz arrin një avantazh në rritje. Sapo numëruesi i centisekondës arrin 500000, ai do të rivendoset përsëri në 0. Ndërkohë numëruesi 240Hz do të rivendoset sapo numërimi të arrijë në 41667.

Për pjesën katodike të kodit, nëse ENABLE është '0', numërimi i katodës do të ndalet. Nëse butoni i rivendosjes shtypet gjatë kësaj kohe, atëherë të gjitha numërimet rivendosen në "0000". Ndërkohë, nëse ÇAJTOHET është '1', numërimi i katodës do të vazhdojë derisa numërimi i katodës të arrijë në 60.00, në të cilin shkakton që sinjali i ndalimit të jetë '1'. Sinjali i ndalimit kthehet në bllokun e procesit CEN dhe bën që ENABLE të jetë '0' ndërsa sinjali i ndalimit është '1' dhe nuk do të ndryshojë derisa të shtypet butoni i rivendosjes.

Së fundi, ekrani me shtatë segmente është vendosur duke pasur 4 anodat e lidhura saktë me secilën prej 8 katodave të tyre për të shfaqur shifrat e tyre përkatëse 0-9 në të njëjtën kohë.

Hapi 4: Kufizimet

Kufizimet
Kufizimet

Ky skedar kufizimesh lidh hyrjet dhe daljet e specifikuara nga VHDL në pjesët e nevojshme fizike të tabelës Basys. Për këtë projekt, përbërësit përfshijnë katër anodat dhe secilën prej tetë katodave të tyre për ekranin me shtatë segmente, orën e brendshme 100 mHz, butonin qendror dhe butonin e djathtë.

Hapi 5: Testoni

Pasi të keni përfunduar kodin, tani mund të programoni FPGA përmes kabllit USB. Ekrani me shtatë segmente duhet të tregojë 0.00. Testoni për të parë nëse butonat funksionojnë duke shtypur butonin qendror për të filluar kohëmatësin derisa të arrijë 60.00 dhe të ndalet; në çdo kohë në mes, mund të shtypni përsëri butonin qendror për ta ndaluar. Pasi të jetë ndalur, mund të shtypni butonin e djathtë për të rivendosur kohëmatësin në 0.00. Nëse gjithçka po funksionon si duhet, urime ju sapo keni ndërtuar një kohëmatës një minutësh!

Recommended: