Jak coś wyświetlić na monitorze?

Nie chodzi mi o sposób programowy tylko sprzętowy. Załóżmy że mam monitor (fixed freq. i nie fix. freq.) i chce na nim coś wyświetlić: jak mam podawać sygnały synchronizacji, jakie mają być poziomy napięć?

Reply to
Maksymilian Dutka
Loading thread data ...

Użytkownik "Maksymilian Dutka" snipped-for-privacy@usuntopoczta.onet.pl> napisał w wiadomości news:c9ffbj$odh$ snipped-for-privacy@nemesis.news.tpi.pl...

Witam Jaki dokładnie to monitor ? Taki do PC-ta ? VGA, TTL (Hercules, CGA, EGA) ? czy jeszcze coś innego ? Jeśli PC-towski VGA to sygnały synchro H i V mają poziomy TTL, a wejścia RGB są analogowe o poziomie od 0V do 1,4V (o ile mnie pamięć nie myli).

Reply to
Grzegorz Kurczyk

aaaa i jeszcze napisz co masz na myśli pod pojęciem "coś wyświetlić" ???

Reply to
Grzegorz Kurczyk

Użytkownik Maksymilian Dutka napisał:

zobacz na oscyloskopie co wychodzi z karty VGA

Reply to
Senicz

Mon, 31 May 2004 16:24:00 +0200, na pl.misc.elektronika, Maksymilian Dutka napisał(a):

Gdzieś w zapasach znalazłem pdf-a z opisem sygnału i generatorem VGA / ABEL i VHDL. Chcesz ?

Reply to
Jurek Szczesiul

Użytkownik Jurek Szczesiul napisał:

Tak :)

Reply to
Maksymilian Dutka

Użytkownik Grzegorz Kurczyk napisał:

Jest to monitor od starego Mac-a, ale bardziej ogólnie chciał bym się dowiedzieć jak coś wyświetlic na dowolnym monitorze. To coś do wyświetlenia to: chce zrobić cos w rodzaju komputerka edukacujnego na

8051 który bedzie można podłączyć do monitora/tv(scart), jest pewnien problem z pamięcią dwu-portową (jak coś takiego zrobić z ogólnie dostępnych cześci, ew. spróbuje wykożystać tą od kart graf. S3 Trio), może by się udało wsadzić jakiś mikrokontroler który by generował obraz i obeszło by sie bez pamięci 2-portowej.
Reply to
Maksymilian Dutka

jesli mozna ja tez bym poprosil tego PDF-a :) snipped-for-privacy@interia.pl

Reply to
non

Użytkownik "Maksymilian Dutka" snipped-for-privacy@usuntopoczta.onet.pl> napisał w wiadomości news:c9fph9$ki3$ snipped-for-privacy@atlantis.news.tpi.pl...

Witam To jakich podzespoły będziesz musiał zastosować zależy od tego jakiej jakości obraz chcesz uzyskać. Pamięci dwuportowe stosuje się w wysokowydajnych kartach graficznych dużej rozdzielczości. Stare poczciwe komputerki Spectrum, Atari czy Commodore z pewnością nie miały pamięci dwuportowych tylko zwykłe DRAM-y, które były współdzielone z CPU. Również PC-towskie karty Hercules, CGA, EGA i VGA pracowały na zwykłych DRAM-ach typu 4116, 4416, 4164, 4464 lub 44256. Możesz zastanowić się nad podpięciem jakiejś w/w karty graficznej do mikrokontrolera (podłączyłem kiedyś kartę Hercules do Atari 800XL). Ewentualnie (i to jest chyba najprostrza metoda) możesz podpiąć układ popularnego dekodera telegazety np. SAA5243 + pamięć SRAM 8KB np 6164.

Reply to
Grzegorz Kurczyk

Użytkownik Grzegorz Kurczyk napisał:

SAA5243 odpada ze względu na cene (ma być jak najmniejszym kosztem), co do zwykłej pamięci to mam obawy czy prosty (wolny) mikrokontroler będzie w stanie się "wyrobić", chodź skoro widziałem projekt gry tetris zrobionej na PIC16C84+kwarc 12MHz to może uda się zrobić coś sensownego.

Reply to
Maksymilian Dutka

Nie wiem ile ta kostka kosztuje - ale raczej nie jest droga, i watpie zebys zrobil to taniej innymi sposobami. A jest dobra i prosta - z tym ze moze jakas nowsza bedzie tansza.

Chyba nie rozumiesz. Wiekszosc prockow bedzie miala problem sie wyrobic - linia TV ma 64 us, 50us na czesc widoczna na ekranie, w monitorach VGA dwa razy mniej, a w lepszych jeszcze mniej - czyli dochodzimy do 10us. Gdyby uC mial podawac dane bezposrednio na monitor, to by sie chyba jednak zarznal, choc jak widac 50 pixeli w poziomie jest w granicach mozliwosci, wiec tetris moze zadzialac.

Dlatego zazwyczaj dane z pamieci pobiera specjalny uklad adresujacy. Jesli do tego dodasz jakis rejestr przesuwajacy, tak ze pobierasz

1 bajt co 1us, a wypuszczasz 8bitow - to juz dochodzimy do rozdzielczosci 400.

Pozostaje problem jak uC ma wpisywac dane do tej pamieci, skoro jest ona ciagle zajeta przez uklad wyswietlajacy. I tu stosuje sie:

- pamieci dwuportowe - raczej rzadko, bo drogie.

- pamieci VRAM - ciekawe, ale jw

- dostep w czasie powrotow - TV nie zawsze wyswietla obraz, mozna liczyc na pare us spokoju w kazdej linii, i milisekundy miedzy ramkami,

- dostep multipleksowany - jesli pamiec jest szybka [a dzis jest], to mozna sie do niej dobierac naprzemian z uP. Tylko trzeba wynalezc odpowiednio duzo czasu [80ns powiedzmy] gdzies w jego cyklu dostepu do pamieci, w ktore mozna sie wciac. i musi byc to regularne.

Poszukaj gdzies na sieci jak to sir Sinclair rozwiazal w ZX80/ZX81 - a ambitnie to zrobil, minimum sprzetu dokladajac z zewnatrz. Ale sposob mocno wykorzystywal wlasciwosci Z80.

J.

Reply to
J.F.

Użytkownik "Maksymilian Dutka" snipped-for-privacy@usuntopoczta.onet.pl> napisał w wiadomości news:c9hft6$bp8$ snipped-for-privacy@nemesis.news.tpi.pl...

Witam To nie jest problem wyrobienia się procka. Ten scalak możesz podpiąć pod Intela 8080 taktowanego zegarem 400kHz (0,4MHz). W tej grze tetris wyświetlanie obrazu przez PIC-a jest czysto programowe, więc wydajność musi być dość spora. Jeśli chcesz zrozumieć na jakie zasadzie budowane są układy video zerknij na schemat starego polskiego komputerka Meritum. Cały tor video jest zrobiony na czystych TTL-ach + dwie pamięci SRAM 2114 (razem dają 1KB) jako pamięć obrazu i EPROM 2716 w roli generatora znaków. ftp://control.slupsk.pl/pub/elektronika/schematy/komputery/Meritum/Meritum_4.gif Zastosowany jest tu multipleksowy dostęp procesora do pamięci obrazu. W rozwiązaniu tym nie ma nawet układu synchronizacji dostępu procka do pamięci. W normanych układach "procesor video" ma wyższy priorytet od CPU. W Meritum procek mógł czytać/pisać do pamięci obrazu kiedy chciał co objawiało się zakłóceniami obrazu (śnieżenie - cieńkie poziome kreseczki) podczas cykli dostępu procka. W późniejszych wersjach efekt ten zmniejszono poprzez proste wygaszanie sygnału "video" podczas cykli dostępu CPU.

Reply to
Grzegorz Kurczyk

Po namyśle doszłem do wniosku że lepiej nadaje się TV. Co myślicie o pomyśle aby wyświetlać obraz w następujący sposób:

Dać dwię pamieci, obraz TV jest tworzony przy pomocy jednej pamieci + prosty układ logiczny, w tym samym czasie procesor ma swobodny dostęp do drugiej, jeżeli w drugiej bedzie już to co ma zostać wyświetlone, procesor wyśle sygnał do "logiki" która poczeka na koniec ramki i "podmieni" pamięci.

Reply to
Maksymilian Dutka

Mozna. W praktyce jest to jednak duzy klopot. Nie mozesz skorzystac z tego co w pamieci juz jest.

Jesli robisz symulator lotu czy pokaz slajdow i _wszystko_ trzeba na nowo rysowac, to jest to dobry pomysl. Jesli robisz np edytor tekstu i ktos wpisuje literki - glupi.

J.

Reply to
J.F.

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.