Съдържание:

Програма за рисуване VGA: 5 стъпки
Програма за рисуване VGA: 5 стъпки

Видео: Програма за рисуване VGA: 5 стъпки

Видео: Програма за рисуване VGA: 5 стъпки
Видео: Установка приложений на Android приставки и ТВ за 5 минут, самый простой и удобный способ! 2024, Юли
Anonim
Програма за рисуване VGA
Програма за рисуване VGA

Проект на: Адам Клайн, Иън Страчан, Брандън Слейтър

Проектът, който се стремяхме да завършим, беше да съхраняваме, анализираме и показваме информация от USB мишка под формата на програма за рисуване. Идеята зад проекта е да може да включи мишката и VGA кабелите в платката Basys във вградените й портове и мишката да се показва като подвижен квадрат за рисуване на монитора, променящ различни цветове, когато се натисне ляв и десен бутон използвани. По същество щяхме да създадем драйвер за използване на мишката с basys борда и да имаме монитора като наша проверка на функционалността. Това, което в крайна сметка се случи, беше създаването на програма за рисуване с basys board като система за въвеждане и полуфункционална система за улавяне на данни за мишката.

В тази инструкция ще разбием стъпките от въвеждане на мишката до vga изход.

Стъпка 1: Мотивация и проблем

Мотивация и проблем
Мотивация и проблем

Мотивация:

Основната мотивация за нашия проект беше да създадем драйвер за мишка за дъската Basys3, която бъдещите студенти от CPE 133 ще могат да използват за своите финални проекти в бъдеще. Ние обаче направихме тази идея още по -далеч, като създадохме програма за рисуване, такава, от която биха могли да се изграждат и бъдещите студенти.

Проблем:

Проблемът, който открихме, беше, че няма ясен модул на мишката, готов за изтегляне и използване за платката Basys3. За да разрешим този проблем, ние се опитахме сами да създадем такъв. По този начин се стремяхме да създадем модул за мишка, който да позволи на бъдещите студенти по -лесно да внедрят въвеждане на мишка в своите проекти.

Стъпка 2: Получаване на необработената битова информация от USB Basys

Получаване на необработена информация от USB на Basys
Получаване на необработена информация от USB на Basys
  • Голяма част от това, което направихме за мишката в този проект, идва от документацията на Basys3. От малкото ръководство за USB порта на Basys в този pdf, открихме, че платката Basys има вграден часовник за четене на битове с правилната скорост от USB устройства.
  • По същество мишката изпраща битове към usb, започвайки от състояние на празен ход, чете 32 бита, представляващи състоянието на мишките, позиция x и позиция y и накрая завършва с друг празен бит. За да направите това, компонентът за въвеждане на мишката използва регистър за смяна и 32 -битов брояч, където регистърът за смяна се използва за съхраняване на 32 бита входящи данни от мишката, а 32 -битовият брояч се използва за преброяване на броя на съхраняваните битове, позволяващи състоянието регистрирайте се, за да нулирате и съхраните следващия набор от 32 входящи бита.
  • Кодът за регистъра за смяна, 32 -битовия брояч и четеца на данни могат да се изтеглят по -долу, както и файлът с ограничения, адаптиран към използването на USB порта като вход

Стъпка 3: Разбор на USB информацията

Разбор на информацията за USB
Разбор на информацията за USB
Разбор на информацията за USB
Разбор на информацията за USB
  • След като създадохме въвеждане на мишката към usb компонент, следващата стъпка беше да се създадат usb битове към векторния информационен компонент, който ще направи данните, получени от мишката, четими за vga.
  • Този компонент използва машина за състояния, която приема набор от битове, изведени от въвеждането на мишката към usb и се движи през състоянията в зависимост от това дали са въведени нови битове, които променят състоянието и позицията на мишката.
  • Блоковата диаграма за първите две стъпки на проекта е показана тук, а двата vhdl файла са за тестване на изпълнението на мишката с помощта на светодиодите basys (тест, който за съжаление никога не е преминал) и за предаване на битовия поток от USB порт към скоростта и позицията на векторите, които VGA може да използва.
  • Изображението до блоковата диаграма по -горе е малка снимка (Instructables не ни позволява да покажем пълното широко изображение) на битовата информация, която намерихме в документацията на basys за завършване на тази стъпка.

Стъпка 4: Показване на боядисаното изображение през VGA и редактиране на рисуваното

Показване на рисуваното изображение през VGA и редактиране на рисуваното
Показване на рисуваното изображение през VGA и редактиране на рисуваното
Показване на рисуваното изображение през VGA и редактиране на рисуваното
Показване на рисуваното изображение през VGA и редактиране на рисуваното
Показване на рисуваното изображение през VGA и редактиране на рисуваното
Показване на рисуваното изображение през VGA и редактиране на рисуваното
  • VGA кабелът има 14 бита изход, 4 бита за всеки от трите цвята и малко за хоризонтална и вертикална синхронизация.
  • OtherVGA е предоставеният VGA модул и той функционира, както следва:

    • Мониторът е разделен на 40x30 блока с 16x16 пиксела за екран с разделителна способност 640x480, както се вижда на снимката по -горе. Модулът избира адрес на блок, който да представлява един от 1200 блока на монитора. Адресът на блока се избира чрез следното уравнение: адрес = 40y + x
    • Цветът е представен от 12 -битов сигнал, който корелира със стойност RRRRGGGGBBBB, която оцветява избрания блок.
  • Нашият контролен код, VGAtest и VGAtestconst, функционира, както следва:

    • Първо поставя избрания блок в центъра на монитора.
    • Цветът на блока се определя от 12 превключвателя на платката, задавайки стойността на RRRRGGGGBBBB.
    • Четирите бутони за насочване на дъската променят избрания адрес. Например, натискането на десния бутон ще добави 1 към адреса, като изберете блока отдясно на предишния блок. Натискането на бутона надолу ще добави 40 към адреса, като изберете блока под предния блок.
    • Централният бутон се използва за задаване на всички стойности на цвета на 0 при натискане. Това е предназначено да се държи като бутон за изтриване, който е лесен за използване от потребителя, така че потребителят не трябва да превключва всеки превключвател на 0, за да изтрие.
  • Последното изображение е блоковата диаграма на контролера. Той е доста широк, тъй като включва компоненти на модула и може да не се показва напълно.

Стъпка 5: Насладете се на вашето творение

Тук е свързан бърз интервал на забавлението, което можете да имате с окончателния проект, дори само с използването на превключвателите и бутоните на платката basys като вход.

Благодаря за четенето!

Препоръчано: