Witam!
Czytałem jusz pare dyskusji na forum odnośnie generowania sygnału SVGA.
Ale jak dotąd wszyscy opisywali samodzielne tworzenie chipów VGA za pomącą mikrokontrolerów.
Moje pytanie brzmi:
Czy ktoś z was natknął się na urządzenie w którym zainstalowano jakiegoś dedykowanego chip'a (S)VGA ???
- ale takiego prostego bez akceleratora 3D. Bo na pewno ktoś produkuje takie chip'y.
Kiedyś można by było użyć Tridenta 512, albo coś podobnego ale szukałem w internecie i nic nie znalazłem.
Zasadniczo potrzebuję prostego chip'a VGA który obsłuży 1024 x 768 x 16bit w dowolnej technologi (za wyjątkiem BGA i innych "beznóżkowych").
Z góry dziękuję
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięSVGA powtórka :)
Moderatorzy:Jacek Bogusz, Moderatorzy
Myślę, że nie znajdziesz już nic nóżkowego, który potrafił by wygenerować obraz aż o rozdzielczości 1024x768 w 16 bitowej palecie. Cały sprzęt jest dedykowany pod platformę PC. Musiałbyś poszukać jakiejś starej karty VGA i z niej wylutować kontroler, praktycznie sam DAC, bo główny procesor zajmował się całą generacją obrazu. Prawie cały proces tworzenia obrazu przeszedł całkowicie na kartę graficzną dopiero po pojawieniu się GeForce'a, oczywiście to pojawiło się wcześniej, ale nie było dla PC'ta.
Też myślę, że przy pomocy prostego kontroler'a 8 bitowego jest to nieosiągalne. Trzeba użyć coś 16bitowe, przynajmniej. Najlepiej 32 bitowy kontroler, potrafi zaadresować przynajmniej kilkanaście mega RAM'u oraz ma FPU, pomocny przy wykonywaniu różnych operacji bardziej złożonych.
Też myślę, że przy pomocy prostego kontroler'a 8 bitowego jest to nieosiągalne. Trzeba użyć coś 16bitowe, przynajmniej. Najlepiej 32 bitowy kontroler, potrafi zaadresować przynajmniej kilkanaście mega RAM'u oraz ma FPU, pomocny przy wykonywaniu różnych operacji bardziej złożonych.
Powiedzmy, że napisanie softu to pestka. Tylko czy moje obliczenia są prawidłowe:
1024 * 768 = 786 432 punkty
taką ilość punktów trzeba wyświetlić 85 razy na sek (85Hz)
czyli
786432 * 85 = 200540160 operacji zapisu / sek
to oznaczałoby że mikrokontroler powinien przacować z jeszcze wyższą prędkością
to jest częstotliwość > 200 MHz - od niedawna szyny i pamięci obsługują takie czasy, no i jeszcze fakt że PCI ma 33 MHz, a na kartach PCI typu Trident były obsługiwane takie formaty sygnału.
Stąd mój wniosek że robie błąd gdzieś w założeniach, ale gdzie ?
1024 * 768 = 786 432 punkty
taką ilość punktów trzeba wyświetlić 85 razy na sek (85Hz)
czyli
786432 * 85 = 200540160 operacji zapisu / sek
to oznaczałoby że mikrokontroler powinien przacować z jeszcze wyższą prędkością
to jest częstotliwość > 200 MHz - od niedawna szyny i pamięci obsługują takie czasy, no i jeszcze fakt że PCI ma 33 MHz, a na kartach PCI typu Trident były obsługiwane takie formaty sygnału.
Stąd mój wniosek że robie błąd gdzieś w założeniach, ale gdzie ?
Dlaczego?
Obliczenia się zgadzają, pod warunkiem, że 85 razy na sekundę jest wyświetlane co innego. No to wtedy potrzeba pasma 200MHz. A i Trident nie zapewniał, aż takiej szybkości odświeżania dla tej rozdzielczości, nawet chyba nie było 60Hz, coś koło 55Hz.
A jeżeli mają być wyświetlane statyczne obrazy, to wystarczy wyświetlać to samo przez co najmniej kilka sekund, a pożniej zmieni się tylko jakiś szczegół.
Trident miał zegar oscylujący przy wartości 150MHz, dopalanym PLL'em, co mu starczało tylko na prościutką grafikę 2D jeszcze przy pomocy głównego procesora 486DX, czy pierwszych pentium. O 3D można było sobie tylko pomażyć. To marzenie spełnił 3dfx, tylko potrzebował minimum 250MHz i to dla kilku procków chodzących równolegle.
Powracając do rzeczywistości, dla twoich wymagań potrzebny był by jakiś procesor 32 bitowy procesor chodzący z zegarem 100MHz, bo jeżeli miał sam generować obraz coś analogicznie do sterownika LCD HD44780, to obawiam się, że to by również nie wystarczyło. Potrzebne by było coś jeszcze szybszego, wydaje się, że na wzór GeForce'a czy Radeon'a.
Obliczenia się zgadzają, pod warunkiem, że 85 razy na sekundę jest wyświetlane co innego. No to wtedy potrzeba pasma 200MHz. A i Trident nie zapewniał, aż takiej szybkości odświeżania dla tej rozdzielczości, nawet chyba nie było 60Hz, coś koło 55Hz.
A jeżeli mają być wyświetlane statyczne obrazy, to wystarczy wyświetlać to samo przez co najmniej kilka sekund, a pożniej zmieni się tylko jakiś szczegół.
No tak, ale wtedy już pojawiło się AGP, którym można przesłać dane minimum 264MB/s. Należy również dodać, że programy ówczesne, które potrzebowały cały ekran, nie wczytywały się natychmiast, tylko komputer najpierw "mielił" dyskiem przez pół godziny, aby wczytać do pamięci jakiś kawałek grafiki (aby póżniej to przerobić minium miliard razy). I wczytać następny kawałek grafiki, wtedy gdy nie dało się już w żaden sposób zmodyfikować poprzedniego kawałka, aby był podobny do następnego. No i tak w kółko się działo. Póżniej, jak wychodziło się z programu, to komputer przez następne pół godziny niszczył dysk, aby wczytać obraz pulpitu.to jest częstotliwość > 200 MHz - od niedawna szyny i pamięci obsługują takie czasy, no i jeszcze fakt że PCI ma 33 MHz, a na kartach PCI typu Trident były obsługiwane takie formaty sygnału.
Trident miał zegar oscylujący przy wartości 150MHz, dopalanym PLL'em, co mu starczało tylko na prościutką grafikę 2D jeszcze przy pomocy głównego procesora 486DX, czy pierwszych pentium. O 3D można było sobie tylko pomażyć. To marzenie spełnił 3dfx, tylko potrzebował minimum 250MHz i to dla kilku procków chodzących równolegle.
Powracając do rzeczywistości, dla twoich wymagań potrzebny był by jakiś procesor 32 bitowy procesor chodzący z zegarem 100MHz, bo jeżeli miał sam generować obraz coś analogicznie do sterownika LCD HD44780, to obawiam się, że to by również nie wystarczyło. Potrzebne by było coś jeszcze szybszego, wydaje się, że na wzór GeForce'a czy Radeon'a.
No to chyba już wiem że samemu nie ma się co bawić w robienie k. graficznej, bo to co mi się uda zrobić i tak będzie dalekie od tego co chciałem uzyskać. Pytanie czy kontrola gotowej k.graficznej jest bardzo trudna ? Macie jakieś informacje na ten temat - gdzie można je znaleźć ?
P.S.
Wiem że mógłbym użyć kompa przemysłowego, ale to tesz nie jest rozwiązanie - są droższe niż zwykłe, a i tak bym musiał je przerabiać
P.S.
Wiem że mógłbym użyć kompa przemysłowego, ale to tesz nie jest rozwiązanie - są droższe niż zwykłe, a i tak bym musiał je przerabiać
Karta na AGP to też jest rozwiązanie - tyle że kosztowne .
Mam jeszcze jedną koncepcję, ale brakuje mi informacji -
w urządzeniach tylu DVD w jakiś sposób tworzą obraz do OSD - nie jest to może rozdzielczość 1024 x 768, ale jest bliska 800 x 600 - a z tym, byłbym skłonny się pogodzić.
To samo dotyczy telewizorów ( tam co prawda generowany jest obraz w nieco innym standardzie RGB, ale wciąż RGB ). Ale niestety nie mam pojęcia na jkim chip'ie oni to robią i w jaki sposób.
Tak czy siak dziękuję za sugestje.
P.S. Jeżeli ktoś chciałby wytwarzać obraz SVHS, to znalazłem sterownik LCD, który dodatkowo generuje taki sygnał (PAL i/lub NTSC).
Mam jeszcze jedną koncepcję, ale brakuje mi informacji -
w urządzeniach tylu DVD w jakiś sposób tworzą obraz do OSD - nie jest to może rozdzielczość 1024 x 768, ale jest bliska 800 x 600 - a z tym, byłbym skłonny się pogodzić.
To samo dotyczy telewizorów ( tam co prawda generowany jest obraz w nieco innym standardzie RGB, ale wciąż RGB ). Ale niestety nie mam pojęcia na jkim chip'ie oni to robią i w jaki sposób.
Tak czy siak dziękuję za sugestje.
P.S. Jeżeli ktoś chciałby wytwarzać obraz SVHS, to znalazłem sterownik LCD, który dodatkowo generuje taki sygnał (PAL i/lub NTSC).
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 14 gości