Daftar Isi:

Program Pengecatan VGA: 5 Langkah
Program Pengecatan VGA: 5 Langkah

Video: Program Pengecatan VGA: 5 Langkah

Video: Program Pengecatan VGA: 5 Langkah
Video: Возведение перегородок санузла из блоков. Все этапы. #4 2024, Juli
Anonim
Program Pengecatan VGA
Program Pengecatan VGA

Proyek oleh: Adam Klein, Ian Strachan, Brandon Slater

Proyek yang ingin kami selesaikan adalah menyimpan, mengurai, dan menampilkan informasi dari mouse USB dalam bentuk program pengecatan. Ide di balik proyek ini adalah untuk dapat menyambungkan mouse dan kabel VGA ke papan Basys di port bawaannya, dan menampilkan mouse sebagai kotak lukisan yang dapat dipindahkan di monitor, mengubah warna berbeda saat klik kiri dan kanan dilakukan. digunakan. Intinya, kami akan membuat driver untuk menggunakan mouse dengan papan basys, dan menjadikan monitor sebagai verifikasi fungsionalitas kami. Apa yang akhirnya benar-benar terjadi adalah pembuatan program menggambar dengan papan bas sebagai sistem input, dan sistem penangkap data semi-fungsional untuk mouse.

Dalam instruksi ini, kami akan memecah langkah-langkah dari input mouse ke output vga.

Langkah 1: Motivasi dan Masalah

Motivasi dan Masalah
Motivasi dan Masalah

Motivasi:

Motivasi utama untuk proyek kami adalah untuk membuat driver mouse untuk papan Basys3 yang dapat digunakan oleh siswa CPE 133 di masa depan untuk proyek akhir mereka di masa mendatang. Namun, kami mengambil ide ini selangkah lebih maju dengan membuat program melukis, yang juga dapat dikembangkan oleh siswa masa depan.

Masalah:

Masalah yang kami temukan adalah tidak ada modul mouse bening yang siap diunduh dan digunakan untuk papan Basys3. Untuk mengatasi masalah ini, kami mencoba membuatnya sendiri. Dengan melakukan itu, kami berusaha untuk membuat modul mouse yang memungkinkan siswa masa depan untuk lebih mudah menerapkan input mouse dalam proyek mereka.

Langkah 2: Mendapatkan Informasi Bit Mentah Dari Basys USB

Mendapatkan Informasi Bit Mentah Dari Basys USB
Mendapatkan Informasi Bit Mentah Dari Basys USB
  • Banyak dari apa yang kami lakukan untuk mouse dalam proyek ini berasal dari dokumentasi Basys3. Dari panduan kecil tentang port USB Basys di pdf itu, kami menemukan bahwa papan Basys memiliki jam bawaan untuk membaca bit dengan kecepatan yang tepat dari perangkat USB.
  • Pada dasarnya, mouse mengirimkan bit ke usb mulai dari keadaan idle, membaca 32 bit yang mewakili status mouse, posisi x, dan posisi y, dan akhirnya diakhiri dengan bit idle lainnya. Untuk melakukan ini, komponen input mouse menggunakan register geser dan penghitung 32 bit di mana register geser digunakan untuk menyimpan 32 bit data yang masuk dari mouse dan penghitung 32 bit digunakan untuk menghitung jumlah bit yang disimpan memungkinkan keadaan mendaftar untuk mengatur ulang dan menyimpan set berikutnya dari 32 bit yang masuk.
  • Kode untuk register geser, penghitung 32 bit, dan pembaca data dapat diunduh di bawah ini, serta file kendala yang disesuaikan dengan penggunaan port USB sebagai input.

Langkah 3: Parsing Informasi Usb

