on screen display i synchronizacja

Taka potrzeba:

a) jest układ generujący obraz telewizyjny. Mam dostęp do impulsów synchronizacji pion/poziom, choć wygodniej było by je zregenerować.

b) mam potrzebę wyswietlenia prostej grafiki na obrazie, moze być w formie rozjasnienia/zaciemnienia. Do dyspozycji sygnał composite. Monochromatycznie.

c) Grafika jest czymś w rodzaju prostego menu, a więc w grę wchodzi uC.

Teraz:

1) Nie bardzo mogę uzyć zwykłego CPU. Taki np. AVR ma niedeterministyczny czas przyjęcia przerwania. Jesli nawet bedę robił pooling to i tak będzie on niedeterministyczny. Nadążanie przez cpu za obrazem chyba odpada.

2) Mógłbym użyć CPLD jako bufora pojedynczej lini lub fragmentu, cpu wrzuca byle jak a cpld synchronicznie wypycha na ekran. Ale może:

3) Mógłbym użyc czegoś specjalizowanego.

Teraz jesli chodzi o 3) to na pewno wiekszośc telewizorów posiada OSD, ale co mnie najbardziej interesuje to np. moduł telegazety. On chyba robi to co chcę, czyli synchronizuje się z obrazem. Wszystkie które widziałem (wszystkie 3 :) były typu RGB, a ja mam composite.

Czy istnieje jakiś gotowiec composite który pozwala wtrynić swoją grafikę w obraz? Kilka razy widziałem to w starych systemach gdzie chyba RGB nie było, ale z bliska nie miałem okazji pozerkać na elektronikę.

Reply to
Sebastian Biały
Loading thread data ...

W dniu 2013-09-25 17:19, Sebastian Biały pisze:

(...)

ee tam opowiadasz ;) wpisz w google "avr osd" ;)

Reply to
BartekK

W dniu 2013-09-25 17:19, Sebastian Biały pisze:

np taki MAX7456

formatting link

Reply to
BartekK

użytkownik Sebastian Biały napisał:

formatting link
ze jest juz wycofany, popatrz na inne w tej kategorii.

Reply to
leming.show

Tutaj masz gotowiec:

formatting link
Może akurat da się zastosować, a jak nie to można wykonać reverse-engineering i przerobić albo zrobić lepiej. Jakby co to piszę się na wyniki sekcji. Bawiłem się czymś takim (ale nie dane mi było zaglądnąć do środka) i ZTCP właśnie literki były czarno-białe... tzn białe z czarnymi obwódkami.

Reply to
Mirek

gotowiec (schemat + program) :

formatting link

Reply to
sundayman

Rozwiązania oparte o AVR bedą miały taką wadę, że będą "pływać" na ekranie w zakresie jednego cyklu zegarowego. Kiedyś robiłem z tym eksperymenty i to jest upierdliwe zjawisko.

Reply to
Sebastian Biały

Nie robiłem, nie wiem. Ale tu wygląda chyba nie najgorzej. Oczywiście kwestia potrzebnej jakości, ale napisałeś na wstępie, że do prostej grafiki...

formatting link

Reply to
sundayman

a to nawet znacznie lepsze :

formatting link
(atmega 328)

Reply to
sundayman

Sam nie robiłem, ale widziałem gotowca i nic nie pływało. Podejrzewam, że program był tak napisany, żeby usypiał się tuż przed spodziewanym wywołaniem przerwania.

Reply to
Zbych

Też usypiałem żeby ilośc cykli przy odbieraniu przerwania była stała. Tylko że dalej problem jest taki, że impuls synchronizacji poziomej przychodzi niekoniecznie synchronicznie z zegarem taktujacym (który u mnie podawany był z generatora z innych przyczyn). To drganie powodowało ciekawe efekty na LCD bo logika w TV myślała że to interlace i próbowała ten ruch przewidywać generując ciekawe efekty graficzne.

Wróce do tematu bo link z youtuba nie wygląda źle i może wystarczy jednak taka jakość.

Reply to
Sebastian Biały

Tak licząc na szybko, to przy czasie wyświetlania linii 52us (+12us na powrót plamki) i max. 720 pikselach w poziomie wychodzi zegar dla pikseli ~14MHz. Przy takiej częstotliwości taktowania uC będziesz miał jitter porównywalny z czasem rysowania 1 piksela. Jestem ciekawy czy faktycznie będzie to tak bardzo widoczne.

Reply to
Zbych

użytkownik Sebastian Biały napisał:

Na pierwszym miejscu radze zapoznac sie z czestotliwoscia taktowania atmegi, ludziska podkrecali zegar do ponad 28MHz.

Reply to
leming.show

A później im działa, albo i nie. Widziałem stabilne osd taktowane z 24MHz (e-osd, g-osd). Natomiast w innym projekcie (eleres) układ ma czasami problem ze startem przy 16MHz i zasilaniu 3.3V.

Generalnie nie ma większych problemów z generowaniem obrazu. Schody się zaczynają dopiero jak w międzyczasie trzeba jeszcze coś bardziej skomplikowanego policzyć (np. azymut/odłegłość między obecną pozycją, a punktem docelowym) albo generować grafikę na którą brakuje pamięci w AVR. Ale tu niewiele daje przetaktowanie procka - bardzie trzeba się skupić na dobrym przemyśleniu jak to zrobić niż liczyć na MHz.

Pozdrawiam

Marek

Reply to
Marek Wodzinski

On 2013-09-27 12:37, Marek Wodzinski wrote: > Generalnie nie ma większych problemów z generowaniem obrazu. Schody się > zaczynają dopiero jak w międzyczasie trzeba jeszcze coś bardziej > skomplikowanego policzyć

Mogę wziąść np. małego SAM7S, nie ma problemu, tam jest dma i port wypluwający bajty szeregowo. Gdyby nie absurdalne ceny tych procesorów. To może inaczej: jaki mały arm7 będzie miał DMA które wyrzuci mi szeregowo bajty na jakąś nogę? A może XMEGA? Tam też jest DMA i cena poniżej 10zł.

Reply to
Sebastian Biały

W dniu 2013-09-27 19:56, Sebastian Biały pisze:

popatrz raczej na coś z rodziny STM32 lub LPC - Cortexy (M0) kupisz już od 3zł..

Reply to
Michał Baszyński

Małe LPC chyba nie mają DMA. Musiałbym więc machać ręcznie. Jesli już wziąść coś większego to z dma.

Reply to
Sebastian Biały

formatting link
?ukey=product&productID=204621

Reply to
Zbych

W dniu 28.09.2013 09:46, Zbych pisze:

Nawet Cortex-M0 od ST ma DMA:

formatting link

Reply to
Zbych

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.