Sisukord:

VGA maalimisprogramm: 5 sammu
VGA maalimisprogramm: 5 sammu

Video: VGA maalimisprogramm: 5 sammu

Video: VGA maalimisprogramm: 5 sammu
Video: Почему вентиляторы на видеокарте не вращаются 2024, November
Anonim
VGA maalimisprogramm
VGA maalimisprogramm

Projekti autorid: Adam Klein, Ian Strachan, Brandon Slater

Projekt, mille kavatsesime lõpule viia, oli USB -hiirelt teabe salvestamine, sõelumine ja kuvamine maalimisprogrammi kujul. Projekti idee seisneb selles, et oleks võimalik ühendada hiire- ja VGA-kaablid oma sisseehitatud portides olevasse Basys-tahvlisse ning lasta hiir kuvada ekraanil liigutatava maaliruuduna, muutes vasak- ja paremklõpsu korral erinevaid värve. kasutatud. Sisuliselt looksime draiveri hiire kasutamiseks bassiplaadiga ja monitori funktsionaalsuse kontrollimiseks. Mis tegelikult juhtus, oli joonistusprogrammi loomine, mille sisendsüsteemiks oli bassiplaat ja hiire jaoks poolfunktsionaalne andmete kogumise süsteem.

Selles juhendis jagame sammud hiire sisendist vga väljundini.

Samm: motivatsioon ja probleem

Motivatsioon ja probleem
Motivatsioon ja probleem

Motivatsioon:

Meie projekti peamine motivatsioon oli luua hiire draiver Basys3 tahvlile, mida tulevased CPE 133 õpilased saaksid tulevikus oma lõputööde jaoks kasutada. Siiski viisime selle idee sammukese kaugemale, luues maalimisprogrammi, mille võiksid üles ehitada ka tulevased õpilased.

Probleem:

Meie avastatud probleem oli see, et Basys3 tahvli jaoks pole allalaadimiseks ja kasutamiseks valmis selget hiiremoodulit. Selle probleemi lahendamiseks proovisime seda ise luua. Seda tehes püüdsime luua hiiremooduli, mis võimaldaks tulevastel õpilastel hõlpsamini oma projektides hiire sisendit rakendada.

2. samm: toores bititeabe hankimine Basys USB -lt

Toorbititeabe hankimine Basys USB -lt
Toorbititeabe hankimine Basys USB -lt
  • Suur osa sellest, mida me selles projektis hiire heaks tegime, pärines Basys3 dokumentatsioonist. Selle pdf -i Basys USB -porti väikesest juhendist leidsime, et Basys -plaadil on sisseehitatud kell, mis võimaldab USB -seadmetelt õige kiirusega bitte lugeda.
  • Põhimõtteliselt saadab hiir jõudeolekust bitid USB -le, loeb 32 bitti, mis tähistavad hiire olekut, x -positsiooni ja y -positsiooni, ning lõpeb lõpuks teise tühikäigu bitiga. Selleks kasutab hiire sisendkomponent nihkeregistrit ja 32 -bitist loendurit, kus nihkeregistrit kasutatakse hiirest saabuvate andmete 32 bitti salvestamiseks ja 32 -bitist loendurit kasutatakse olekut võimaldavate salvestatud bittide arvu loendamiseks registreeruge, et lähtestada ja salvestada järgmine 32 sissetuleva biti komplekt.
  • Nihkeregistri, 32 -bitise loenduri ja andmelugeja kood on allalaaditav allpool, samuti piirangute fail, mis on kohandatud meie sisendina USB -pordi kasutamiseks

3. samm: USB -teabe sõelumine

USB -teabe sõelumine
USB -teabe sõelumine
USB -teabe sõelumine
USB -teabe sõelumine
  • Pärast hiire sisendi loomist usb -komponendile oli järgmine samm luua usb -bitid vektori infokomponendiks, mis muudaks hiirega saadud andmed vga jaoks loetavaks.
  • See komponent kasutab olekumasinat, mis võtab hiire sisendi poolt väljastatud bittide komplekti USB -sse ja liigub olekutes vastavalt sellele, kas hiire olekut ja asukohta muutvad bitid sisestati.
  • Siin on näidatud projekti esimese kahe etapi plokkskeem ja kaks vhdl -faili on mõeldud hiire rakendamise testimiseks bass -LED -ide abil (test, mida kahjuks kunagi ei läbitud) ja bitivoo USB -st ülekandmiseks pordist kiiruse ja positsiooni vektorite jaoks, mida VGA saab kasutada.
  • Ülaltoodud plokkskeemi kõrval olev pilt on väike hetktõmmis (Instructables ei luba meil kuvada täislaiuspilti) bititeabest, mille leidsime selle toimingu lõpetamiseks põhidokumentatsioonist.

Samm: maalitud pildi kuvamine VGA kaudu ja joonistamise muutmine

Värvitud pildi kuvamine VGA kaudu ja joonistamise redigeerimine
Värvitud pildi kuvamine VGA kaudu ja joonistamise redigeerimine
Värvitud pildi kuvamine VGA kaudu ja joonistamise redigeerimine
Värvitud pildi kuvamine VGA kaudu ja joonistamise redigeerimine
Värvitud pildi kuvamine VGA kaudu ja joonistamise redigeerimine
Värvitud pildi kuvamine VGA kaudu ja joonistamise redigeerimine
  • VGA -kaablil on 14 bitti väljundit, 4 bitti iga kolme värvi jaoks ja natuke horisontaalseks ja vertikaalseks sünkroonimiseks.
  • VGA on kaasasolev VGA -moodul ja see toimib järgmiselt.

    • Ekraan on eraldatud 640x480 ekraani jaoks 40x30 plokiks 16x16 pikslit, nagu ülaltoodud pildil näha. Moodul valib ploki aadressi, mis esindab ühte monitori 1200 plokist. Ploki aadress valitakse järgmise võrrandi abil: aadress = 40y + x
    • Värvi tähistab 12 -bitine signaal, mis korreleerub valitud plokki värviva RRRRGGGGBBBB väärtusega.
  • Meie juhtimiskood VGAtest ja VGAtestconst toimib järgmiselt.

    • Esmalt seab see valitud ploki monitori keskele.
    • Ploki värvi määravad 12 lülitit plaadil, seadistades RRRRGGGGBBBB väärtuse.
    • Tahvli neli suunanuppu muudavad valitud aadressi. Näiteks parempoolse nupu vajutamine lisab aadressile 1, valides ploki ühe eelmise ploki paremale. Alla vajutades lisatakse aadressile 40, valides ploki eelmise ploki all.
    • Keskmist nuppu kasutatakse kõigi värviväärtuste seadmiseks nupule vajutamisel 0 -le. Selle eesmärk on toimida kustutusnupuna, mida kasutajal on lihtne kasutada, nii et kasutaja ei pea kustutamiseks iga lülitit nulli keerama.
  • Viimane pilt on kontrolleri plokkskeem. See on üsna lai, kuna see sisaldab mooduli komponente ja seda ei pruugita täielikult kuvada.

Samm: nautige loomingut

Siin on lingitud kiire ajavahemik lõbust, mida saate lõppprojektiga nautida, isegi kui kasutate sisendina bassiplaadi lüliteid ja nuppe.

Täname lugemise eest!

Soovitan: