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

Schemat wyświetlacza Nokii 6100.

webmortiz 05 Sie 2007 18:24 3462 8
  • #1 05 Sie 2007 18:24
    webmortiz
    Poziom 20  

    Witam!
    Mam prosbe. Czy moze ktos udostepnic mi schemat zasilania wyswietlacza z nokii 6100? Wiem ze temat byl juz meczony kilka razy i kilka schematow sie pojawilo ale nie jestem tak bardzo obcykany z elektronika zeby sie domyslec wszystkiego. Chodzi mi tu o to zeby obok schematu(przetestowanego i dzialajacego) byl opis jakie w rzeczywistosci uklady i wartosci elementow zostaly uzyte. Bardzo prosze o pomoc.

    0 8
  • #3 06 Sie 2007 16:05
    webmortiz
    Poziom 20  

    Ok, dzieki za schemat ale widzialem go juz i nic mi to nie daje bo nigdzie nie moge dostac tego ukladu TPS61040. Jak juz wspomnialem z elektroniki leb ze mnie nie jest i nie wiem czy mozna do tego jakies zaminniki uzyc. Potrzebowalbym schemat z ktorego ktos juz skorzystal i uzyl jakichs normalnych dostepnych wszedzie ukladow. I nie biega mi tu o jakis schemat tylko konkretny z konkretnymi ukladami i wartosciami elementow. Tak wiec temat dalej aktualny.

    0
  • #4 06 Sie 2007 22:32
    pmmisiek
    Poziom 15  

    Witam.

    Ja podłączałem lcd z noki 6610 i z tym układem działało, (lcd z 3310 też działa).

    Na schemacie zamiast 74LS245DW powinien być układ 74LVX245 (wyjścia w standardzie 3,3V).

    D3 to dioda Zenera 3,3V (może być 3,1V albo nawet na nieco niższe napięcie), R13 ogranicza prąd więc może to być wartość ok 1k, C9 może być 1uF, reszta wynika ze schematu. Układ 74LVX245 kosztuje ok 1PLN.

    W załączniku dataszit :) od 74LVX245.

    Pozdrawiam

    0
  • #5 08 Sie 2007 20:58
    webmortiz
    Poziom 20  

    Wielkie dzieki, obadam uklad, jak czegos nie bede wiedzial dam znac.

    0
  • #6 24 Sie 2007 18:01
    webmortiz
    Poziom 20  

    Przejrzalem schemat i wszystko ok ale mam kilka pytan. W zalaczniku wstawilem schemat z proponowanym ukladem i obudowanym tym z poprzedniego zalacznika(czy jest poprawny?). I teraz:
    1 Zasilanie ukladu 74LVX245 zalecane to od 2 do 3,6 V. Czy jezeli uzyje napiecia 3,6 V to bedzie trzeba zmieniac wartosci pozostalych elementow(w schem wpisalem 5V ale potrzebowalbym 3,6 z powodu zamiaru zasilania z baterii od telefonu)?
    2 Ilo watowe powinny byc rezystory(standardowe 2W czy moze 0,25?)
    3 jaki zegar(ile Mhz) zostal zastosowany(ile powinien byc?) do pracy z wyswietlaczem
    4 Czy ewentualne diody led, ktore mialyby sygnalizowac przesyl na liniach, wstawione przed uklad 74... wplyna na prace ukladu?
    5 Jak, jezeli bede uzywal zasilania z baterii od tel uzyskac napieci 6,8 V do zasilenia podswietlenia wyswietlacza(ewentualnie jakiego tranzystora uzyc by dzialal jako klucz sterowany z uC i czy 3,3 V sygnalu z uC starczy do wysterowania tranzystora zalaczajacego podswietlenie)?
    6 Przy inicjalizacji wyswietlacza miedzy poleceniami BSTRON i DISPON powinna byc przerwa dla wyswietlacza by cos on tam sobie wewnatrz zrobil. Ile powinna trwac ta przerwa i czy przerwa powinna byc tez dla zegara na wejsciu Sclk?

    0
  • #7 26 Sie 2007 15:24
    gufiak
    Poziom 21  

    Po pierwsze, na jakim procesorze robisz? Z tego co widzę, robisz na baterii od telefonu, czy więc przypadkiem nie używasz procesora zasilanego na 3,3-3,6V? jeśli tak, to 74LVX245 jest zupełnie niepotrzebny.
    Ad.2. 0,25 w zupełności wystarczają.
    Ad.3. Zegar CLK może być do 6MHz taktowany, próbowałem na 9MHz puścić, ale wtedy nie zawsze wyświetlacz się inicjował.
    Ad.4. Lepiej daruj sobie te diody, bo przy tych częstotliwościach nic nie zobaczysz, a spadek napięcia na diodzie może przeszkadzać w komunikacji, szczególnie mogą pojawić się problemy przy wyższych częstotliwościach.
    Ad.5. Do tego stosuje się przetwornice, najlepiej specjalne do białych diod. Można także w samym wyświetlaczu zmienić połączenie diod z szeregowego na równoległe i wtedy wystarczy 3,3V do podświetlenia, ale nie polecam tej metody, bo każda dioda jest inna i połączone równolegle diody mogą świecić z różną intensywnością. Osobiście zastosowałem układ MAX1848, który zamówiłem w ramach sampli. Podłączyłem pod sprzętowy PWM i mam płynną regulację jasności podświetlenia.
    Ad.6. przerwę osobiście dobierałem doświadczalnie. Aktualnie mam zrobione tak, że po BSTRON mam krótki delay, potem ustawienie wierszy i kolumn, następnie wyczyszczenie wyświetlacza poprzez wypełnienie pamięci białym kolorem, po czym dopiero wysyłam DISPON. Załączam funkcję inicjalizującą wyświetlacz (uC ARM):

    Code:
    void LCDInit(void)
    
    {
       ///// Initialization start /////
       
       // 1. Software Reset
       WriteLcdCommand( LCD_SWRESET );
       Delaya( 500 );
       
       ///// Power supply  ///////

       // 1. Sleep out
       WriteLcdCommand( LCD_SLEEPOUT );
       Delaya( 100 );

       // 2. Write contrast
       WriteLcdCommand( LCD_SETCON );
       WriteLcdData( eeprom_get_byte( SETT_LCD_CONTRAST ) );                  // contrast

       // 3. Select 256 colour mode
       WriteLcdCommand( LCD_COLMOD );
       WriteLcdData( 2 );                      // 2 - 256 colours
       
       WriteLcdCommand( LCD_MADCTL );
       WriteLcdData( LCD_rot_def_madctrl );
       
       // 4. Inverted mode
       WriteLcdCommand( LCD_INVON );
       
       // 5. Setup LUT
       WriteLcdCommand( LCD_RGBSET );
       WriteLcdData( 0x00 );                      // RED
        WriteLcdData( 0x02 );




        WriteLcdData( 0x04 );
        WriteLcdData( 0x06 );
        WriteLcdData( 0x08 );
        WriteLcdData( 0x0a );
        WriteLcdData( 0x0c );
        WriteLcdData( 0x0f );
        WriteLcdData( 0x00 );                      // GREEN
        WriteLcdData( 0x02 );
        WriteLcdData( 0x04 );
        WriteLcdData( 0x06 );
        WriteLcdData( 0x08 );
        WriteLcdData( 0x0a );
        WriteLcdData( 0x0c );
        WriteLcdData( 0x0f );
        WriteLcdData( 0x00 );                      // BLUE
        WriteLcdData( 0x04 );
        WriteLcdData( 0x09 );
        WriteLcdData( 0x0f );

       Delaya(10);

       // 6. Booster voltage ON
       WriteLcdCommand( LCD_BSTRON );
       
       Delaya( 500 );
       
       u16 i;
       WriteLcdCommand( LCD_CASET );
       WriteLcdData( 0 );
       WriteLcdData( 131 );
       WriteLcdCommand( LCD_PASET );
       WriteLcdData( 0 );
       WriteLcdData( 131 );

       WriteLcdCommand( LCD_RAMWR );            // write to display
        for (i = 0; i < 132 * 132; i++)            // fill the full window
          WriteLcdData( White );
       
       LCDSetWindow( 0, 0, 127, 127 );
       
       // Finally - Display On
       WriteLcdCommand( LCD_DISPON );
       
       WriteLcdCommand( LCD_NOP, true );         // Last Transfer
    }
    A co do CLK, komunikacja jest po SPI, więc na CLK zegar jest tylko podczas wysyłania danych, a nie cały czas. Polecam poczytać trochę o SPI.

    P.S. Delaya to po prostu:
    Code:
    void Delaya(u32 a)
    
    {
       while (--a != 0);
    }


    P.P.S. Zakładam że masz kontroler philipsa. Mam nadzieję, że wiesz, że w tych wyświetlaczach są także kontrolery ericssona, że inaczej się je programuje, że są nieco bardziej czułe na napięcie zasilania i mam nadzieję, że sprawdziłeś jaki kontroler siedzi w Twoim LCD...

    P.P.P.S Jaką dokładnie baterią planujesz zasilać układ i jak masz rozwiązany pomiar napięcia baterii?

    0
  • #8 26 Sie 2007 18:47
    webmortiz
    Poziom 20  

    Nie do konca jest to procesor bo jest to uklad FPGA(jeszcze nie dobralem czy to bedzie Spartan czy jakis Virtex bo bedzie wynikalo to z design summary komilacji programu - ilosc uzytych zasobow). Na FPGA znam sie tylko od strony programowania ich. A cala sprawa w tym ze na prace magisterska bede budowal konsole do gier(moj pomysl tematu) wlasnie na fpga. Moj promotor zna sie(gleboko w to wierze ze praktycznie tez) na fpga wiec jezeli byloby to nie mozliwe do zrobienia to chyba by mi o tym powiedzial. Co do samych szczegolow zasilania FPGA, poziomow sygnalow itp. za duzo jeszcze nie wiem. Ale chce zrobic 2 moduly, jeden z wyswietlaczem i jeden z reszta i na razie chcialbym zrobic tylko ten z wyswietlaczem i sprawdzic na starter kit ze Spartanem czy bedzie smigac. A tak pozatym co to jest PWM? Mam kontroler Philipsa, a ten drugi to Epson a nie Ericsson. Co do baterii to tez jeszcze nie wiem, ja jestem bardziej programista niz elektronik tak wiec o elektroniczna strone pytam na forum. No wiec troche wiecej swiatla rzucilem na temat. A poza tym program pisze(lacznie z gra- kostka rubika) w hdl'u(to jak wkrecanie sruby mlotkiem). Jakbym pisal w C juz dawno mialbym koniec ;)

    0
  • #9 26 Sie 2007 19:37
    gufiak
    Poziom 21  

    Przyznam, że dosyć ambitny pomysł. Co do epsona i ericssona, to dzięki za poprawienie, oczywiście chodziło mi o epsona, ale przynajmniej wiadomo, że wiesz co i jak.
    Ale z tym pytaniem o PWM... Robisz na FPGA i nie wiesz co to PWM? :/ Google nie boli, znajdziesz tam pełno łopatologicznych opisów PWM. No nic, muszę przyznać, że jesteś odważny robiąc projekt na FPGA słabo znając się na elektronice. Ale nie twierdzę, że się nie uda i że to jest niemożliwe. W każdym bądź razie trzymam kciuki.

    P.S. Jeśli zastosujesz FPGA o których piszesz, to one mają porty IO pracujące na napięciach tych samych co wyświetlacz, więc ten 74LVX245 jest zbędny. No i jeszcze weź pod uwagę, że przeważnie FPGA ciągną nieco więcej prądu niż procesory. Jeśli zamierzasz zasilać to z akumulatorka, to szukaj energooszczędnych FPGA, bo inaczej na obronie może Ci konsola zdechnąć ;)

    0
  Szukaj w 5mln produktów