Sisällysluettelo:

VGA -maalausohjelma: 5 vaihetta
VGA -maalausohjelma: 5 vaihetta

Video: VGA -maalausohjelma: 5 vaihetta

Video: VGA -maalausohjelma: 5 vaihetta
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Marraskuu
Anonim
VGA -maalausohjelma
VGA -maalausohjelma

Projekti: Adam Klein, Ian Strachan, Brandon Slater

Projektin, jonka päätimme saattaa päätökseen, oli tallentaa, jäsentää ja näyttää tietoja USB -hiirestä maalausohjelman muodossa. Projektin ajatuksena on, että hiiri ja VGA-kaapelit voidaan kytkeä Basys-korttiin sen sisäänrakennettuissa porteissa ja että hiiri näytetään siirrettävänä maalausruuduna näytöllä, jolloin värit muuttuvat, kun vasen ja oikea napsautus käytetty. Pohjimmiltaan loisimme ohjaimen hiiren käyttämiseksi bassokortin kanssa ja näytön toimivuuden varmistamiseksi. Lopulta todella tapahtui piirustusohjelman luominen, jossa syöttöjärjestelmä oli bassotaulu ja hiirelle puolitoiminnallinen tiedonkeruujärjestelmä.

Tässä ohjeessa jaamme vaiheet hiiren syöttämisestä vga -lähtöön.

Vaihe 1: Motivaatio ja ongelma

Motivaatio ja ongelma
Motivaatio ja ongelma

Motivaatio:

Projektimme päämotivaatio oli luoda hiiren ajuri Basys3 -kortille, jota tulevat CPE 133 -opiskelijat voivat käyttää lopullisissa projekteissaan tulevaisuudessa. Otimme kuitenkin tämän ajatuksen askeleen pidemmälle luomalla maalausohjelman, josta myös tulevat opiskelijat voisivat rakentaa.

Ongelma:

Havaitsemamme ongelma oli se, että Basys3 -kortille ei ole ladattavaa ja käytettävää selkeää hiirimoduulia. Tämän ongelman ratkaisemiseksi yritimme luoda sellaisen itse. Näin pyrimme luomaan hiirimoduulin, jonka avulla tulevat opiskelijat voisivat helpommin ottaa hiiren syötteen käyttöön projekteissaan.

Vaihe 2: Raakabittitietojen hankkiminen Basys USB -laitteelta

Raakabittitietojen saaminen Basys USB: ltä
Raakabittitietojen saaminen Basys USB: ltä
  • Suuri osa siitä, mitä teimme hiirelle tässä projektissa, tuli Basys3 -dokumentaatiosta. Tämän pdf -tiedoston Basys -USB -portin pienestä oppaasta havaitsimme, että Basys -kortilla on sisäänrakennettu kello, jolla voidaan lukea bittejä oikealla nopeudella USB -laitteista.
  • Pohjimmiltaan hiiri lähettää bittejä usb: lle valmiustilasta alkaen, lukee 32 bittiä, jotka edustavat hiirien tilaa, x -asemaa ja y -asemaa, ja lopulta päättyy toisella käyttämättömällä bitillä. Tätä varten hiiren syöttökomponentti käyttää siirtorekisteriä ja 32 -bittistä laskuria, jossa siirtorekisteriä käytetään tallentamaan 32 bittiä hiirestä tulevaa dataa ja 32 -bittistä laskuria käytetään laskemaan tallennettavien bittien lukumäärä rekisteröi nollataksesi ja tallentaaksesi seuraavan 32 saapuvan bitin sarjan.
  • Alla on ladattavissa vuororekisterin, 32 -bittisen laskurin ja datanlukijan koodi sekä rajoitustiedosto, joka on sovitettu käyttämään USB -porttia tulona

Vaihe 3: USB -tietojen jäsentäminen

