Kolorowy wyświetlacz graficzny z telefonu Siemens S65_M65 z kontrolerem Hitachi HD66773, cz.3.pdf

(859 KB) Pobierz
101-103_kolorowy_lcd_cz3.indd
KURS
Kolorowy wyświetlacz graficzny
z telefonu Siemens S65/M65
z kontrolerem Hitachi HD66773,
część 3
Nowoczesny sprzęt elektroniczny
oferuje szerokie możliwości
interakcji człowiek–procesor.
Jest to możliwe dzięki
stałemu powiększaniu oferty
na wyświetlacze graficzne.
Jednak ich nadal dość
wysokie ceny sprawiają,
że amatorzy coraz częściej
szukają podzespołów z odzysku.
Szczególną popularnością cieszą
się wyświetlacze z telefonów
komórkowych.
Tabela 24. Porównanie trybów normalnego i szybkiego zapisu do GRAM
Tryb normalny
(HWM=0)
Tryb szybkiego zapisu (HWM=1)
Operacje logiczne mogą być użyte
nie mogą być użyte
Operacje zapisu warunkowego mogą być użyte
nie mogą być użyte
Funkcja zamiany kolejności
kolorów (BGR=1)
może być użyta
może być użyta
Funkcja zapisu z użyciem
maski
może być użyta
może być użyta
Adres GRAM
dowolnie ustawiany
w obrębie GRAM
dwa najmniej znaczące bity powinny być
ustawione na:
11 dla I/D0=0
00 dla I/D0=1
Odczyt GRAM
możliwy
Niemożliwy
Zapis GRAM
możliwy
możliwy, ale mogą być potrzebne „puste”
zapisy na początku lub końcu okna
Adres okna dostępu do
pamięci GRAM
dowolny w obrębie
GRAM
okno musi być większe od 4 słów w po-
ziomie.
Ustawienie kierunku zapisu
(bit AM)
dowolne
tylko w poziomie (AM=0)
Tab. 25. Liczba „pustych” zapisów do
wstawienia na początku okna
i związane z nimi układy zasilania
są wyłączone, dzięki czemu uzy-
skuje się znaczną redukcję poboru
prądu. Ponadto w tym trybie nie
działa korekcja gamma i ustawienia
rejestrów Gamma control 1...10 jest
pomijane. W trybie 8–kolorowym
bity odpowiedzialne za kolory
czerwony i niebieski powinny być
równe 00000 lub 11111, a za ko-
lor zielony 000000 lub 111111.
Podczas przełączania wyświetlacza
w tryb 8–kolorowy zawartość pamię-
ci powinna być zapisana od nowa
z uwzględnieniem 8–kolorowego
zapisu danych. Na rys. 15 przed-
stawiona jest sekwencja przejścia
w tryb 8–kolorowy i z powrotem
w tryb pełnokolorowy. Pomiędzy
pewnymi etapami tych sekwencji
musi nastąpić przerwa potrzebna
na odświeżenie 2 lub więcej peł-
nych ramek obrazu wyświetlacza.
HSA1 HSA0
Liczba „pustych”
zapisów na początku
okna
Znamy już niemal wszystkie taj-
niki sterowania kolorowym wyświet-
laczem graficznym z telefonu Sie-
mens S65/M65. Wiedzę uzupełnimy
w niniejszym artykule.
0 0
0
0 1
1
1 0
2
1 1
3
Tryb szybkiego zapisu do
pamięci GRAM w trybie burst
Kontroler HD66773 umożliwia
zapis do pamięci GRAM w tzw.
trybie burst . Gdy tryb ten jest
włączony (bit HWM=1) odbierane
dane są zapisywane do 4 tym-
czasowych rejestrów i dopiero po
zapełnieniu ich zawartość jest ko-
piowana za „jednym zamachem”
do pamięci GRAM. W tym czasie,
kolejne nowe dane mogą być bez
przerwy odbierane i nie jest traco-
ny czas na zapis do pamięci. Ten
tryb jest użyteczny w przypadku
wyświetlania szybko zmiennych
obrazów, np. animacji, jednak
związane są z nim pewne ograni-
czenia przedstawione w tab. 24 .
Jeśli okno dostępu do pamię-
ci jest ustawione tak, że adresy
początku okna lub końca okna
w poziomie nie są wielokrotnoś-
cią liczby 4, to potrzebne są „pu-
ste” zapisy na początku lub końcu
tego okna. Nie zostaną one jednak
przepisane do pamięci GRAM, są
wymagane ze względu na to, że
w tym trybie jednocześnie do pa-
mięci są kopiowane 4 słowa da-
nych. Suma wszystkich zapisów
w pojedynczym rzędzie, włącznie
z „pustymi” zapisami musi być
podzielna przez 4. Tab. 25 i 26
przedstawiają ile takich „pustych”
zapisów należy wstawić.
Tab. 26. Liczba „pustych” zapisów do
wstawienia na końcu okna
Liczba „pustych” zapi-
sów na końcu okna
Tryb 8–kolorowy
W tym trybie kontroler używa
tylko minimalnego i maksymalnego
napięcia generatora odcieni sza-
rości, pozostałe poziomy napięć
HEA1 HEA0
0 0
3
0 1
2
1 0
1
1 1
0
Elektronika Praktyczna 12/2007
101
682289639.026.png 682289639.027.png
KURS
Rys. 16. Sekwencja startowa (inicja-
lizacja)
Rys. 17. Sekwencja wyłączenia zasi-
lania
Rys. 15. Sekwencja wejścia w tryb 8-kolorowy i z powrotem w tryb pełno-
-kolorowy
Inicjalizacja oraz sekwencja
wyłączenia wyświetlacza
Po podaniu napię-
cia zasilania wyświetlacz
musi zostać inicjalizowa-
ny odpowiednią sekwencją
startową . Pokazano ją na
rys. 16 . Należy przestrze-
gać odstępów czasowych
pomiędzy poszczególnymi
etapami inicjalizacji, aby
dać czas układom zasi-
lania na ustabilizowanie
swojej pracy. W przypadku
wyłączenia zasilania odpo-
wiednią sekwencję przed-
stawiono na rys. 17 .
Rys. 18. Schemat ideowy dołączenia wyświetlacza do mikrokontrolera oraz przetwornicy
napięcia wykorzystywanego do podświetlania LED
Przykładowy program
Jak łatwo zauważyć
kontroler HD66773 posia-
da naprawdę mnóstwo op-
cji i możliwości, w szcze-
gólności trudne wydaje
się ustawienie wszyst-
kich rejestrów kontrolu-
jących pracę przetwornic
napięcia. Z tego powodu
102
Elektronika Praktyczna 12/2007
682289639.028.png 682289639.029.png 682289639.001.png 682289639.002.png 682289639.003.png 682289639.004.png 682289639.005.png 682289639.006.png 682289639.007.png 682289639.008.png 682289639.009.png 682289639.010.png 682289639.011.png 682289639.012.png 682289639.013.png 682289639.014.png 682289639.015.png 682289639.016.png 682289639.017.png 682289639.018.png 682289639.019.png 682289639.020.png 682289639.021.png 682289639.022.png 682289639.023.png 682289639.024.png
 
KURS
Tab. 27. Optymalne, początkowe ustawienia rejestrów dla wyświetlacza z telefo-
nu Siemens
Indeks
instrukcji
Nazwa instrukcji
Ustawienie
Opis
nie z rys. 18 . Zadaniem programu
jest wyświetlenie na wyświetlaczu
kolorowych pasów, podobnych do
tych jakich używa się podczas te-
stowania transmisji TV. Funkcje
nie są napisane optymalnie, ale
dzięki temu program jest bardziej
czytelny. W celu zwiększenia pręd-
kości działania kodu, warto funkcje
spi_send() oraz lcd_write() zastą-
pić makrami. Warto także urucho-
mić pętlę PLL, zwiększając w ten
sposób częstotliwość taktowania
mikrokontrolera. Do komunikacji
z wyświetlaczem użyto interfejsu
SPI1 zamiast SPI0, ze względu na
wbudowany bufor nadawania oraz
możliwość pracy z dużo większą
prędkością niż SPI0. Podczas te-
stów udało mi się z powodzeniem
ustawić maksymalną możliwą czę-
stotliwość taktowania sygnału SCK
i wyświetlacz bez problemu odbie-
rał wszystkie dane. Należy jednak
pamiętać, aby linie SI oraz SCK
były możliwie jak najkrótsze i na-
leży także unikać wszelkich pojem-
ności pasożytniczych.
R01h Driver output control 00000010 00010101 GS=1; 172 linii matrycy LCD
R02h LCD drive AC control 00000100 00000000 przeplot co 1 linię
DDVDH=Vci1 x 2; VGH=Vci1
x 6; największa częstotliwość
pracy przetwornic; średnia
wartość prądu wzmacniacza
operacyjnego
R04h Power control 2 00000000 00000000 matryca Cst
R05h
Entry mode
00000000 00110000
autoinkrementacja adresu
w pionie i poziomie
R06h Compare register 00000000 00000000
funkcja operacji logicznych
wyłączona
REV=1; pozostałe bity zgodnie
z sekwencją włączenia wyświet-
lacza
R0Bh Frame cycle control 00000000 00000000 ustawienia dla największej pręd-
kości pracy wyświetlacza
R0Ch Power control 3 00000000 00000101 Vci1=Vci x 0,73
Display control 00000000 00xx01xx
R0Dh Power control 4 00000110 000x0110
VREG1OUT=VciOUT x 1,85;
VREG2OUT=VciOUT x –4,5;
pozostały bit zgodnie z sekwen-
cją startową
amplitudy VCOM
i VGOFF=VREG1OUT x 0,99;
napięcie VCOMH regulowane ze-
wnętrznym potencjometrem; po-
zostały bit zgodnie z sekwencją
startową
R0Fh Gate scan starting position 00000000 00000000 pierwsza linia matrycy od
pierwszego rzędu drivera
R11h Vertical scroll control 00000000 00000000 funkcja płynnego przewijania
wyłączona
R14h First screen drive position 10101111 00000000 pierwszy ekran ustawiony na
cały obszar matrycy LCD
R15h Second screen drive position 00000000 00000000 drugi ekran wyłączony
R16h Horizontal RAM address position 10000011 00000000 okno dostępu na całą przestrzeń
GRAM
R17h Vertical RAM address position 10101111 00000000
R20h RAM write data mask 00000000 00000000 funkcja maski wyłączona
R30h Gamma control 1 00000000 00000000
Przetwornica napięcia
podświetlenia LED
Do zasilania podświetlenia LED
potrzebne jest napięcie 10,4 V.
Uzyskanie tego napięcia z 3,3 V
jest możliwe dzięki prostej prze-
twornicy, której schemat jest
przedstawiony na rys. 18. Do jej
sterowania potrzebny jest przebieg
prostokątny o częstotliwości 50 kHz
i wypełnieniu 50%, który można
wygenerować dzięki modulatorowi
PWM mikrokontrolera LPC2138.
Regulując wypełnienie tego prze-
biegu, można także regulować jas-
ność świecenia podświetlenia LED.
Układ jest zbudowany w oparciu
o 2 tranzystory. Tranzystor T2
wraz z cewką L1 i diodą D1 two-
rzą klasyczny układ przetwornicy
podwyższającej napięcie. Tranzy-
stor T1 służy do odwrócenia fazy
sygnału kluczowania, dzięki czemu
otwarte wejście sygnału kluczowa-
nia nie powoduje otwarcia tranzy-
stora T2 i nie płynie wtedy przez
niego prąd zwarcia. Diody zenera
D2 i D3 są opcjonalne, stanowią
zabezpieczenie przed zbyt wysokim
napięciem na wyjściu. Kondensator
C4 służy do filtrowania napięcia
na wyjściu przetwornicy.
Sebastian Gremba
sebgonzo@o2.pl
R31h Gamma control 2 00000100 00000000
R32h Gamma control 3 00000010 00000111
R33h Gamma control 4 00000111 00000000
R34h Gamma control 5 00000000 00000101
R35h Gamma control 6 00000111 00000011
R36h Gamma control 7 00000111 00000111
R37h Gamma control 8 00000000 00000111
R3Ah Gamma control 9 00010010 00000000
R3Bh Gamma control 10 00000000 00001001
parametry korekcji gamma
dostosowane pod dany typ
wyświetlacza
w tab. 27 zamieszczono konfigu-
rację kontrolera pod wyświetlacz
z telefonu Siemens, dzięki której
jego pierwsze uruchomienie powin-
no stać się dużo łatwiejsze. Oczy-
wiście warto poeksperymentować
z tymi ustawieniami, co pozwoli
zmniejszyć pobór mocy lub popra-
wić jakość wyświetlanego obrazu.
List. 1, 2 i 3 (zamieszczone na
CD-EP12/2007B i na naszej stronie
internetowej w dziale Download )
zawierają fragmenty przykładowego
programu napisanego w środowisku
WINARM pod omawiany wyświet-
lacz. Program przygotowano dla
mikrokontrolera LPC2138, który jest
podłączony do wyświetlacza zgod-
Elektronika Praktyczna 12/2007
103
R03h Power control 1 00000000 00001100
R07h
R0Eh Power control 5 00x01101 00011111
682289639.025.png
Zgłoś jeśli naruszono regulamin