Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Obsługa wyświetlacza LCD od NOKII E51

BikeRk6 17 Cze 2009 22:17 54125 74
  • #1 17 Cze 2009 22:17
    BikeRk6
    Poziom 10  

    Witam,

    Zamieszczony tutaj opis powstał po wielu długich, nieprzespanych nocach ;) i znajdował się pierwotnie na mojej stronie www.bikerk6.net,, niestety ze względu na pewne problemy z hostingiem i brak czasu strona nie będzie działać do odwołania, więc postanowiłem umieścić ten opis tutaj, mając nadzieję że zawarte w nim informacje będą przydatne szerszemu gronu elektroników :)
    Umieszczony tutaj opis jest sprawdzony dla wyświetlacza telefonu E51, 6500c, 5310, E90(mniejszy) (to jeden i ten sam wyświetlacz). Prawdopodobnie zawarte tu informacje będą prawdziwe również dla innych wyświetlaczy z nowszych telefonów Nokii ze względu na wprowadzenie jednolitego standardu komunikacji z LCD przez tego producenta. Zapraszam do studiowania schematów podłączenia LCD do telefonów (link do strony ze schematami na końcu).

    Obsługa wyświetlacza LCD od NOKII E51

    Wyświetlacz

    Opisywany tutaj wyświetlacz ma rozdzielczość QVGA (320x240 pikseli), przekątną 2,2” i jest w stanie wyświetlić do 16,7 miliona kolorów (24 bpp). Podświetlenie to cztery białe diody LED. Wyświetlacz posiada wbudowany sterownik.

    Standard komunikacji

    Standard komunikacji wykorzystywany przez LCD to Messi-8, opracowany przez MIPI. Jest to organizacja powołana do życia m.in. przez fińskiego producenta telefonów a standardy przez nią opracowywane dotyczą wewnętrznych połączeń (np. procesora z LCD, kamery z procesorem itp.). Interfejs to typowy interfejs 8080 czyli mamy do dyspozycji linie WR, RD, CS, DC i D0-D7. Komendy są dość dobrze przemyślane bo po włączeniu zasilania wysyłamy 2-3 rozkazy i wyświetlacz jest gotowy do użycia (nie ma problemów z koniecznością wysyłania całej masy parametrów konfiguracyjnych - co nie oznacza, że nie możemy niczego zmieniać w ustawieniach).

    Obsługa wyświetlacza LCD od NOKII E51

    Opis wyprowadzeń

    Do komunikacji z wyświetlaczem używane jest 24-pinowe złącze typu board-to-board. Ważne jest żeby zwrócić uwagę na podłączenie wtyku wyświetlacza w odpowiednim kierunku, gdyż złącze nie ma żadnego klucza i jeśli źle ustawimy gniazdo na płytce, to możemy uszkodzić LCD.





    Poszczególne wyprowadzenia to kolejno:

    1. VLED1- katoda pierwszej pary diod (połączyć z VLED2+)
    2. VLED2- katoda drugiej pary diod (połączyć z GND)
    3. VIO napięcie zasilania logiki (połączyć z 1,8V)
    4. GND masa
    5. WRX sygnał zapisu do LCD, dane są zapisywane na rosnącym zboczu tego sygnału
    6. D0 bit 0 danych/komendy
    7. GND? bardzo możliwe, że jest to jakiś sygnał kontrolujący interfejs (połączyć z GND)
    8. D2 bit 2 danych/komendy
    9. D4 bit 4 danych/komendy
    10. D6 bit 6 danych/komendy
    11. CSX Chip Select - aktywny w stanie niskim, jeśli z pinów wyświetlacza nie korzystają inne układy na naszej płytce, to możemy go na stałe połączyć z GND
    12. RESX Reset - aktywny w stanie niskim
    13. TE Tearing Efect - brzmi dość tajemniczo, postaram się opisać to wyprowadzenie później, standardowo nie wykorzystywany (w takim przypadku pozostawić nie podłączony)
    14. D7 bit 7 danych/komendy
    15. D5 bit 5 danych/komendy
    16. GND? kolejny pin prawdopodobnie do konfiguracji sterownika (podłączyć do GND)
    17. D3 bit 3 danych/komendy
    18. D1 bit 1 danych/komendy
    19. DC Data/Command jeśli DC=0 to zapis komendy, jeśli DC=1 to zapis/odczyt danych
    20. RDX sygnał odczytu, w trakcie rosnącego zbocza tego sygnału sterownik ustawia na wyjściach D[7:0] dane
    21. GND masa
    22. VAUX napięcie zasilające dla boostera i innych różności potrzebnych sterownikowi (połączyć z 2,5V)
    23. VLED2+ anoda drugiej pary diod (połączyć z VLED1-)
    24. VLED1+ anoda drugiej pary diod (zgodnie z SM telefonu pojawia się tu napięcie 14V, ja w trakcie prób z wyświetlaczem podłączyłem tu 12V zasilacz)
    25. S1,S2,S3,S4 Cztery rogi złącza wyświetlacza połączyć z masą (koniecznie należy je przylutować, gdyż utrzymują one ramkę gniazda)

    Wszystkie sygnały sterujące muszą być na poziomie 0-1,8V dlatego najprawdopodobniej będziesz musiał używać odpowiednich translatorów napięć. Ja wykorzystałem 74LVC4245AD ze względu na dużą szybkość działania gwarantowaną przy tak niskim napięciu. Dodatkowo wg schematu połączeń w telefonie, pomiędzy mikrokontrolerem a LCD powinny pojawić się filtry przeciwzakłóceniowe, mnie w chwili obecnej nie udało się znaleźć takich które byłyby odpowiednie. Zgodnie z tym samym schematem linie zasilające VIO i VAUX powinny być podłączone do zasilania poprzez dławiki 10uH/0,8A połączone szeregowo z kondensatorami 100nF połączonymi z masą. Schemat poniżej ilustruje prosty układ, który posłużył mi do testów.

    Obsługa wyświetlacza LCD od NOKII E51

    Zapis i odczyt

    Chyba najtrudniejszą częścią było znalezienie kodów komend służących do sterowania wyświetlaczem. Sterownik opisywanego tutaj LCD to najprawdopodobniej LEADIS LDS285 lub podobny.
    Po włączeniu zasilania zobaczymy czarny ekran, by móc wyświetlić na nim cokolwiek musimy wykonać przynajmniej następujące czynności:

    - „twardy reset” czyli podanie ‘0’ na ok. 1 ms na linię RESX wyświetlacza
    - „miękki reset” czyli wysłanie komendy SWRESET (01h)
    - wyjście z trybu Steep, czyli wysłanie komendy SLPOUT(11h)
    - włączenie wyświetlacza komendą DISPON (29h)

    W tym momencie ekran wyświetlacza powinien pokazywać kolorowe kropki, odpowiadające przypadkowym wartościom znajdującym się w pamięci RAM LCD. Zapis do pamięci sterownika odbywa się po wysłaniu komendy RAMWR(2Ch), powoduje ona wyzerowanie licznika kolumn i wierszy pikseli. po wysłaniu tej komendy zmieniamy stan linii DC na ‘1’ i wysyłamy dane kolejno po trzy bajty dla każdego piksela (w kolejności wartość koloru czerwonego, zielonego i niebieskiego). Sterownik po odebraniu trzech bajtów uaktualnia na bieżąco obraz na ekranie wyświetlacza. Ilość danych wysyłanych do LCD nie jest niczym ograniczona – po zapisaniu całej pamięci obrazu licznik kolumn i wierszy sam się zeruje i zaczynamy zapis pierwszego piksela w pierwszej linii. Jest to dość wygodne, bo na dobrą sprawę komendę RAMWR możemy wysłać raz na początku i później tylko wczytywać wartości kolorów dla kolejnych pikseli. Wysłanie jakiejkolwiek innej komendy spowoduje przerwanie zapisu do pamięci a ponowne wysłanie RAMWR spowoduje zapis od pierwszego piksela w pierwszej kolumnie.
    Standardowo wyświetlacz jest ustawiony tak, że pierwszy piksel jest po lewej stronie krawędzi LCD sterownika a linie są równoległe do krawędzi LCD na której jest sterownik (czyli obraz jest w formacie 240x320). Możemy to zmienić za pomocą komend MADCTR(36h), CASET(2Ah) i RASET(2Bh) – po dokładny opis odsyłam do dokumentacji LDS285. Po włączeniu zasilania ustawiona jest 24-bitowa głębia kolorów, możemy ją zmniejszyć np. do 18-bitowej za pomocą COLMOD(3Ah). Jasność poszczególnych składowych kolorów jest następująca: 00h – czarny, FFh – biały, komenda INVON(21h) odwraca kolory wyświetlacza (czyli FFh – czarny, 00h – biały) i działa na już wyświetlony obraz. Odwrócenie kolorów wyłączamy za pomocą INVOFF(20h). Sterownik posiada również cały szereg ustawień dot. wyświetlania obrazu, tj. jasności kontrastu itp. – zapraszam do przestudiowania dokumentacji.

    Tearing Enable Efect

    Linia TE jest wyjściem i służy do synchronizacji zapisu do pamięci LCD z jego odświeżaniem – pozwala to na uniknięcie migotania obrazu, po dokładny opis odsyłam do ww. dokumentacji. Standardowo jest ona nie wykorzystywana, jeśli chcemy jej użyć, to musimy ją włączyć za pomocą komendy TEON(35h).

    Uwagi ogólne

    Układ do którego będziemy podłączać LCD musi być dość szybki (raczej nie polecam AVRów ;) ). Ja do pierwszych prób używałem mikrokontrolera z rodziny STR912, ale ilość danych do przetworzenia raczej przekraczała jego możliwości. Dość łatwo interfejs LCD można dołączyć uC jako zewnętrzną pamięć RAM ( w przypadku STR912 do interfejsu EMI). Obecnie ww. LCD jest dołączony do układu Spartan 3 i dopiero tutaj mam możliwość wyświetlania obrazu z ok. 30fps :) Jeśli pierwszy raz zajmujesz się kolorowymi LCD to proponuję wziąć kalkulator i policzyć sobie z jaką szybkością należy wysyłać dane by czas ich wczytywania nie był zbyt długi oraz ile pamięci potrzeba na przechowanie jednego obrazu – da to Tobie ogóle pojęcie o wymaganiach sprzętowych ;) takiego LCD.
    Ponieważ nie udało mi się ustalić typu złącza taśmy LCD ani kupić zamiennika dla E51 zostało wykorzystane złącze wyświetlacza dla Nokii 6300 – pasuje idealnie :) Mała uwaga co do jego montażu – bardziej wskazana jest lutownica na gorące powietrze, ale lutownicą oporową ustawioną na ok. 300-305oC przy pomocy cienkiej cyny, topnika SMD i plecionki też można przylutować to złącze.

    Linki

    Schematy telefonów
    Dokumentacja sterownika LDS285
    Poniżej znajduje się również sprawdzona przeze mnie biblioteka ze złączem LCD w formacie Protel99SE.

    3 29
  • #2 19 Cze 2009 21:23
    don diego
    Poziom 32  

    Całkiem fajny ten wyświetlacz i niedrogi:) Jakie rezultaty osiągnąłeś na STR912? Ile fps'ów? Mam parę sztuk STR911 i może w końcu bym je do czegoś wykorzystał:)

    0
  • #3 01 Wrz 2009 18:50
    J_Bravo
    Poziom 27  

    Bardzo rzadko zachodzi potrzeba zmiany całego ekranu. zwykle mienia się jego fragmenty. A do tego AVR jest w zupełności wystarczający ;)

    ps. czy masz możne biblioteki do EAGLE ?? albo wymiary złącza ??

    0
  • #4 23 Wrz 2009 23:14
    andrew2u
    Poziom 12  

    Czy mógłbyś BikeRk6 napisać (skopiować ten swoj napisany) kawałek programu najlepiej z wszystkimi inicjacjami, taki co to wyświetla piksel , linie czy cokolwiek .... Dla ogolnego zobrazowania jak to działa :)

    0
  • #5 13 Lis 2009 21:55
    atom1477
    Poziom 43  

    Można wiedzieć jak ten LCD prezentuje się w mocnym świetle?
    Widać cokolwiek na słońcu?

    0
  • #8 05 Maj 2010 12:59
    J_Bravo
    Poziom 27  

    Mam pytanie. Gdzie można kupić takie gniazda LCD w "szpulach" do lutowania maszynowego ??

    0
  • #9 08 Maj 2010 22:04
    saper_2
    Poziom 17  

    Może zapytać jakiegoś sprzedawcę z aledrogo co ma te złącza, ja kupowałem od "euro_anna" i dostałem gniazdka obcięte z szpuli (gniazda w taśmie są).

    W Maritexie mają możliwość chyba sprowadzenia: http://www.maritex.com.pl/pl/shop/products/ggid/9266 .

    W TME widzę podobne zwane SilmStack od Molex'a, może najlepiej u nich popatrzeć?

    -- DODANE --
    To chyba "slimStac" od Molexa są najpodobniejsze :) http://www.molex.com/molex/products/group?key=board_to_board_connectors&channel=PRODUCTS&langPref=english&selectedKey=1

    0
  • #10 23 Maj 2010 01:36
    chifchif
    Poziom 11  

    Sprawdziłem na wyświetlaczu od Nokia 6280 (ATMega128 12MHz) i działa,
    komendy są takie same jak dla starszych modeli telefonów Nokia (6610),
    tylko komendy są wysyłane poprzez interfejs równoległy a nie poprzez SPI.
    Część komend inicjalizacyjnych może być zmieniona ale podstawowe zostają
    te same. Współrzędne ekranu są typu 2-bajtowego (Word).

    0
  • #11 24 Maj 2010 14:30
    J_Bravo
    Poziom 27  

    chifchif:
    Czy mógłbyś udostępnić twój kod? Męczę się od 2 dni nad uruchomieniem i nic/ nie wiem czy nie stuka mi podstawka, czy mam błąd w programie.

    0
  • #12 25 Maj 2010 14:53
    J_Bravo
    Poziom 27  

    Ok. Już działa. Jednak timingi są dość krytyczne ;/

    0
  • #14 12 Lip 2010 21:59
    sloren
    Poziom 9  

    Witam wszystkich.

    Czy miał ktoś problem z obsługą tego wyświetlacza? Z moich doświadczeń wynika, że w prosty sposób nie da się sterować każdej jednej sztuki sprzedawanej na allegro, bo niektóre nie chcą się w ogóle zainicjalizować.
    Mam jeszcze pytanie do ludzi, którzy mają dostęp do złączy do tego LCD? Jest możliwość z jakiegoś serwisu odkupienia ich? Wie ktoś coś na ten temat? Ewentualnie zna ktoś odpowiednik z Molexa lub innego standardowego producenta?
    Z góry dzięki za odpowiedź

    0
  • #15 12 Lip 2010 23:05
    Mat_91
    Poziom 25  

    Przecież te złącza można na allegro kupić, na aukcjach są po kilka sztuk, trzeba napisać do sprzedających, może mają większe ilości.

    0
  • #16 08 Sie 2010 16:18
    liku
    Poziom 9  

    sloren napisał:
    Mam jeszcze pytanie do ludzi, którzy mają dostęp do złączy do tego LCD? Jest

    Ja kupiłem kilka sztuk u użytkownika euro_anna na Allegro. Najlepiej mieć kilka sztuk, bo dość ciężko przylutować używając zwykłej lutownicy.

    Ł.

    0
  • #17 22 Lis 2010 13:23
    marcelix007
    Poziom 14  

    Czy działa komuś ten wyświetlacz na napięciu 3V. Według dokumentacji powinien. Pozdrawiam.

    0
  • #18 09 Gru 2010 14:35
    Chyllus
    Poziom 17  

    Witam wszystkich.
    Czy mógłby ktoś przedstawić dokładniejszy opis wraz z czasami do zapisu danych do wyświetlacza?
    Komendy działają u mnie ok ale po wpisaniu RAMWR i wysłaniu danych otrzymuję kolory zbliżone do fioletowego z różnymi odcieniami..
    Nie mam pełnej palety.
    Poza tym czy Wasze złącza do wyświetlacza wydają się być jednorazowe? Po każdym wypięciu wyświetlacza z gniazda i ponownym wpięciu nie wszystkie piny stykają i jestem zmuszony do przelutowania złącza (obecnie trzecie i pady już zaczynają odpadać) :| Zakupione u allegrowicza z postu wyżej.

    Pozdrawiam

    -----------------------
    Edit:

    Napiszę trochę dokładniej:
    po wysłaniu RAMWR i zmianie pinu DC następuje wysłanie trzech bajtów z kolorami RGB.
    Niestety efekt jest taki że drugi bajt zmienia wartość koloru czerwonego, trzeci niebieskiego a zmiana wartości pierwszego nie powoduje żadnych zmian w kolorze piksela.
    Czy ktoś ma na to radę?

    Zastanawiam się czy nie kupiłem przypadkiem "pseudokompatybilnej" chińszczyzny jak to bywało z wyświetlaczami do NOKIA3310 :|

    0
  • #19 25 Kwi 2011 13:45
    drzasiek
    Specjalista - Mikrokontrolery

    Witam, Czy ktoś zechciałby udostępnić działającą bibliotekę do tego LCD? Obojętnie pod jaki procesor, byleby w [C].

    0
  • #21 04 Maj 2011 16:47
    drzasiek
    Specjalista - Mikrokontrolery
  • #23 07 Maj 2011 12:49
    kult
    Poziom 16  

    atom1477 napisał:
    Można wiedzieć jak ten LCD prezentuje się w mocnym świetle?
    Widać cokolwiek na słońcu?

    Słabo, a na chińskim prawie nic. Mam E51 i wymieniałem LCD, kupiłem chińczyka 2szt. Jeden nie działał.
    Mieliście takie buble u siebie?

    0
  • #24 07 Maj 2011 13:03
    zdz_13
    Poziom 13  

    Trzeba tylko zmienić ustawienia kontrastu i "świeci" jak należy...

    0
  • #25 15 Paź 2011 16:32
    gobo2003
    Poziom 11  

    Witam,
    Blog http://gobotronics.wordpress.com/ jest prowadzony przezemnie, potrzebuję chętnych do pomocy w rozpracowaniu AMOLED'a z Nokii n86/n85...

    Koszt wyświetlacza na alledrogo to około 25PLN, więc chyba jest o co walczyć...

    http://gobotronics.wordpress.com/2011/10/09/n...85n86-amoled-display-hacking-project-amdf001/

    Wszelkie sugestie i pomysły mile widziane...

    Do moderatora : wiem, że post dotyczy innego wyświetlacza, ale moje rozwiązanie do E51 też było tutaj cytowane i myślę, że osoby szukające informacji w tym temacie będą tym postem zainteresowane również.

    0
  • #26 15 Paź 2011 18:08
    Pocieszny
    Poziom 38  

    gobo2003 napisał:
    Witam,
    Blog http://gobotronics.wordpress.com/ jest prowadzony przezemnie, potrzebuję chętnych do pomocy w rozpracowaniu AMOLED'a z Nokii n86/n85...

    Koszt wyświetlacza na alledrogo to około 25PLN, więc chyba jest o co walczyć...

    http://gobotronics.wordpress.com/2011/10/09/n...85n86-amoled-display-hacking-project-amdf001/

    Wszelkie sugestie i pomysły mile widziane...

    Do moderatora : wiem, że post dotyczy innego wyświetlacza, ale moje rozwiązanie do E51 też było tutaj cytowane i myślę, że osoby szukające informacji w tym temacie będą tym postem zainteresowane również.


    Te za 25zł to są marne podróbki i to na dodatek LCD zamiast OLED. Oryginalny OLED to tej Nokii jest droższy. No chyba że z demontażu.

    Dodam jeszcze, że oprócz LCD z Nokii E51 powinien również pasować wyświetlacz z Nokii 6300, 3120c, 6120c.

    0
  • #27 15 Paź 2011 18:36
    gobo2003
    Poziom 11  

    zenobeusz, może i podróbki, ale powiedz mi jakim cudem wyprodukowano tak cienki LCD w dodatku bez podświetlenia (ani CCFL, ani LED, ani WLED) , który świeci jak OLED, ma pinout jak OLED, działa z nokią N85/N86 (tam jest inny pinout niż w np. E51), rozumie pakiety wysyłane przez Hurricane'a po MeSSI-8... i twierdzisz ponadto, że to nie jest OLED tylko LCD...

    Jeśli nie zajmujesz się tylko serwisem GSM, czyli wymienianiem wyświetlaczy za pomocą pincety, torxa i majzla to trochę dziwnie ta twoja wypowiedź brzmi...

    0
  • #28 15 Paź 2011 18:39
    Pocieszny
    Poziom 38  

    Oj po prostu wiele razy spotkałem się z zamiennikami w postaci LCD w tym modelu, a przy okazji z doświadczenia wiem, że jeżeli coś jest takie tanie, to przeważnie gdzieś musi być haczyk :) Ale nie twierdzę, że zawsze tak musi być.

    0
  • #29 15 Paź 2011 19:01
    gobo2003
    Poziom 11  

    kurcze masz rację, to jest cholerny LCDek... sprytne te małe chińskie rączki są...
    Heh, to w takim razie jaki tam jest kontroler......

    0
  • #30 15 Paź 2011 19:40
    atom1477
    Poziom 43  

    Jaki by nie był. I tak przecież musi być zgodny z tym w oryginalnym wyświetlaczu.

    0
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo