Tartalomjegyzék:

Tükör kijelző: 8 lépés
Tükör kijelző: 8 lépés

Videó: Tükör kijelző: 8 lépés

Videó: Tükör kijelző: 8 lépés
Videó: Hogyan Kell Üvegfóliát Felrakni Buborékmentesen 2024, November
Anonim
Tükör kijelző
Tükör kijelző
Tükör kijelző
Tükör kijelző
Tükör kijelző
Tükör kijelző

A projekt célja egy intelligens tükör képmegjelenítési funkciójának létrehozása. A tükör képes megjeleníteni az előrejelzéseket (napos, részben napos, felhős, szeles, eső, mennydörgés és hó) és a -9999 ° és 9999 ° közötti hőmérsékletértékeket. Az előrejelzés és a hőmérséklet értékei keményen vannak kódolva, mintha az időjárási API -ból származó elemzés utánozzák őket.

A projekt egy FreeRTOS rendszert futtató Zynq-Zybo-7000 táblát használ, és a Vivado 2018.2 programot használja a hardver tervezéséhez és programozásához.

Alkatrészek:

Zynq-Zybo-7000 (FreeRTOS-szal)

19 hüvelykes LCD (640x480)

VGA kábel

12 "x 18" akril tükör

1. lépés: A Vivado konfigurálása

Vivado konfigurálása
Vivado konfigurálása
Vivado konfigurálása
Vivado konfigurálása

Töltse le a Vivado 2018.2 programot a Xilinx webhelyről, és használja a Webpack licencet. Indítsa el a Vivadot és az "Új projekt létrehozása" -t, és adjon nevet. Ezután válassza az "RTL Project" lehetőséget, és jelölje be a "Ne adjon meg forrásokat ebben az időben" jelölőnégyzetet. Alkatrész kiválasztásakor válassza az "xc7z010clg400-1" lehetőséget, majd kattintson a "Befejezés" gombra a következő oldalon.

2. lépés: A VGA illesztőprogram IP -címének csomagolása

Csomagolás VGA illesztőprogram IP
Csomagolás VGA illesztőprogram IP
Csomagolás VGA illesztőprogram IP
Csomagolás VGA illesztőprogram IP

Adja hozzá a vga_driver.sv fájlt a tervezési forrásokhoz. Ezután kattintson az "Eszközök" gombra, és válassza az "Új IP létrehozása és csomagolása" lehetőséget. Válassza a "Csomagolja össze az aktuális projektet" lehetőséget. Ezután válasszon egy IP -helyet, és válassza ki a.xci fájlokat. Kattintson az "OK" gombra a felugró ablakban, majd a "Befejezés" gombra.

A „Csomagolási lépések” szakaszban lépjen a „Felülvizsgálat és csomag” elemre, és válassza a „Csomag IP” lehetőséget.

Most a vga_driver IP -blokkként legyen elérhető.

3. lépés: Zynq IP

Zynq IP
Zynq IP
Zynq IP
Zynq IP
Zynq IP
Zynq IP
Zynq IP
Zynq IP

Az "IP -integrátor" szakaszban válassza a "Blokkterv létrehozása" lehetőséget. Adja hozzá a "ZYNQ7 feldolgozó rendszert", és kattintson duplán a blokkra. Kattintson az "XPS -beállítások importálása" gombra, és töltse fel a ZYBO_zynq_def.xml fájlt.

Ezután a "PS-PL Configuration" alatt nyissa meg az "AXI Non Secure Enablement" legördülő menüt, és jelölje be az "M AXI GP0 interface" lehetőséget.

Ezután a "MIO Configuration" alatt nyissa meg az "Application Processor Unit" legördülő menüt, és jelölje be az "Timer 0" és a "Watchdog" elemeket.

Végül, az "Óra konfigurálása" alatt nyissa meg a "PL Fabric Clocks" legördülő menüt, és jelölje be az "FCLK_CLK0" lehetőséget, és 100 MHz -en.

4. lépés: GPIO IP

GPIO IP
GPIO IP
GPIO IP
GPIO IP