Mengurai Informasi Usb
Mengurai Informasi Usb
Mengurai Informasi Usb
Mengurai Informasi Usb
  • Setelah membuat input mouse ke komponen usb, langkah selanjutnya adalah membuat komponen informasi bit-bit usb ke vektor yang akan membuat data yang diterima oleh mouse dapat dibaca oleh vga.
  • Komponen ini menggunakan mesin status yang mengambil set bit yang dikeluarkan oleh input mouse ke usb dan bergerak melalui status berdasarkan apakah bit baru yang mengubah status dan posisi mouse dimasukkan.
  • Diagram blok untuk dua langkah pertama proyek ditampilkan di sini, dan dua file vhdl adalah untuk menguji implementasi mouse menggunakan LED basys (tes yang sayangnya tidak pernah lulus) dan untuk mentransmisikan aliran bit dari USB port untuk mempercepat dan memposisikan vektor yang dapat digunakan VGA.
  • Gambar di sebelah diagram blok di atas adalah snapshot kecil (Instructables tidak memungkinkan kami untuk menampilkan gambar lebar penuh) dari informasi bit yang kami temukan di dokumentasi basys untuk menyelesaikan langkah ini.

Langkah 4: Menampilkan Gambar yang Dilukis Melalui VGA dan Mengedit Apa yang Digambar

Menampilkan Gambar yang Dilukis Melalui VGA dan Mengedit Apa yang Digambar
Menampilkan Gambar yang Dilukis Melalui VGA dan Mengedit Apa yang Digambar
Menampilkan Gambar yang Dilukis Melalui VGA dan Mengedit Apa yang Digambar
Menampilkan Gambar yang Dilukis Melalui VGA dan Mengedit Apa yang Digambar
Menampilkan Gambar yang Dilukis Melalui VGA dan Mengedit Apa yang Digambar
Menampilkan Gambar yang Dilukis Melalui VGA dan Mengedit Apa yang Digambar
  • Kabel VGA memiliki output 14 bit, 4 bit untuk masing-masing dari tiga warna dan sedikit untuk sinkronisasi horizontal dan sinkronisasi vertikal.
  • OtherVGA adalah modul VGA yang disediakan dan berfungsi sebagai berikut:

    • Monitor dipecah menjadi 40x30 blok 16x16 piksel untuk layar resolusi 640x480 seperti yang terlihat pada gambar di atas. Modul memilih alamat blok untuk mewakili salah satu dari 1200 blok pada monitor. Alamat blok dipilih melalui persamaan berikut: alamat = 40y + x
    • Warna diwakili oleh sinyal 12 bit yang berkorelasi dengan nilai RRRRGGGGBBBB yang mewarnai blok yang dipilih.
  • Kode kontrol kami, VGAtest dan VGAtestconst, berfungsi sebagai berikut:

    • Ini pertama-tama mengatur blok yang dipilih ke tengah monitor.
    • Warna blok ditentukan oleh 12 sakelar di papan, mengatur nilai RRRRGGGGBBBB.
    • Empat tombol arah di papan mengubah alamat yang dipilih. Misalnya, menekan tombol kanan akan menambahkan 1 ke alamat, memilih satu blok di sebelah kanan blok sebelumnya. Menekan tombol bawah akan menambahkan 40 ke alamat, memilih satu blok di bawah blok sebelumnya.
    • Tombol tengah digunakan untuk mengatur semua nilai warna ke 0 saat ditekan. Ini dimaksudkan untuk berperilaku sebagai tombol hapus yang mudah digunakan oleh pengguna, sehingga pengguna tidak perlu membalik setiap sakelar ke 0 untuk menghapus.
  • Gambar terakhir adalah diagram blok untuk pengontrol. Ini cukup lebar karena mencakup komponen modul dan mungkin tidak ditampilkan sepenuhnya.

Langkah 5: Nikmati Kreasi Anda

Tertaut di sini adalah timelapse cepat dari kesenangan yang dapat Anda miliki dengan proyek akhir, bahkan hanya dengan menggunakan sakelar dan tombol pada papan bass sebagai input.

Terima kasih sudah membaca!

Direkomendasikan: