Obsah:

Program malování VGA: 5 kroků
Program malování VGA: 5 kroků

Video: Program malování VGA: 5 kroků

Video: Program malování VGA: 5 kroků
Video: Tento Tvar Je NEMOŽNÝ Nakreslit!😱 2024, Červenec
Anonim
Program malování VGA
Program malování VGA

Projekt: Adam Klein, Ian Strachan, Brandon Slater

Projekt, který jsme se rozhodli dokončit, měl ukládat, analyzovat a zobrazovat informace z USB myši ve formě programu pro malování. Myšlenkou projektu je možnost zapojit kabely myši a VGA do desky Basys ve vestavěných portech a nechat myš zobrazit jako pohyblivý malířský čtverec na monitoru a měnit různé barvy při kliknutí levým a pravým tlačítkem. použitý. V zásadě bychom vytvořili ovladač pro používání myši se základní deskou a monitorování jako ověřování funkčnosti. To, co se nakonec skutečně stalo, bylo vytvoření kreslicího programu se základní deskou jako vstupním systémem a polofunkčním systémem pro sběr dat pro myš.

V tomto pokynu rozdělíme kroky od vstupu myši po výstup vga.

Krok 1: Motivace a problém

Motivace a problém
Motivace a problém

Motivace:

Hlavní motivací našeho projektu bylo vytvořit ovladač myši pro desku Basys3, který by budoucí studenti CPE 133 mohli v budoucnu použít pro své závěrečné projekty. Tuto myšlenku jsme však posunuli o krok dále tím, že jsme vytvořili malířský program, ze kterého by mohli vycházet i budoucí studenti.

Problém:

Problém, který jsme zjistili, byl ten, že pro desku Basys3 není připraven žádný jasný modul myši, který by bylo možné stáhnout a použít. Abychom tento problém vyřešili, pokusili jsme se jej vytvořit sami. Tím jsme se snažili vytvořit modul myši, který by budoucím studentům umožnil snadněji implementovat vstup myší do jejich projektů.

Krok 2: Získání surových bitových informací z USB základen

Získání surových bitových informací ze základen USB
Získání surových bitových informací ze základen USB
  • Hodně z toho, co jsme pro myš v tomto projektu udělali, pocházelo z dokumentace Basys3. Z malého průvodce na USB portu Basys v tomto pdf jsme zjistili, že deska Basys má vestavěné hodiny pro čtení bitů správnou rychlostí ze zařízení USB.
  • V podstatě myš posílá bity na usb počínaje od klidového stavu, čte 32 bitů představujících stav myší, pozici x a pozici y a nakonec končí dalším nečinným bitem. K tomu vstupní komponenta myši používá posuvný registr a 32bitový čítač, kde se posuvný registr používá k ukládání 32 bitů příchozích dat z myši a 32bitový čítač se používá k počítání počtu uložených bitů, což umožňuje stav zaregistrujte se a resetujte a uložte další sadu 32 příchozích bitů.
  • Kódy pro posuvný registr, 32bitový čítač a čtečku dat lze stáhnout níže, stejně jako soubor omezení přizpůsobený našemu použití portu USB jako vstupu

Krok 3: Analýza informací o USB

Analýza informací o USB
Analýza informací o USB
Analýza informací o USB
Analýza informací o USB
  • Po vytvoření vstupu myši na komponentu USB bylo dalším krokem vytvoření komponenty USB bitů na vektorovou informaci, díky které budou data přijímaná myší čitelná pro vga.
  • Tato komponenta používá stavový stroj, který přebírá sadu bitů vyvedených vstupem myši na USB a pohybuje se stavy podle toho, zda byly zadány nové bity, které mění stav a polohu myši.
  • Zde je zobrazen blokový diagram pro první dva kroky projektu a dva soubory vhdl slouží k testování implementace myši pomocí základních LED diod (test, který bohužel nebyl nikdy proveden) a k odesílání bitového proudu z USB port na rychlostní a polohové vektory, které může VGA použít.
  • Obrázek vedle výše uvedeného blokového diagramu je malý snímek (Instructables nám neumožňuje zobrazit celý širokoúhlý obrázek) bitových informací, které jsme našli v dokumentaci základen pro dokončení tohoto kroku.

Krok 4: Zobrazení malovaného obrazu přes VGA a úpravy toho, co se kreslí

Zobrazení malovaného obrazu přes VGA a úpravy kresleného obrazu
Zobrazení malovaného obrazu přes VGA a úpravy kresleného obrazu
Zobrazení malovaného obrazu přes VGA a úpravy toho, co se kreslí
Zobrazení malovaného obrazu přes VGA a úpravy toho, co se kreslí
Zobrazení malovaného obrazu přes VGA a úpravy toho, co se kreslí
Zobrazení malovaného obrazu přes VGA a úpravy toho, co se kreslí
  • VGA kabel má 14 bitů výstupu, 4 bity pro každou ze tří barev a bit pro horizontální synchronizaci a vertikální synchronizaci.
  • OtherVGA je poskytovaný modul VGA a funguje následovně:

    • Monitor je rozdělen na 40x30 bloků 16x16 pixelů pro obrazovku s rozlišením 640x480, jak je vidět na obrázku výše. Modul vybere adresu bloku, která bude představovat jeden z 1 200 bloků na monitoru. Adresa bloku se vybírá podle následující rovnice: adresa = 40y + x
    • Barva je reprezentována 12bitovým signálem, který koreluje s hodnotou RRRRGGGGBBBB, která vybarvuje vybraný blok.
  • Náš kontrolní kód VGAtest a VGAtestconst funguje následovně:

    • Nejprve nastaví vybraný blok do středu monitoru.
    • Barva bloku je určena 12 přepínači na desce, nastavujícími hodnotu RRRRGGGGBBBB.
    • Čtyři směrová tlačítka na desce mění zvolenou adresu. Například stisknutím pravého tlačítka přidáte 1 k adrese a vyberete blok vpravo od předchozího bloku. Stisknutím tlačítka dolů se přidá 40 k adrese a vybere se blok pod předchozím blokem.
    • Středové tlačítko slouží k nastavení všech barevných hodnot na 0 při stisknutí. Toto se má chovat jako tlačítko pro mazání, které je pro uživatele snadné používat, takže uživatel nemusí přepínat každý přepínač na 0, aby jej vymazal.
  • Poslední obrázek je blokové schéma ovladače. Je poměrně široký, protože obsahuje součásti modulu a nemusí být zobrazen úplně.

Krok 5: Užijte si své stvoření

Zde propojené je rychlý timelapse zábavy, kterou si můžete užít s konečným projektem, dokonce i pomocí vstupů pomocí přepínačů a tlačítek na základní desce.

Děkuji za přečtení!

Doporučuje: