Chcesz to zrobic bardzo dobrze, czy byle jak, byle dzialalo ?
Jak bedziesz probkowal 2-3 razy szybciej, to efekt na ekranie bedzie IMO niezly, a czasu na przetwarzanie nadal 3-4 razy wiecej. Jak bedziesz probkowal nieco szybciej, np 17MHz, to niektore piksele/linie pionowe sie pogrubia - i z tym mozna zyc. Gorzej, ze moga byc poszarpane ... z tym tez mozna zyc. Choc w szczegolnym przypadku moga chyba cos zgubic, wiec chyba lepiej z 1.5x raza szybciej.
Jesli ma byc lepiej, to trzeba PLL, i to ambitniejsze, bo trzeba sie zsychronizowac ze zmiennym sygnalem.
Oprocz tego PLL i automatycznego rozpoznawania ilosci cykli na linie miewaja ustawienia w menu pozwalajace skorygowac czestotliwosc/podzial i faze. Szczesliwie - oscylator w MDA jest jeden i w miare stabilny, trzeba tylko jakos do niego dostroic, a mamy na to multum czasu i cykli, bo wszak jak monitor przez sekunde bedzie czarny, to klient nawet sie nie zdazy oburzyc :-)
Sprytnie! Tylko gdzie ja znajdę oscylator na wielokrotność 16.257 MHz ?
Niestety, pan Heniu faktycznie nie dopuści. Taki dostał prikaz.
Dość długo zajęło mi znalezienie odpowiednich zaklęć by wyszukiwarka zrozumiała czego szukam - najwyraźniej chodzi o "graphic digitizer". Znalazłem dwa takie cuda u TI:
formatting link
Oczywiście żaden z datasheetów nie mówi wprost o kompatybilności z MDA, HGC, czy czymkolwiek czego mógłbym się chwycić, ale oba podają interesujące zakresy pixel clock.. Szczególnie tvp70025i:
"9-MHz to 90-MHz Pixel Clock Generation From HSYNC Input"
Na ibeju widzę można dostać taki magiczny chip za bardzo rozsądne pieniądze (ok. 10 Eur włącznie z przesyłką). Inna sprawa że uruchomienie tego wygląda przerażająco: musiałbym dodać MCU który zaprogramuje przy starcie rejestry tego TVP za pomocą I²C, nie wspominając o tym że samo polutowanie takiego 100-pinowego SMD może być dla mnie nie lada wyzwaniem :)
Sprytne i przebiegłe. W pecetologii stosowanej już na etapie i486 opanowano technikę mnożenia częstotliwości -- zewnętrzny zegar procesora ma ileś megaherców, a w środku wszystko mnożone jest N razy. Ponadto ludzkość dorobiła się metod syntezy częstotkiwości. Ot, biorąc choćby radiowy odbiornik FM kupiony za kilkanaście złotych, można zeń wydłubać częstotliwość przestrajaną w zakresie
98,7-118,7 MHz. Nawet miernika nie potrzeba, bo radio pokazuje cyferki na wyświetlaczu. A że wyjdzie dzielenie przez 7? Może głupio wygląda, ale liczba jak każda inna.
Wiem. Nawet koperta na parapecie niczego nie zmieni. Służbista.
Nawet by mi do głowy nie przyszło, aby robić wszystko od zera. Raczej o wzięcie gotowego monitora, zajrzenie co on tam wew środku ma, i ocenę na podstawie dejtaszitów, czy by jakoś tego nie udało się dostosować do potrzeb. Byle nie trafić na jakiś mocno zabytkowy monitor, bo pan Heniu...
Użytkownik "RoMan Mandziejewicz" snipped-for-privacy@pik-net.pl.invalid> napisał w wiadomości news: snipped-for-privacy@pik-net.pl.invalid...
Problem jakiś? Y też miała 350, a to, że X zamiast 720 będzie 640, raczej zbytnio częstotliwości odchylania chyba nie zmieni (chyba, że obie naraz...)? Po prostu kropki rzadziej będą... Wykorzystałem takie "zjawisko" w zwykłym 15-calaku VGA kinolowym monitorze, który ma Y 1024... Dał się popędzić z Y 1080 (ale z 1200 już nie) i nawet zbytnio nie płakał, a zagęszczenia kropek z 1280 do 1920 nawet nie zauważył. Tylko obraz był taki anamorficzny, ale to szczegół, przeżyję. Pamiętam, że do kontroli zegarynki miałem w pracy starego 386, z kartą i monitorem EGA. Którą dało się popędzić jako Hercules. Nawet karta i monitor wydawały się być zadowolone z tego trybu, jedynie co, to ciut panoramicznie to wyświetlały. Ale absolutnie stabilnie i wyraźnie.
Czytając datasheet TVP7002, i starając się zrozumieć jak mądrzy ludzie z teksasu zdołali wymyślić taką magię, natknąłem się na zdanie:
"(...) contains a complete horizontal phase-locked loop (PLL) block to generate a pixel clock from the HSYNC input."
Po kilkudziesięciu ślepych poszukiwaniach w czeluściach internetu doszedłem do tego że istnieją sprytne chipy o nazwie "PLL Clock Multiplier".
Z tego co rozumiem, dysponując takim wynalazkiem byłbym w stanie podłączyć mu HSYNC na wejście, ustawić mnożnik x882, i na wyjściu otrzymałbym kopię zegara na karcie MDA (16.257 MHz lub 16 MHz), i to bez potrzeby użycia swojego własnego kwarcu. Co więcej, zegar ten byłby w fazie z tym po drugiej stronie (PLL), dzięki czemu odchodzą wszelakie kombinacje z łapaniem wielokrotnie częstszych sampli i zgadywanie co jest czym.
"Jedyny" znaleźć taki PLL Clock Multiplier z ustawialnym mnożnikiem :) (do tej pory widziałem tylko takie z wybieranym mnożnikiem spośród narzuconych kilku, a do tego z minimalnym f na wejściu rzędu kilku MHz..).
Jak się bawić, to na całego. Można sobie taki mnożyciel PLL zmajstrować na piechotę. Przestrajany napięciowo generator zgrubnie nastawiony na około 16,25 MHz, dzielnik częstotliwości przez 882 (czyli 7, 7, 3, 3, 2), detektor fazy spięty z HSYNC -- i z niego napięcie abarot do strojenia.
Niepewność jest najbardziej pożądanym elementem takich zabaw!
Potrzebne jest jeszcze dostrojenie przesunięcia, by trafiać we właściwe miejsce piksela.
Ich na pewno nie ma -- i stąd potrzeba zabawy. Oczywiście w czasie testów przydatne będzie zapełnienie strony znakiem, który jest szachownicą pikseli. Jest taki w zestawie IBM.
To jest za słaby procek, jedyne programowe rozwiązanie to atxmega, tu:
formatting link
masz prosty kurs i płytkę prototypową, rejestr przesuwny 74act164 lub
74AHC595, podpinasz do niego zegar z procka a na dane wej wideo, wyjścia łączysz na port w xmedze, włączasz w niej DMA które sczytuje port i przesyła bajty do RAM, mozesz podłączyć zewnętrzną ale nie wiem czy pinów starczy lub korzystać z wew. Jako że procek czeka to możejuż wstępnie dane obrabiać a kończyć wtedy gdy jest odchylanie pionowe. Atxmega ma nominalną F 32M ale można ją podkręcić do nawet 64M tylko trzeba jej przykleić radiator.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.