Usb -tietojen jäsentäminen
Usb -tietojen jäsentäminen
Usb -tietojen jäsentäminen
Usb -tietojen jäsentäminen
  • Kun olet luonut hiiren tulon usb -komponenttiin, seuraava askel oli luoda usb -bitit vektori -informaatiokomponentiksi, joka tekisi hiiren vastaanottamasta datasta luettavan vga: lle.
  • Tämä komponentti käyttää tilakonetta, joka ottaa hiiren tulon antamat bittisarjat usb: lle ja liikkuu tilojen mukaan sen mukaan, onko hiiren tilaa ja sijaintia muuttavia uusia bittejä syötetty.
  • Hankkeen kahden ensimmäisen vaiheen lohkokaavio on esitetty tässä, ja kaksi vhdl -tiedostoa on tarkoitettu hiiren toteutuksen testaamiseen basys -LEDien avulla (testi, joka ei valitettavasti koskaan läpäissyt) ja bittivirran lähettämiseen USB -liitännältä portin nopeuden ja sijainnin vektoreihin, joita VGA voi käyttää.
  • Yllä olevan lohkokaavion vieressä oleva kuva on pieni tilannekuva (Instructables ei salli meidän näyttää koko laajaa kuvaa) bittitiedoista, jotka löysimme perusasiakirjoista tämän vaiheen suorittamiseksi.

Vaihe 4: Maalatun kuvan näyttäminen VGA: n kautta ja piirrettävän muokkaaminen

Maalatun kuvan näyttäminen VGA: n kautta ja piirrettävän muokkaaminen
Maalatun kuvan näyttäminen VGA: n kautta ja piirrettävän muokkaaminen
Maalatun kuvan näyttäminen VGA: n kautta ja piirrettävän muokkaaminen
Maalatun kuvan näyttäminen VGA: n kautta ja piirrettävän muokkaaminen
Maalatun kuvan näyttäminen VGA: n kautta ja piirrettävän muokkaaminen
Maalatun kuvan näyttäminen VGA: n kautta ja piirrettävän muokkaaminen
  • VGA -kaapelissa on 14 bittiä lähtöä, 4 bittiä kullekin kolmesta väristä ja bitti vaakasynkronointiin ja pystysynkronointiin.
  • Muu VGA on toimitettu VGA -moduuli ja se toimii seuraavasti:

    • Näyttö on jaettu 40 x 30 lohkoon 16 x 16 pikseliä 640 x 480 resoluution näytölle, kuten yllä olevassa kuvassa näkyy. Moduuli valitsee lohkoosoitteen edustamaan yhtä monitorin 1200 lohkosta. Lohko -osoite valitaan seuraavan yhtälön avulla: osoite = 40y + x
    • Väriä edustaa 12 -bittinen signaali, joka vastaa RRRRGGGGBBBB -arvoa, joka värittää valitun lohkon.
  • Ohjauskoodimme VGAtest ja VGAtestconst toimivat seuraavasti:

    • Se asettaa ensin valitun lohkon näytön keskelle.
    • Lohkon väri määräytyy 12 levyn kytkimestä, jotka asettavat RRRRGGGGBBBB -arvon.
    • Taululla olevat neljä suuntapainiketta muuttavat valitun osoitteen. Esimerkiksi oikeanpuoleisen painikkeen painaminen lisää osoitteeseen 1 ja valitse lohkon yksi edellisen lohkon oikealta puolelta. Alas -painikkeen painaminen lisää osoitteeseen 40 ja valitse lohko edellisen lohkon alapuolelta.
    • Keskipainiketta käytetään asettamaan kaikki väri -arvot arvoon 0, kun niitä painetaan. Tämä on tarkoitettu toimimaan poistopainikkeena, jota käyttäjä on helppo käyttää, joten käyttäjän ei tarvitse kääntää jokaista kytkintä 0 -asentoon poistamiseksi.
  • Viimeinen kuva on ohjaimen lohkokaavio. Se on melko leveä, koska se sisältää moduulin komponentteja, eikä sitä välttämättä näytetä kokonaan.

Vaihe 5: Nauti luomastasi

Tässä linkissä on nopea timelapse hauskuudesta, joka sinulla voi olla lopullisessa projektissa, vaikka vain käyttäisit bassotaulun kytkimiä ja painikkeita tulona.

Kiitos lukemisesta!

Suositeltava: