Sisällysluettelo:
- Vaihe 1: Vaihe 1: Näin se toimii
- Vaihe 2: Vaihe 2: Basys 3 -levyn ohjelmointi
- Vaihe 3: Vaihe 3: Kuinka sitä käytetään
Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Tämä opettavainen opetusohjelma näyttää, kuinka voit tehdä 2 x 2 -matriisiratkaisun käyttämällä UART -sarjapäätemoduulia ja matriisinratkaisumoduulia. Käyttäjä voi syöttää 2 x 2 -matriisin ja sitten toteutettu malli sylkee ratkaisun lineaariseen järjestelmään.
Tämän koodin käyttämiseen tarvitset:
- Digilent Basys 3 FPGA -levy
- Tietokone, jossa on Xilinx Vivado -ohjelmisto (Webpack Edition toimii). Tässä moduulissa käytimme versiota 2017.2.
- Micro USB -johto (tiedonsiirto -yhteensopiva)
Tekijät: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Class: Digital Design
- EE/CPE 133 Kouluttaja: Joseph Callenes
Lähteet:
- UART_TX, UART_RX täältä:
- Poistu osoitteesta:
Toiminto kahden allekirjoittamattoman numeron jakamiseen:
Vaihe 1: Vaihe 1: Näin se toimii
Tulot: Käyttäjä syöttää lineaarisen järjestelmän tietokoneen päätelaitteeseen ja sitten UART -moduuli muuntaa ne matriisinratkaisumoduulin matriisiksi käsiteltäväksi. UART -moduuli on rajapinnassa käyttäjän kanssa ja antaa hänelle mahdollisuuden syöttää asianmukainen matriisi sekä ohjata heitä syöttämään tietoja oikein. Järjestelmässä on myös nollaus/käyttöönotto -kytkin, joka on yhdistetty Basys3 -kortin vasemmanpuoleiseen kytkimeen.
Lähdöt: Matriisinratkaisun tulokset viedään UART -moduuliliitännän läpi ja näytetään sitten tietokoneen päätelaitteessa näytössä lueteltujen ratkaisujen kanssa. Matriisinratkaisija lähettää allekirjoittamattomat standardilogiikkavektorit UART -moduuliin, joka muuntaa ne käyttäjäystävällisempiksi lähdöiksi, joita käyttäjä voi arvostaa. Nykyinen matriisinratkaisija voi syöttää vain numeroita enintään 15, ja tulostuloksen on oltava puhdas kokonaisluku, tai matriisinratkaisuohjelma ei pysty tuottamaan oikeaa ratkaisua.
Huipputason "sarjaohjaus" -moduuli: Käyttäjä syöttää haluamansa lineaarijärjestelmän tähän moduuliin UART_TX- ja UART_RX -moduulien kautta ja se muuntaa tietokoneen päätelaitteen tulot matriisinratkaisumoduulin käsittelemiksi vakiomuotoisiksi logiikkavektoreiksi. Matriisinratkaisumoduuli palauttaa sitten joukon vakioloogisia vektoreita, jotka UART -sarjaliitäntä näyttää sitten näytöllä. Tietojen lähettäminen ja vastaanottaminen UART -moduulien kautta tapahtuu käyttämällä erittäin pitkää FSM: ää tässä moduulissa.
UART_TX -moduuli: Käyttäjä syöttää 8 -bittisen vakiologiikkavektorin ja lähetyssignaalin lähettääkseen tietoja USB -liitännän kautta. Kun se lähettää dataa, TX_Active -signaali on korkea. Kun se on lähettänyt tiedot, TX_Done -signaali pulssi.
UART_RX -moduuli: Käyttäjä vastaanottaa 8 bittiä dataa kerrallaan USB -liitännästä. RX_DV: n pulssi osoittaa, että data on vastaanotettu ja että RX_Byte -vektorilogiikka voidaan lukea.
Matriisinratkaisumoduuli: Matriisinratkaisija vastaanottaa laskennallisen matriisin UART -moduulilta. Matriisinratkaisija muuntaa sitten lineaarijärjestelmän jokaisen luvun kokonaisluvuiksi, jotta niiden käyttäminen olisi helpompaa. Matriisinratkaisumoduulin sisällä on useita alimoduuleja. Ensimmäinen alimoduuli on käänteinen_matriisi_1, joka ottaa matriisin ja antaa sitten annetun matriisin käänteisen. Seuraava alimoduuli on kerroin, joka kertoo total_matrix -käänteismatriisin käyttämällä standardimatriisioperaatioita. Lopuksi päämoduuli kartoittaa ne yhteen ja antaa yhden vastauksen.
Vaihe 2: Vaihe 2: Basys 3 -levyn ohjelmointi
Kun olet hankkinut lähdekoodin alta, lataa se basys 3 -levylle käyttääksesi käyttöliittymää.
reference.digilentinc.com/basys3/refmanual
Vaihe 3: Vaihe 3: Kuinka sitä käytetään
Käytä sarjaliitäntää 9600 baudilla kommunikoidaksesi Basys3 UART: n kanssa. Käytin linux -näyttöä seuraavalla komennolla:
screen /dev /ttyUSB1 9600
Voidakseni tehdä tämän linuxilla minun täytyi lisätä käyttäjäni "dialout" -ryhmään. Windowsissa kitin pitäisi toimia, ja MacOSX: ssä sen pitäisi olla samanlainen prosessi kuin linux.
Kääntämällä vasemmanpuoleisin kytkin ON -asentoon, matriisinratkaisu käynnistyy. Sen kytkeminen pois päältä nollaa matriisinratkaisun.
Suositeltava:
DIY Raspberry Pi Downloadbox: 4 vaihetta
DIY Raspberry Pi Downloadbox: Löydätkö usein itsesi lataamasta suuria tiedostoja, kuten elokuvia, torrentteja, kursseja, TV -sarjoja jne., Niin tulet oikeaan paikkaan. Tässä Instructable -ohjelmassa muuttaisimme Raspberry Pi zero -laitteemme latauskoneeksi. Joka voi ladata minkä tahansa
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: 3 vaihetta
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: Seuraava opas auttaa sinua saamaan live-HD-videovirtoja lähes mistä tahansa DJI-dronesta. FlytOS -mobiilisovelluksen ja FlytNow -verkkosovelluksen avulla voit aloittaa videon suoratoiston droonilta
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
4 vaihetta akun sisäisen vastuksen mittaamiseksi: 4 vaihetta
4 vaihetta akun sisäisen vastuksen mittaamiseksi: Tässä on 4 yksinkertaista vaihetta, joiden avulla voit mitata taikinan sisäisen vastuksen