Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Projekt kontrollera DMD2VGA
#1
Witam,

Nastał nowy rok więc przyszła pora na przedstawienie nowego projektu.
Jak większość moich projektów i tym razem związany z flipperami Williamsa (WPC).
Projekt zainspirowany przez Mezika z Krakowskiego Muzeum Flipperów.

Założenia projektu:
- możliwość zastąpienie wyświetlacza DMD przez dowolny monitor LCD z portem VGA
- możliwość pracy równoległej, tzn DMD + monitor LCD
- łatwość podłączenia i obsługi
- cenna niższa niż inne rozwiązania dostępne na rynku (używane monitory LCD można kupić za grosze)

Specyfikacja techniczna sterownika:
- tryby VGA 800x600, 1024x768, 1152x864
- wielkość znaku/kropki  6x6,7x7,8x8,9x9 punktów
- paleta kolorów 16-bitowa w standardzie RGB 565
- predefiniowane 16 palet
- definiowane 5 kolorów dla każdej palety, odpowiadają one 100%,90%,75%,0% jasności DMD, piąty kolor to możliwość zmiany tła
- definiowane położenie na ekranie (w poziomie, pionie i do góry nogami)
- wszystkie parametry są dostępne dla końcowego użytkownika

Sterownik został zbudowany w oparciu od układ programowalny FPGA (moduł Tang Nano 1k) i mikrokontroller Attiny (służy tylko do konfiguracji modułu).
Program dla układu FPGA został napisany w VHDLu.
Aktualnie sterownik jest podłączany do modułu DMD we flipperze ale mam w planach nową wersję która będzie podłączana bezpośrednio do płytki CPU.
Kontroller DMD nie będzie potrzebny.

Na zdjęciach pierwszy działający prototyp i ekrany po podłączeniu do flippera "No Fear".
Krótki filmik z pracy układu dostępny tutaj:
https://drive.google.com/file/d/1Eyk1Wii...sp=sharing

Pozdrawiam
JarekC


Załączone pliki Miniatury
                   
Odpowiedz
#2
Grubsza sprawa. Zapowiada się ciekawie - zasiadam na widowni w pierwszym rzędzie.
I'm not totally useless. I can be used as a bad example.
Odpowiedz
#3
Dzisiaj odbyły się testy w Krakowskim Muzeum Flipperów, układ zadziałał bez problemów,
chociaż pojawiło się kilka uwag technicznych i potrzebne będą małe poprawki.
- dostępne rozdzielczości dotyczą formatu 4:3 a Mezik stosuje monitory 16:9 więc muszę dodać takie opcje
- projektując układ wybierałem tryby o wysokiej częstotliwości odświeżania 70,72,85Hz a okazało się że niektóre stare monitory obsługują tylko 60 Hz
Odpowiedz
#4
Trzymam kciuki za końcowy rezultat.
Odpowiedz
#5
Wygląda bardzo ciekawie.
Pytanie jak z kolorem? Czy monitor będzie wyświetlał tylko w kolorze, w jakim wyświetla DMD, czyli mono dla jednokolorowych i w kolorze, dla kolorowych?
Jak ze skalowaniem obrazu monitora? Czy będzie wyświetlał tylko na całym ekranie, jak widać na filmie?
Lord of The Rings, Sinbad, The Avengers, Pinball Champ '82, Capt. Fantastic, Mata Hari, Grand Lizard, RoGo, Game of Thrones PM
Odpowiedz
#6
Aktualnie kontroller przeznaczony jest tylko do maszyn Willimsa WPC, oznacza to że emulujemy 4 podstawowe kolory DMD odpowiadające 100% jasności , 90%, 75% i 0%.
Wybieramy/definiujemy własną paletę 4 kolorów mogą one być odcieniami tego samego koloru lub zupełnie różnymi.
Kolorowanie następuje automatycznie.
Polega to na tym że każdy obraz na DMD składa się z trzech kolejnych podobrazów. Jeżeli punkt się świeci na wszystkich trzech to odpowiada to 100%, jeżeli występuje na dwóch to 90% i jeżeli na jednym to 75%. Kontroler na bieżąco analizuje obraz i odpowiednio wyświetla jeden z 4 wybranych kolorów.

Nie ma typowego płynnego skalowania obrazu polegającego na zmianie częstotliwości zegara.
Dopasowanie wielkości polega na:
1. wyborze wielkości kropki (punktu DMD), określamy z ilu pixli LCD składa się jedna kropka
2. wyborze wykorzystywanej rozdzielczości ekranu.

Np gdy wybierzemy rozdzielczość 1152x768 i wielkość kropki 9x9 pixli to obraz będzie wypełniał całą szerokość ekranu,
lecz gdy zmienimy np na 8x8 pixli to nie będzie wypełniona już cała szerokość ekranu, pozostaną puste boczne marginesy.
Wtedy zmianą parametru H-position możemy go przesuwać w poziomie.

Jak pisałem wcześniej dołożyłem rozdzielczość 1368x768 dla monitorów 16:9.
W przypadku monitorów 15,6cala które stosuje Mezik pełna szerokość ekranu odpowiada idealnie rozmiarom oryginalnego DMD.

Płynnego skalowania w pewnym zakresie można dokonać przy pomocy menu samego monitora.
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości