Mały test VGA dla rozdzielczości 800x600@60Hz
Obsługa VGA jest prosta, jedyną rzeczą jaką trzeba zrobić, to prawidłowo wygenerować sygnały synchronizacji HSYNC oraz VSYNC. Jak powinny one wyglądać, jakie powinny mieć czasy, te wszystkie informacje są ładnie opisane na stronie eewiki.net pod linkiem: https://eewiki.net/pages/viewpage.actio ... d=15925278
Ja wybrałem 800x600@60Hz, praktycznie większość monitorów będzie w stanie wyświetlić prawidłowo obraz, wymaga zegara 40MHz w związku z tym łatwo jest skonfigurować wewnętrzny generator PLL na taką częstotliwość.
Obecny projekt jest tylko testem, aby praktycznie wykorzystać monitor VGA trzeba go przerobić. Są dwie możliwości, pierwsza to utworzyć pamięć - bufor obrazu i wyświetlać na monitorze każdy piksel z pamięci, każda zmiana w tej pamięci będzie widoczna na monitorze. Druga możliwość to wyświetlanie znaków takich jak litery i cyfry, bezpośrednio z generatora znaków. W tym przypadku dane do wyświetlenia będą w formie tekstowej.
[FPGA] MAXimator, test VGA 800x600@60Hz
[FPGA] MAXimator, test VGA 800x600@60Hz
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Gott weiß ich will kein Engel sein.
Re: [FPGA] MAXimator, test VGA 800x600@60Hz
Przede wszystkim muszę powiedzieć, że bardzo podoba mi się ten projekt. Po drugie (zanim napiszę coś od siebie) pragnę nadmienić, że nie posiadam MAXimator'a (jeszcze nie).
Problem wyświetlania na ekranie korzystając z jednego bufora pamięci jest mi natomiast znany i z tego co pamiętam np. w OpenGL radzono sobie z tym używając podwójnego buforowania. No i teraz nie wiem (tylko przypuszczam) jak technicznie można by tą sprawę rozwiązać, tzn. zastosować bufor pamięci ekranu o wielkości pamięci 2x pamięć potrzebna do jednoczesnego wyświetlenia obrazu VGA. Innymi słowy (w oparciu o dokumentację z eewiki) w bloku "Programable Logic Device", po "Image Source" powinien być bufor pamięci 2x bufor pamięci obrazu VGA umożliwiający sekwencyjny odczyt z pamięci poprzez przełączanie między bankami pamięci w takt sygnału zegarowego odświeżania ekranu.
Nie wiem czy to dobrze kombinuję ale jakoś tak bym to próbował zrobić.
Pozdrawiam! Jarek
Problem wyświetlania na ekranie korzystając z jednego bufora pamięci jest mi natomiast znany i z tego co pamiętam np. w OpenGL radzono sobie z tym używając podwójnego buforowania. No i teraz nie wiem (tylko przypuszczam) jak technicznie można by tą sprawę rozwiązać, tzn. zastosować bufor pamięci ekranu o wielkości pamięci 2x pamięć potrzebna do jednoczesnego wyświetlenia obrazu VGA. Innymi słowy (w oparciu o dokumentację z eewiki) w bloku "Programable Logic Device", po "Image Source" powinien być bufor pamięci 2x bufor pamięci obrazu VGA umożliwiający sekwencyjny odczyt z pamięci poprzez przełączanie między bankami pamięci w takt sygnału zegarowego odświeżania ekranu.
Nie wiem czy to dobrze kombinuję ale jakoś tak bym to próbował zrobić.
Pozdrawiam! Jarek
Internet łączy ludzi, którzy dzielą się swoimi zainteresowaniami, pomysłami i potrzebami, bez względu na geograficzne (przeciwności).
BOB TAYLOR, PARC
BOB TAYLOR, PARC
Re: [FPGA] MAXimator, test VGA 800x600@60Hz
Przewertowałem większą połowę roczników EP szukając inspiracji, drogi na skróty itp.
Oto jedna z perełek VGA44780
Jest tego jeszcze trochę do przerobienia. Niema co czekać na kolejne odcinki kursu do roboty!
Oto jedna z perełek VGA44780
Jest tego jeszcze trochę do przerobienia. Niema co czekać na kolejne odcinki kursu do roboty!
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości