Përmbajtje:

Sistemi konkurues i zhurmës: 5 hapa
Sistemi konkurues i zhurmës: 5 hapa

Video: Sistemi konkurues i zhurmës: 5 hapa

Video: Sistemi konkurues i zhurmës: 5 hapa
Video: Вентиляция в хрущевке. Как сделать? Переделка хрущевки от А до Я. #31 2024, Nëntor
Anonim
Image
Image
Materiale
Materiale

Sistemi konkurues i zhurmës i projektuar në këtë projekt funksionon në mënyrë të ngjashme me sistemet e zhurmës të përdorura në Konkurset Rajonale dhe Kombëtare të Kupës së Shkencës. Ky projekt u frymëzua nga përfshirja ime me ekipin e tasit shkencor të shkollës së mesme për tre vjet. Ne kemi pasur gjithmonë dëshirën për të rikrijuar sistemin e mbylljes së ziles me një kohëmatës 5 sekondash dhe 20 sekonda.

Për të dhënë një sfond mbi sistemin e ziles, zhurmat e tasit shkencor janë programuar të futin një maksimum prej 8 lojtarësh (me 8 zhurma të ndara). Pasi të jetë shtypur një zile, zileja e personit të parë do të ndizet për të treguar se cili lojtar e merr pyetjen. Pjesa tjetër e lojtarëve do të "bllokohen" që do të thotë se zhurmat e tyre nuk do të përgjigjen derisa moderatori të rivendosë sistemin e ziles.

Pasi moderatori të lexojë pyetjet, ai do të shtypë një buton për të filluar kohëmatësin e numërimit që do të shfaqet në ekranin me shtatë segmente. Pas një pyetjeje "përplasje", moderatori mund të shtypë butonin e djathtë për të filluar numërimin mbrapsht nga 5 sekonda. Ndërkohë, pas një pyetjeje "bonus", moderatori mund të shtypë butonin e majtë për të filluar numërimin mbrapsht nga 20 sekonda. Sapo kohëmatësi të arrijë në zero, një zile e zërit do të tregojë se lojtarit i ka mbaruar koha.

Për të rivendosur sistemin dhe kohëmatësin e numërimit, moderatori mund të shtypë butonin qendror. Për të rivendosur mekanizmin e bllokimit dhe LED -të e luajtësit, çelsat për lojtarin 1 dhe lojtarin 2 duhet të jenë të ulëta.

Hapi 1: Materialet

Ju do të keni nevojë për sa vijon:

  • Bordi Basys3 (ose bordi ekuivalent FPGA)
  • Kabllo USB Micro-B
  • Altoparlant (kam përdorur një altoparlant pasiv)
  • 2 tela
  • Softuer për tu zbatuar në FPGA (kam përdorur Vivado)
  • Skedari i Sistemit të Zhurmës Konkurruese

Hapi 2: Diagrami i Kutisë së Zezë

Diagrami i Kutisë së Zezë
Diagrami i Kutisë së Zezë

Diagrami i kutisë së zezë tregon hyrjet dhe daljet që do të përdoren në këtë sistem zile.

HYRJET:

player1, player2 Këto hyrje janë të lidhura me dy ndërprerës në tabelën Basys3. Për lehtësi, çelsat më të majtë dhe të djathtë do të përdoren.

reset Butoni qendror do të përdoret për të përfaqësuar butonin e rivendosjes.

count_down_20_sec Butoni i majtë do të përdoret për të përfaqësuar butonin e kohëmatësit 20 sekondash.

count_down_5_sec Butoni i djathtë do të përdoret për të përfaqësuar butonin e kohëmatësit 20 sekondash. Për të siguruar që të fillojë kohëmatësi 20 sekonda dhe 5 sekonda, mbani butonin derisa ekrani me shtatë segmente të tregojë kohëmatësin.

CLK Bordi FPGA do të krijojë një orë që funksionon me një frekuencë prej 10 ns.

Daljet:

altoparlant Dalja e altoparlantit është e lidhur me një zile ose altoparlant të jashtëm. Ju do të duhet të lidhni altoparlantin me portat e bordit Basys3 JA pmod. Ky hap do të përshkruhet më poshtë.

speaker_LED Kjo dalje është e lidhur me një LED në qendër të tabelës dhe do të tregojë vetëm kur dalja e altoparlantit të FPGA është e lartë. Ju mund ta përdorni këtë për të testuar altoparlantin tuaj të jashtëm. Vini re se disa nga portet pmod mund të mos funksionojnë mirë, kështu që ju mund të provoni të ndryshme dhe të përdorni LED për të kontrolluar nëse altoparlanti duhet të jetë i ndezur.

SEGMENTET Ky dalje lidhet me tetë segmentet individuale në ekranin me shtatë segmente, përfshirë pikën dhjetore.

DISP_EN Ky dalje është e lidhur me katër anodat në ekranin me shtatë segmente.

player_LED Ky dalje është një sinjal me 2 pako që lidhet me LED-të mbi çelsat e lojtarit1 dhe lojtarit2. Lojtari i parë që rrokullis ndërprerësin përkatës do të tregohet nga LED. Vini re se të dy LED nuk mund të ndizen njëkohësisht.

Hapi 3: Lidhja e altoparlantit të jashtëm

Lidhja e altoparlantit të jashtëm
Lidhja e altoparlantit të jashtëm

Për të lidhur altoparlantin e jashtëm me tabelën Basys3, merrni dy telat dhe bashkojini ato siç tregohet në imazhin e mësipërm. Linja e bardhë lidh terminalin negativ të altoparlantit me portën tokësore në tabelë. Linja e kuqe lidh terminalin pozitiv të altoparlantit me portën JA10 pmod në tabelë.

Skedari i kufizimeve është krijuar në mënyrë që çdo port nga JA1 në JA10 të funksionojë. Sidoqoftë, disa kunja në tabelë nuk reagojnë, kështu që nëse JA10 nuk funksionon, mund të provoni portet e tjera.

Hapi 4: Diagrami strukturor

Diagrami strukturor
Diagrami strukturor

Imazhi i mësipërm tregon diagramën strukturore të sistemit konkurues të zhurmës duke përfshirë të gjithë përbërësit që përbëjnë modulin kryesor. Përshkrimet e tyre janë si më poshtë:

player_lockout_LED1 Komponenti LED i bllokimit të lojtarit është një makinë me gjendje të fundme që përdor kodim me një nxehtësi. Ajo ka katër hyrje: player1, player2, reset dhe CLK. Ai përmban një pako dalëse 2-bit player_LED. Hyrjet dhe daljet e komponentit player_lockout_LED1 janë të gjitha të lidhura drejtpërdrejt me hyrjet dhe daljet me emrin identik të modulit kryesor.

buzzer_tone1 Komponenti buzzer bazohet në këtë kod të postuar në një forum

stackoverflow.com/questions/22767256/vhdl-… Megjithatë, është modifikuar për të nxjerrë një tingull të vazhdueshëm me një frekuencë 440 Hz (Një shënim). Hyrja e aktivizimit lidhet me një sinjal buzzer_enable i cili është një dalje e komponentit down_counter_FSM1.

clk_div1 Komponenti i orës ndarës është një version i modifikuar i ndarësit të orës të Profesor Bryan Mealy i siguruar në PolyLearn. Ngadalëson orën, kështu që periudha e daljes është 1 sekondë.

down_counter_FSM1 Numëruesi poshtë është një FSM i krijuar për të numëruar deri në zero. Dy kohët e mundshme të fillimit janë 20 ose 5 të cilat zgjidhen nga hyrja e përdoruesit. Rezulton '1' kur kohëmatësi të ketë arritur në zero për të treguar që koha ka mbaruar. Ky dalje vepron si një mundësi për përbërësin e tonit zile. Numëruesi gjithashtu nxjerr një sinjal të paketës 8-bit që dërgon një BCD 8-bit që dërgohet në dekoduesin e segmentit. Një dalje tjetër është counter_on e cila është gjithashtu e lidhur me hyrjen e vlefshme në dekoduesin e segmentit.

sseg_dec1 Komponenti i dekoduesit me shtatë segmente ofrohet në PolyLearn dhe është shkruar nga Profesor Bryan Mealy. Ai përdor një hyrje BCD të siguruar nga down_counter_FSM1 dhe nxjerr ekuivalentin dhjetor në ekranin me shtatë segmente. Kur numëruesi është i ndezur, atëherë hyrja e vlefshme është e lartë. Kjo i lejon dekoduesit të shfaqë numrin dhjetor në ekranin me shtatë segmente. Kur numëruesi është i fikur, atëherë hyrja e vlefshme është e ulët. Ekrani me shtatë segmente do të shfaqë vetëm katër pika.

Hapi 5: Diagrami i Makinerisë së Gjendjes së Fundit (FSM)

Diagrami i Makinerisë së Fundit (FSM)
Diagrami i Makinerisë së Fundit (FSM)

Lista e ndjeshmërisë për makinën me gjendje të fundme përfshin player1, player2, rivendosjen dhe orën. Dalja FSM është një pako 2-bit player_LED e lidhur me dy LED në tabelën Basys3. Makina e Gjendjes së Fundit tregon tre gjendjet e mëposhtme:

ST0 është gjendja fillestare. Në këtë gjendje, dy LED janë fikur. FSM do të mbetet në këtë gjendje nëse lojtari 1 dhe lojtari 2 janë të ulëta. Një rivendosje asinkrone gjithashtu e vendos gjendjen në ST0. Kur kaloni player1 është vendosur në lartësi, gjendja tjetër do të jetë ST1. Nëse çelësi player2 është vendosur në lartësi, gjendja tjetër do të jetë ST2.

ST1 është gjendja për të cilën LED1 është i ndezur. FSM do të mbetet në këtë gjendje për çdo kontribut. Kjo do të thotë që edhe kur çelësi i player2 është vendosur në lartësi menjëherë pasi çelësi i lojtarit 1 është i lartë, ai do të mbetet në ST1. Vetëm rivendosja asinkrone mund të vendosë gjendjen tjetër në ST0.

ST2 është gjendja për të cilën LED2 është e ndezur. Ngjashëm me ST !, FSM do të mbetet në këtë gjendje për çdo hyrje, edhe kur çelësi i player1 është vendosur në lartësi menjëherë pasi kalimi i lojtarit 2 është i lartë. Përsëri, vetëm rivendosja asinkrone mund të vendosë gjendjen tjetër në ST0.

Recommended: