Tartalomjegyzék:

Versenyképes hangjelző rendszer: 5 lépés
Versenyképes hangjelző rendszer: 5 lépés

Videó: Versenyképes hangjelző rendszer: 5 lépés

Videó: Versenyképes hangjelző rendszer: 5 lépés
Videó: MAGNeT: ingyenes zene és hangeffekt készítés a mesterséges intelligencia segítségével a böngészőben 2024, November
Anonim
Image
Image
Anyagok
Anyagok

A projektben tervezett versenyképes zümmögőrendszer hasonlóan működik, mint a Regionális és Országos Tudományos Tálversenyeken használt zümmögőrendszerek. Ezt a projektet az inspirálta, hogy három évig részt vettem a középiskolám tudományos tálcsapatában. Mindig is az volt a vágyunk, hogy 5 és 20 másodperces időzítővel újra létrehozzuk a zárójelző rendszert.

A zümmögő rendszer némi hátterének bemutatása érdekében a Science Bowl zümmerek legfeljebb 8 játékos beprogramozására vannak programozva (8 külön hangjelzővel). Miután megnyomta az egyik csengőt, az első személy zümmere kigyullad, jelezve, hogy melyik játékos kapja meg a kérdést. A többi játékos "ki van zárva", ami azt jelenti, hogy a zümmögők nem válaszolnak, amíg a moderátor vissza nem állítja a zümmögő rendszert.

Miután a moderátor elolvasta a kérdéseket, egy gombot megnyomva elindítja a visszaszámlálót, amely megjelenik a hét szegmenses kijelzőn. A "feldobás" kérdés után a moderátor a jobb oldali gomb megnyomásával elindíthatja a visszaszámlálást 5 másodpercről. Eközben egy "bónusz" kérdés után a moderátor a bal oldali gombot megnyomva elindíthatja a visszaszámlálást 20 másodpercről. Amint az időzítő eléri a nullát, hangjelző jelzi, hogy a lejátszóból kifogyott az idő.

A rendszer és a visszaszámláló visszaállításához a moderátor megnyomhatja a középső gombot. A zárolási mechanizmus és a lejátszó LED -jeinek visszaállításához az 1 -es és 2 -es lejátszó kapcsolóinak alacsonyan kell lenniük.

1. lépés: Anyagok

A következőkre lesz szüksége:

  • Basys3 kártya (vagy ezzel egyenértékű FPGA kártya)
  • Micro-B USB kábel
  • Hangszóró (passzív hangszórót használtam)
  • 2 vezeték
  • Szoftver az FPGA -n (Vivado -t használtam)
  • Versenyképes zümmögő rendszerfájl

2. lépés: Fekete doboz diagram

Fekete doboz diagram
Fekete doboz diagram

A fekete doboz diagram mutatja a bemeneteket és kimeneteket, amelyeket ebben a zümmögő rendszerben használni fognak.

BEMENETEK:

player1, player2 Ezek a bemenetek a Basys3 táblán található két kapcsolóhoz vannak csatlakoztatva. A kényelem érdekében a bal és a jobb szélső kapcsolókat kell használni.

reset A középső gomb a reset gomb megjelenítésére szolgál.

count_down_20_sec A bal oldali gomb a 20 másodperces időzítő gombot jelöli.

count_down_5_sec A jobb oldali gomb a 20 másodperces időzítő gombot jelöli. Annak biztosítása érdekében, hogy mind a 20, mind az 5 másodperces időzítő elinduljon, tartsa lenyomva a gombot, amíg a hét szegmenses kijelzőn meg nem jelenik az időzítő.

CLK Az FPGA kártya 10 ns frekvenciájú órát generál.

KIMENETEK:

hangszóró A hangszóró kimenete egy külső hangjelzőhöz vagy hangszóróhoz van csatlakoztatva. A hangszórót csatlakoztatni kell a Basys3 tábla JA pmod portjaihoz. Ezt a lépést az alábbiakban ismertetjük.

speaker_LED Ez a kimenet a tábla közepén lévő LED -hez van csatlakoztatva, és csak jelzi, ha az FPGA hangszóró kimenete magas. Ezt használhatja a külső hangszóró tesztelésére. Ne feledje, hogy a pmod portok egy része esetleg nem működik megfelelően, ezért kipróbálhat különböző portokat, és a LED segítségével ellenőrizheti, hogy a hangszóró be van -e kapcsolva.

SZEGMENSEK Ez a kimenet a hét szegmenses kijelző nyolc egyedi szegmenséhez kapcsolódik, beleértve a tizedespontot is.

DISP_HU Ez a kimenet a hét szegmenses kijelző négy anódjához van csatlakoztatva.

player_LED Ez a kimenet egy 2 köteg jel, amely a lejátszó1 és lejátszó2 kapcsolók feletti LED-ekhez van csatlakoztatva. Az első játékos, aki a megfelelő kapcsolót elfordítja, a LED jelzi. Vegye figyelembe, hogy a két LED nem tud egyszerre világítani.

3. lépés: A külső hangszóró csatlakoztatása

A külső hangszóró csatlakoztatása
A külső hangszóró csatlakoztatása

A külső hangszóró csatlakoztatásához a Basys3 kártyához vegye a két vezetéket, és csatlakoztassa őket a fenti képen látható módon. A fehér vonal összeköti a hangszóró negatív kivezetését az alaplap földelő portjával. A piros vonal a hangszóró pozitív csatlakozóját köti össze a tábla JA10 pmod portjával.

A kényszerfájlt úgy tervezték, hogy a JA1 -től a JA10 -ig terjedő bármely port működjön. A táblán lévő néhány tű azonban nem reagál, így ha a JA10 nem működik, megpróbálhatja a többi portot.

4. lépés: Szerkezeti diagram

Szerkezeti diagram
Szerkezeti diagram

A fenti kép a versenyképes zümmögő rendszer szerkezeti diagramját mutatja, beleértve a főmodult alkotó összes összetevőt. Leírásuk a következő:

player_lockout_LED1 A lejátszó lezárása LED komponens egy véges állapotú gép, amely egy forró kódolást használ. Négy bemenettel rendelkezik: player1, player2, reset és CLK. Tartalmaz egy 2 bites csomag kimeneti lejátszót_LED. A player_lockout_LED1 komponens bemenetei és kimenetei közvetlenül kapcsolódnak a fő modul azonos nevű bemeneteihez és kimeneteihez.

buzzer_tone1 A zümmögő komponens ezen a fórumon közzétett kódon alapul

stackoverflow.com/questions/22767256/vhdl-… Azonban módosították, hogy 440 Hz frekvenciájú folyamatos hangot adjon ki (Megjegyzés). Az engedélyezési bemenet egy buzzer_enable jelhez van csatlakoztatva, amely a down_counter_FSM1 komponens kimenete.

clk_div1 Az óraosztó komponens Bryan Mealy professzor óraosztójának módosított változata a PolyLearn -en. Lassítja az órát, így a kimeneti periódus 1 másodperc.

down_counter_FSM1 A lefelé mutató számláló egy FSM, amelyet úgy terveztek, hogy visszaszámoljon nulláig. A két lehetséges kezdési időpont 20 vagy 5, amelyet a felhasználói bevitel választ. Amikor az időzítő elérte a nullát, az 1 -es kimenetet jelzi, jelezve, hogy lejárt az idő. Ez a kimenet lehetővé teszi a zümmögő hang komponens használatát. A számláló 8 bites kötegjelet is kiad, amely 8 bites BCD-t küld a szegmensdekódolónak. Egy másik kimenet a counter_on, amely szintén a szegmensdekóder érvényes bemenetéhez kapcsolódik.

sseg_dec1 A hét szegmensből álló dekódoló komponenst a PolyLearn szolgáltatja, és Bryan Mealy professzor írta. A down_counter_FSM1 által biztosított BCD bemenetet használja, és a tizedes egyenértéket adja ki a hét szegmenses kijelzőn. Ha a számláló be van kapcsolva, akkor az érvényes bemenet magas. Ez lehetővé teszi, hogy a dekóder megjelenítse a tizedes számot a hét szegmenses kijelzőn. Ha a számláló ki van kapcsolva, akkor az érvényes bemenet alacsony. A hét szegmenses kijelzőn ezután csak négy kötőjel jelenik meg.

5. lépés: Véges állapotú gép (FSM) diagram

Véges állapotú gép (FSM) diagram
Véges állapotú gép (FSM) diagram

A véges állapotú gép érzékenységi listája tartalmazza a lejátszót1, a lejátszót2, a visszaállítást és az órát. Az FSM kimenet egy 2 bites kötegelt lejátszó_LED, amely a Basys3 táblán lévő két LED-hez van csatlakoztatva. A véges állapotú gép a következő három állapotot mutatja:

Az ST0 a kezdeti állapot. Ebben az állapotban a két LED kialszik. Az FSM ebben az állapotban marad, ha az 1. játékos és a 2. játékos alacsony. Az aszinkron visszaállítás az állapotot ST0 -ra állítja. Ha a player1 kapcsoló magasra van állítva, a következő állapot az ST1 lesz. Ha a player2 kapcsoló magasra van állítva, a következő állapot az ST2 lesz.

Az ST1 az az állapot, amelyben a player1 LED világít. Az FSM ebben az állapotban marad minden bemenet esetén. Ez azt jelenti, hogy akkor is, ha a player2 kapcsoló magasra van állítva közvetlenül azután, hogy a player1 kapcsoló magas, az ST1 -ben marad. Csak az aszinkron visszaállítás állíthatja a következő állapotot ST0 -ra.

Az ST2 az az állapot, amelyben a player2 LED világít. Az ST! Ismét csak az aszinkron visszaállítás állíthatja a következő állapotot ST0 -ra.

Ajánlott: