Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VGA i AVR nie działa - układ z wykorzystaniem Atmega32 i monitora LCD

11 Sty 2012 17:31 5525 19
  • Poziom 28  
    Witam,
    Chciałem sobie zrobić banalny układ z wykorzystaniem Atmega32 i monitora LCD.

    Miała to działać tak, że na ekranie przez cały czas będzie czerwony ekran.

    Korzystając z tego tematu:Link

    Do linii R, G B, wsadziłem w szereg rezystor 470om(aby mieć napięcie ok 0,7V).

    Prosty schemat:
    VGA i AVR nie działa - układ z wykorzystaniem Atmega32 i monitora LCD

    Oczywiście atmega jest odpowiednio zasilona itp. tylko żeby nie śmiecić na schematcie dałem uproszczony (atmega32 siedzi na płytce od pana Mirka)

    Jeśli ktoś rozwiąże problem ofiaruję punkty !

    Napisałem taki kod:
    Kod: c
    Zaloguj się, aby zobaczyć kod



    No ale niestety nie działa...
    Mógłby ktoś się w to wgłębić i podpowiedzieć mi co robię źle.


    Bardzo proszę o nie komentowanie tego kodu, wiem że w taki sposób się tego robić nie powinno, ale timingi wychodzą dobre, więc w czym może być problem?
  • Użytkownik usunął konto  
  • Poziom 28  
    Mam 3 monitory
    1)jakiś bardzo stary nokia
    2)LCD Samsunga
    3)LCD acer

    Próbowałem na nich odpalić ten kod, który jest w pierwszym poście.

    1)Na starej Nokii odpaliło się bez problemu:
    VGA i AVR nie działa - układ z wykorzystaniem Atmega32 i monitora LCD
    Tylko na początku i na końcu obraz się 'zdeformował' ;/

    2)Na LCD Samsung było już trochę gorzej...
    VGA i AVR nie działa - układ z wykorzystaniem Atmega32 i monitora LCD

    Pasy powinny zaczynać się od Czerwonego, potem zielony i na końcu niebieski.

    A tutaj coś się stało z kolejnością i w ogóle nie ma zielonego.

    3)Na monitorze Acer, nie wyświetliło nic;/

    Mógłby mi ktoś podać przyczynę dlaczego tak się dzieje?
    Proszę o pomoc ;)
  • Poziom 23  
    LCD-ki mają jakieś minimalne (wcale nie małe) częstotliwości H i V, Twój układ zapewne generuje dość niskie częstotliwości dlatego też na monitorze CRT działa a na LCD już nie.
  • Poziom 28  
    układ generuje 60Hz
  • Poziom 28  
    A jakiego kwarcu użyłeś?
    Z linku który podałeś w pierwszym poście wynika że powinien być 20MHz.

    Monitory VGA synchronizują najczęściej powyżej 30kHz (synchronizacja pozioma).

    Pozdrawiam
    JarekC
  • Użytkownik usunął konto  
  • Poziom 14  
    Przecież układ działa prawidłowo, na CRT wyświetla to co ma wyświetlać. Układ generuje obraz o określonej rozdzielczości np 640x480, z której wynika częstotliwość H iV.
    Nokia obsługuje niskie rozdzielczości LCD nie. Zniekształcenia to efekt braku synchronizacji.
  • Użytkownik usunął konto  
  • Poziom 14  
    Przecież to proste, czym jest to co pojawia się na ekranie Nokii. Wg mnie obrazem
    generowanym przez układ czyli układ działa prawidłowo, bo generuje obraz.
    Niedokładności czasowe, zgoda niezbyt dokładnie napisałem, powodują pojawianie
    się obrazu w pierwszych liniach z opóżnieniem , czyli niezbyt dokładną
    synchronizacją obrazu z impulsami synchronizacji linii. Wyrażnie widoczne
    przesunięcie. Gdyby układ działał w jeszcze niższej rozdzielczości ( na jeszcze
    starszym monitorze analogowym) mieściło by się w tolerancji.
  • Poziom 28  
    Witam,

    Przeanalizowałem program i timingi nie do końca zgadzają się z wymaganymi dlaVGA 640x480 60Hz.

    Rozpiskę i przebiegi timingów można znaleźć np tutaj (strona 14)
    http://www.televox.pl/images/stories/dokumenty/televga/televga.pdf

    Poprawiłem kod teraz powinno być lepiej.
    Jeszcze nie idealnie bo trzeba by dokładnie pokorygować opóźnienia wnoszone przez pętle "for".

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Pozdrawiam
    JarekC
  • Poziom 28  
    Witam
    Wgrałem twój kod.
    Na monitorze CRC działa OK(ale też na początku pierwszej linii jest zniekształcenie)...

    A na
    LCD Samsunga i Acera nic się nie wyświetla ;/
  • Poziom 14  
    Skąd ten upór z LCD, proponuję taki eksperyment. Podłącz Nokię do swojego
    komputera, ustaw rozdzielczość karty na 640 na 480, a póżniej do tak
    skonfigurowanego komputera podłącz LCD. Też nie będzie działał, z prostego
    powodu, nie obsługuje tego trybu a nie dlatego, że karta graficzna żle działa.
  • Użytkownik usunął konto  
  • Poziom 28  
    Czy specyfikacja monitora LCD różni się jakoś od CRT??
    Dlaczego nie chce mi się ten obraz wyświetlać na LCD'kach, skoro te timingi nie są jakieś straszne?
  • Poziom 14  
    albertb napisał:
    Upór jest tylko z Twojej strony.
    Pokaż specyfikację choć jednego monitora, który nie obsługuje
    trybu 640/480/60Hz

    Albert

    Masz rację, trochę się rozpędziłem,od tej rozdzielczości wszystko się zaczyna.
  • Poziom 28  
    Ale wydaje wam się, że obraz nie wyświetla się poprawnie na LCD przez złe timingi, czy może coś innego jest przyczyną?
  • Pomocny post
    Poziom 28  
    Witam,

    Skleciłem na szybko układ na "pająka":

    ATMEGA128, Zasilanie 5V, Kwarc 20Mhz, Rezystory 470 Ohm w liniach RGB

    Poprawiłem jeszcze trochę timingi aby nie szarpało na początku obrazu.
    Kod: c
    Zaloguj się, aby zobaczyć kod


    I oto efekt na monitorze LCD DELL 20" matryca 1600x1200.
    Więc timingi i układ są poprawne.
    VGA i AVR nie działa - układ z wykorzystaniem Atmega32 i monitora LCD

    Przy okazji zapraszam do zaglądnięcia na mój projekt również wykorzystujący VGA ale przy pomocy sprzętowej karty.
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=10423539#10423539

    Jeżeli zamieszczony kod nie zadziała to przyczyny szukałbym w przetaktowaniu uP. Jaką dokładnie masz kostkę i jakim napięciem zasilasz układ.

    Pozdrawiam
    JarekC
  • Poziom 28  
    No, ja znowu sobie podłączyłem i dalej nic....
    Ale się w końcu rozwiązało..
    Winny był kabel ;))

    Jako, że monitor mam połączony kablem do komputera, to aby nie przekładać cały czas, to po prostu wpinałem inny kabel (który jak się okazało był uszkodzony), którym łączyłem PC z uc.

    Stary monitor CRT, miał swój własny kabel (którego się nie da wyłożyć, więc nigdy nie zmieniałem i dlatego on działał)


    Oczywiście na 'normlanym' działającym kablu wszystko działa elegancko ;))
    W końcu się wyajśniło :)))
    Tak czy siak, dzięki za pomoc i za trud, zrobienia tego na pająka :))
    Tak jak obiecałem 50pkt leci do ciebie Jarku
    //Mimo to na moim acerze dalej nie działa... czsami tylko obraz migne :)
    Ale to już przebole.. ważne że działa na LCD Samsunga :)