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

Sekwencja sterowania wyświetlaczem.

KJ 17 Maj 2008 03:20 1413 1
  • #1 17 Maj 2008 03:20
    KJ
    Poziom 31  

    Witam. Dorwałem wyświetlacz EL(plazmowy) O rozdzielczości 640x400 i obsługujący skalę szarości. Udało mi się nawet znaleźć dokumentację:
    http://www.esskabel.de/Datenblaetter/LCD-Specs/Sharp/EL/LJ64ZU35.pdf
    Pozostaje problem jego wysterowania walczę z tym już jakiś czas i jak na razie udało mi się wyświetlić tylko przypadkowe dane albo pionowe pasy. Próbuję tym sterować za pomocą atmegi 128. Nie jest to chyba matryca - posiada jakiś własny kontroler z własnym RAM-em ale ram ten przechowuje chyba tylko jedną linię obrazu. Z dokumentacji wynika że interfejs jest synchroniczny szeregowy i że 4 bity danych określają jasność aktualnie wpisywanego pixela do tego są 3 linie sterujące - synchronizacja pionowa synchronizacja pozioma i linia zegarowa. Jeśli poprawnie interpretuję dane z noty wysterowanie tego AVR-em jest chyba na granicy jego możliwości, jeśli więc zajdzie taka potrzeba spróbuję to ruszyć ARM-em albo jakimś FPGA. Mój podstawowy problem jest taki że nie potrafię z noty wyczytać poprawnej sekwencji sygnałów sterujących. w zasadzie to nie wiem jak zmieniać stany na liniach V.D.i H.D. (patrz nota) bo z tego co widze na wykresie to każde zbocze narastające na linii ckd powoduje przepisanie do wyświetlacza aktualnej zawartości linii danych. VD powinno (chyba) zmienić stan z wysokiego na niski i z powrotem po wysłaniu całej klatki a co z HD ? Wg mojej interpretacji zmienia się na chwile na stan niski po przesłaniu jednej linii. Czyli inaczej mówiąc stan niski na HD oznacza przejście do następnej linii stan niski na VD z kolei "zawraca" na początek ekranu. niech mnie ktoś poprawi jeśli się mylę. Taki interfejs nie pozwala chyba podłączyć tego pod kontroler wyświetlaczy LCD typu SED1335 (taki posiadam na stanie). Taka sekwencja jaką napisałem wydaje się być prosta w implementacji - wystarczą 2 liczniki jeden zliczający bity dla linii (640 cykli w każdym cyklu zmiana CKD z 0 na 1 i z powrotem) po tym reset licznika bitów impuls 0 na HD zmiana o 1 wartości licznika linii i ponowne przesłanie linii. Kiedy licznik linii osiągnie 400 reset wszystkiego 0 na VD i powtórzenie całego cyklu od początku. Gdzieś musi być błąd w moim toku myślenia bo to jest za proste.

    0 1
  • CControls
  • #2 01 Wrz 2009 22:03
    Pawel_Stasiu
    Poziom 10  

    Jak sobie w końcu poradziłeś?

    0