Tartalomjegyzék:
- 1. lépés: 1. lépés: Hogyan működik
- 2. lépés: 2. lépés: A Basys 3 tábla programozása
- 3. lépés: 3. lépés: Hogyan kell használni
Videó: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Ez az oktatható oktatóanyag megmutatja, hogyan készíthet 2 x 2 mátrixmegoldót az UART soros terminálmodul és a mátrixmegoldó modul segítségével. A felhasználó beírhat egy 2 x 2 mátrixot, majd a megvalósított terv kiköpi a megoldást a lineáris rendszerhez.
A kód használatához szüksége lesz:
- Digilent Basys 3 FPGA kártya
- Számítógép Xilinx Vivado szoftverrel (a Webpack Edition működni fog). Ehhez a modulhoz a 2017.2 -es verziót használtuk.
- Micro USB kábel (adatátvitelre alkalmas)
Szerzők: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Osztály: Digitális tervezés
- EE/CPE 133 Oktató: Joseph Callenes
Források:
- UART_TX, UART_RX innen:
- Visszakapcsolás innen:
Funkció két alá nem írt szám felosztására:
1. lépés: 1. lépés: Hogyan működik
Bemenetek: A felhasználó egy lineáris rendszert visz be a számítógép termináljába, majd egy UART modul átalakítja azokat tömbvé a mátrixmegoldó modul számára. Az UART modul kapcsolódik a felhasználóhoz, és lehetővé teszi a megfelelő mátrix megadását, valamint az adatok helyes bevitelét. A rendszer rendelkezik egy visszaállítás/engedélyezés kapcsolóval is, amely a Basys3 kártya bal szélső kapcsolójához van hozzárendelve.
Kimenetek: A mátrixmegoldó eredményei áthaladnak az UART modul interfészén, majd megjelennek a számítógép terminálján a képernyőn felsorolt megoldásokkal. A mátrixmegoldó aláíratlan szabványos logikai vektorokat bocsát ki az UART modulba, amely felhasználóbarátabb kimenetekké alakítja át a felhasználó számára. Az aktuális mátrixmegoldó csak legfeljebb 15 számot írhat be, és a kimeneti eredménynek tiszta egésznek kell lennie, különben a mátrixmegoldó program nem tudja kiadni a helyes megoldást.
Felső szintű "Soros vezérlés" modul: A felhasználó az UART_TX és UART_RX modulokon keresztül beviszi ebbe a modulba a kívánt lineáris rendszerét, és a bemeneteket a számítógép termináljából standard logikai vektorok tömbjévé alakítja, amelyeket a mátrixmegoldó modul dolgoz fel. A mátrixmegoldó modul ezután standard logikai vektorok tömbjét adja vissza, amelyeket az UART soros interfész jelenít meg a képernyőn. Az adatok UART modulokon keresztüli továbbítása és fogadása nagyon hosszú FSM használatával történik ebben a modulban.
UART_TX modul: A felhasználó 8 bites szabványos logikai vektort és küldési jelet ír be, hogy adatokat küldjön az USB interfészen keresztül. Adatok küldése közben a TX_Active jel magas. Miután elküldte az adatokat, a TX_Done jel pulzál.
UART_RX modul: A felhasználó egyszerre 8 bit adatot kap az USB interfészről. Az RX_DV impulzus azt jelzi, hogy adatok érkeztek, és hogy az RX_Byte vektor logikája olvasható.
Mátrixmegoldó modul: A mátrixmegoldó imputált tömböt kap az UART modulból, amely a mátrixot képviseli. A mátrixmegoldó ezután a lineáris rendszer minden számát egész számokká alakítja, hogy megkönnyítse azok működését. A mátrixmegoldó modulon belül több almodul található. Az első almodul az inverz_mátrix_1, amely felveszi a mátrixot, majd megadja a megadott mátrix inverzét. A következő almodul a szorzó, amely a total_mátrixot az inverz mátrixszal megszorozza standard mátrixműveletek segítségével. Végül a mester modul leképezi őket, hogy egyetlen választ adjon ki.
2. lépés: 2. lépés: A Basys 3 tábla programozása
Miután beszerezte a forráskódot alulról, töltse fel a basys 3 táblára a felület használatához.
reference.digilentinc.com/basys3/refmanual
3. lépés: 3. lépés: Hogyan kell használni
Használjon 9600 baudos soros interfészt a Basys3 UART kommunikációhoz. A képernyőt Linux alatt a következő paranccsal használtam:
screen /dev /ttyUSB1 9600
Ahhoz, hogy ezt linuxon megtehessem, hozzá kellett adnom a felhasználómat a "dialout" csoporthoz. Windows rendszeren a gittnek működnie kell, MacOSX rendszeren pedig a linuxhoz hasonló folyamatnak kell lennie.
A bal szélső kapcsoló bekapcsolása elindítja a mátrixmegoldót. Kikapcsolása visszaállítja a mátrixmegoldót.
Ajánlott:
DC - DC feszültség Lépés lekapcsoló mód Buck feszültségátalakító (LM2576/LM2596): 4 lépés
DC-DC feszültség Lépés lekapcsoló üzemmód Buck feszültségátalakító (LM2576/LM2596): A rendkívül hatékony bakkonverter készítése nehéz feladat, és még a tapasztalt mérnököknek is többféle kivitelre van szükségük, hogy a megfelelőt hozzák létre. egy DC-DC áramátalakító, amely csökkenti a feszültséget (miközben növeli
Akusztikus levitáció az Arduino Uno-val Lépésről lépésre (8 lépés): 8 lépés
Akusztikus lebegés az Arduino Uno-val Lépésről lépésre (8 lépés): ultrahangos hangátvivők L298N Dc női adapter tápegység egy egyenáramú tűvel Arduino UNOBreadboard és analóg portok a kód konvertálásához (C ++)
Élő 4G/5G HD videó streamelés DJI drónról alacsony késleltetéssel [3 lépés]: 3 lépés
Élő 4G/5G HD videó streaming a DJI Drone-tól alacsony késleltetéssel [3 lépés]: Az alábbi útmutató segít abban, hogy szinte bármilyen DJI drónról élő HD minőségű videó streameket kapjon. A FlytOS mobilalkalmazás és a FlytNow webes alkalmazás segítségével elindíthatja a videó streamingjét a drónról
Bolt - DIY vezeték nélküli töltő éjszakai óra (6 lépés): 6 lépés (képekkel)
Bolt - DIY vezeték nélküli töltés éjszakai óra (6 lépés): Az induktív töltés (más néven vezeték nélküli töltés vagy vezeték nélküli töltés) a vezeték nélküli áramátvitel egyik típusa. Elektromágneses indukciót használ a hordozható eszközök áramellátásához. A leggyakoribb alkalmazás a Qi vezeték nélküli töltő
4 lépés az akkumulátor belső ellenállásának méréséhez: 4 lépés
4 lépés az akkumulátor belső ellenállásának mérésére: Íme a 4 egyszerű lépés, amelyek segítenek mérni az akkumulátor belső ellenállását