Adjon hozzá két GPIO blokkot a blokktervhez. A GPIO -k a pixelcím és a pixelek RGB összetevőinek vezérlésére szolgálnak. Állítsa be a blokkokat a fenti képeken látható módon. Miután hozzáadta és konfigurálta mindkét blokkot, kattintson a "Kapcsolati automatizálás futtatása" gombra.

GPIO 0 - Az 1. csatorna vezérli a pixelcímet, a 2. csatorna pedig a piros színt.

GPIO 1 - Az 1. csatorna szabályozza a zöld színt, a 2. csatorna pedig a kék színt.

5. lépés: Blokkolja a memóriát

Memória blokkolása
Memória blokkolása
Memória blokkolása
Memória blokkolása
Memória blokkolása
Memória blokkolása

Adjon hozzá egy blokk memóriagenerátor IP -t a blokktervezéshez, és konfigurálja a fentiek szerint. A képpontszínek memóriacímekre íródnak, amelyeket a VGA illesztőprogram olvas. A címsornak meg kell egyeznie a használt pixelek mennyiségével, így 16 bitnek kell lennie. A benne lévő adatok is 16 bitesek, mivel 16 színbit van. Nem törődünk semmilyen nyugtázó rész elolvasásával.

6. lépés: Egyéb IP

A mellékelt pdf az elkészült blokktervet mutatja. Adja hozzá a hiányzó IP -címet, és fejezze be a kapcsolatokat. Szintén "Make Externals" a VGA színes kimenetekhez és a függőleges és vízszintes szinkron kimenetekhez.

xlconcat_0 - Összekapcsolja az egyes színeket, hogy egy 16 bites RGB jelet képezzen, amelyet a blokk RAM -ba táplálnak.

xlconcat_1 - Összekapcsolja az oszlop- és sorjeleket a VGA illesztőprogramból, és betáplálja a Block RAM B portjába. Ez lehetővé teszi a VGA illesztőprogram számára a pixel színértékek leolvasását.

VDD - Az állandó HIGH csatlakozik a Block RAM írási engedélyezéséhez, hogy mindig jogosultak lehessünk rá.

xlslice_0, 1, 2 - A szeleteket arra használják, hogy az RGB jelet egyes R, G és B jelekre bontják, amelyeket a VGA meghajtóba lehet betáplálni.

A blokktervezés befejezése után hozzon létre egy HDL csomagolót, és adja hozzá a megszorítások fájlt.

*A blokktervezés a benlin1994 által írt oktatóanyagon alapul*

7. lépés: SDK

A blokk kialakítását futtató kód az alábbiakban található. Az Init.c tartalmazza a rajzot kezelő funkciókat (előrejelzések, számok, fokjel stb.). A main.c fő hurka az, ami a tábla programozásakor fut. Ez a ciklus beállítja az előrejelzési és a hőmérsékleti értékeket, majd meghívja a rajzolási függvényeket az init.c -ben. Jelenleg végigmegy mind a hét előrejelzésen, és egymás után jelenik meg. Javasoljuk, hogy adjon meg egy töréspontot a 239. sorhoz, hogy minden kép látható legyen. A kód megjegyzéseket tartalmaz, és további információkat tartalmaz.

8. lépés: Következtetés

A jelenlegi projekt javítása érdekében előre feltöltött előrejelző képeket tölthet fel COE fájlok formájában a Block Memory Generators programba. Tehát ahelyett, hogy kézzel rajzolnánk az előrejelzéseket, mint a C kódban, a képeket beolvashatjuk. Megpróbáltuk ezt megtenni, de nem tudtuk működni. Képesek voltunk a pixelértékeket leolvasni és kiadni, de rendetlen képeket hozott létre, amelyek nem hasonlítottak azokhoz, amelyeket a RAM -ba töltöttünk. A blokk memóriagenerátor adatlapja hasznos az olvasáshoz.

A projekt lényegében fél intelligens tükör, mivel hiányzik belőle az internetkapcsolat. Ha ezt hozzáadja, akkor teljes intelligens tükröt kap.

Ajánlott: