Tartalomjegyzék:

VHDL egyperces stopper: 5 lépés
VHDL egyperces stopper: 5 lépés

Videó: VHDL egyperces stopper: 5 lépés

Videó: VHDL egyperces stopper: 5 lépés
Videó: 1.2 Основы языка VHDL. Базовые концепции описания устройств. 2024, November
Anonim
Image
Image

Ez egy oktatóanyag arról, hogyan lehet egyperces stoppert készíteni VHDL és Basys 3 táblával. Egy ilyen eszköz ideális olyan játékokhoz, ahol minden játékosnak legfeljebb egy perce van mozdulatra. A stopper pontosan mutatja a másodperceket és ezredmásodperceket a hét szegmenses kijelzőn, 0 másodperc és 0 ezredmásodperc, 60 másodperc és 0 ezredmásodperc között. Két gombot is használnak: a központi gombot az időzítő indításához, leállításához és folytatásához, valamint a jobb gombot az időzítő újraindításához. Ha az eszközt egymás mellett hasonlítjuk össze egy okostelefon beépített stopperórájával, akkor az óra pontossága észrevehető.

1. lépés: Hardver/szoftver beszerzése

Blokk diagramm
Blokk diagramm

1. Basys 3 Artix-7 FPGA edzőtábla a Digilent-től Micro-USB-USB kábellel

2. Vivado 2016.2 Design Suite a Xilinx -től

2. lépés: Blokkdiagram

Ez az áramkör viselkedési szempontból felépített, és beépített Xilinx komponenseket használ, de szerkezetileg is leírható, amint azt a fenti általános szerkezeti ábra is mutatja. A diagramból látható, hogy az áramkört két frekvenciaosztó hajtja. Az egyik frekvenciaosztó 1 centiszekundumon fut, és meghajtja a katódszámlálót, amelyet a hét szegmenses kijelzőn megjelenő számként használnak. A második frekvenciaosztó 240 Hz-en működik, és az anódszámláló meghajtására szolgál, amely az anódokon keresztül forog, hogy minden szám helyesen jelenjen meg a hét szegmenses kijelzőn. A kódoló leveszi a katódlogikát a katódszámlálóról és az anódlogikát az anódszámlálóról, és kódolja a kimenet katódjához és anódjához, amelyek a hét szegmenses kijelzőt futtatják. Ennek a kódolónak az a feladata, hogy a katódkimenet minden alkalommal megváltozzon, amikor az anódkimenet megváltozik. A katód kimenetet nem lehet a számlálótól függetlenül futtatni, mert az anódoknak a 4 külön számjegyen kell forogniuk.

3. lépés: Projekt modul

Először egy folyamatblokkot készítünk a CEN számára, hogy amikor gombnyomást észlel, az ENGEDÉLYEZÉS vált. Ez a katódszámláló leállítása/indítása.

A következő folyamatblokkban a centiszekundumos és a 240 Hz -es órajeleket úgy állítják be, hogy a megfelelő számlálók 1 -gyel növekedjenek minden egyes alkalommal, amikor a belső 100 MHz -es óra egy emelkedő élhez ér. Amint a centiszekundumos számláló eléri az 500000 -et, visszaáll nullára. Eközben a 240 Hz -es számláló visszaáll, ha a szám eléri a 41667 -et.

A kód katódszakaszában, ha az ENABLE „0”, a katódszámlálás szünetel. Ha ez idő alatt megnyomja a reset gombot, akkor az összes szám "0000" -ra áll vissza. Eközben, ha az ENABLE „1”, akkor a katódszámlálás addig folytatódik, amíg a katódszám el nem éri a 60,00 értéket, amelyben a stop jelet „1” -re váltja. A leállási jel visszavezet a CEN folyamatblokkjába, és az ENABLE értékét 0 értékre állítja, míg a stopjel 1 értékű, és nem változik, amíg a reset gombot le nem nyomja.

Végül a hét szegmenses kijelző úgy van beállítva, hogy a 4 anód megfelelően csatlakozik mind a 8 katódhoz, hogy a megfelelő 0–9 számjegyeket egyszerre jelenítse meg.

4. lépés: Korlátok

Korlátok
Korlátok

Ez a korlátozó fájl összekapcsolja a VHDL meghatározott bemeneteit és kimeneteit a Basys kártya szükséges, fizikai részeivel. Ehhez a projekthez a komponensek tartalmazzák a négy anódot és mindegyik nyolc katódját a hét szegmenses kijelzőhöz, a belső 100 mHz -es órát, a középső gombot és a jobb gombot.

5. lépés: Teszt

Miután befejezte a kódot, az USB -kábelen keresztül programozhatja az FPGA -t. A hét szegmenses kijelzőn 0.00 -at kell mutatni. Ellenőrizze, hogy a gombok működnek -e: nyomja meg a központi gombot az időzítő elindításához, amíg el nem éri a 60.00 órát és leáll; bármikor a szüneteltetéshez nyomja meg újra a központi gombot. A szüneteltetés után a jobb gombbal visszaállíthatja az időzítőt 0,00 -ra. Ha minden megfelelően működik, gratulálunk, hogy most épített egy egy perces időzítőt!

Ajánlott: