Řízení grafického LCD z mobilu Alcatel 311

   Už nějakou dobu se mi v šuplíku povalují LCD displeje z telefonů Alcatel 311 (nebo podobných), tak jsem se je po delší době pokusil rozchodit. Jedná se o malé grafické LCD bez znakové sady s rozlišením 96x48 pixelů založené na řadičích SED1566 a KS0723 (upozorňuji, že nejsou zcela identické).
   Displeje jsou s deskou telefonu propojeny páskovým přívodem s 26 piny a datový přenos probíhá sériově přes SPI a pár dalších signálů. Lze je napájet napětím 3 až 5V.


   Místo označení řadiče ukazují následující obrázky. Zde bych rád upozornil, že zhruba na těchto místech jsou označeny i jiné displeje a mnohdy jsou nápisy ještě menší a zákeřně překryty samplepkou.


Číslování a význam vývodů

   Vývod číslo 1 pro LCD s řadičem SED1566 ukazuje obrázek. Obrázek taky ukazuje, jak to dopadne, když se za LCD moc zatáhne - utrhnou se pásky k připájení (pásek je k desce přilepený).


Vývod Název Funkce
1 NC nezapojeno
2 CL vstup externích hodin/výstup interních hodin
3 GND GND řadiče
4 \CS1 negativní chip select
5 \RES negativní reset
6 A0 A0=0 instrukce, A0=1 data
7 GND GND řadiče
8 SCK hodiny pro SPI
9 SI vstup dat pro SPI
10 Vdd napájení +3 až +5V
11 GND GND řadiče
12 Vout výstup nábojové pumpy
13 CAP3- pin pro CAP3- kondík nábojové pumpy
14 CAP1+ pin pro CAP1+ kondík nábojové pumpy
15 CAP1- pin pro CAP1- kondík nábojové pumpy
16 CAP2- pin pro CAP2- kondík nábojové pumpy
17 CAP2+ pin pro CAP2+ kondík nábojové pumpy
18 V1 vstupní/výstupní pin děliče napětí pro LCD, Vdd>V1>V2
19 V2 vstupní/výstupní pin děliče napětí pro LCD, V1>V2>V3
20 V3 vstupní/výstupní pin děliče napětí pro LCD, V2>V3>V4
21 V4 vstupní/výstupní pin děliče napětí pro LCD, V3>V4>V5
22 V5 vstupní/výstupní pin děliče napětí pro LCD, V4>V5
23 Vr vstup napětí Vdd>Vr>V5
24 CLS CLS=0 externí oscilátor, vstup na CL, CLS=1 interní oscilátor výstup na CL
25 IRS IRS=0 externí dělič na Vr, IRS=1 interní dělič Vr (Vr neaktivní)
26 NC nezapojeno

   Pokud by měl někdo o rozmístění pinů pochybnosti, není nic snažšího něž udělat fotku vlastního čipu proti světlu a podle rozmístění pinů čipu (uvedeno v datasheetu) ověřit významy signálů pásku.


DC/DC měnič napětí pro LCD

   LCD (vlastní sklo) vyžaduje poměrně vysoké napětí. Řadič je z tohoto důvodu vybaven DC/DC meničem jehož výstupem je pin Vout. Dle datasheetu má být výsledné napětí DC/DC měniče v rozsahu -6V až -18V (vztaženo k Vdd namísto ke GND, což je jeden z rozdílů mezi řadiči SED... a KS...). DC/DC měnič lze zapojit v několika uspořádáních - 2x, 3x a 4x podle napájecího napětí. Výsledné napětí měniče však nesmí přesáhnout -18V (opět vztaženo proti Vdd)!
   Pro napětí 5V vyhovují násobitele 2x a 3x uvedené na následujících chématech. Pro nízké napájecí napětí je nutné použít 4-násobič.


Komunikace s displejem

   Řadiče umožňují komunikaci paralelně i sériově, ale páskový přivod k řadiči obsahuje pouze signály pro sériový přenos a navíc jen jednosměrně. Nicméně SPI povoluje slušnou přenosovou rychlost - pro napětí 2.7V až 4.5V do 4MHz a pro napětí 4.5V až 5.5V do 5MHz. Jeden snímek lze tedy přenést za cca 2.2ms.

# Význam instrukce A0 D7 D6 D5 D4 D3 D2 D1 D0
#1 Displej D=0/1 off/on 0 1 0 1 0 1 1 1 D
#2 PB=0/1 měnič off/on
PR=0/1 regulátor off/on
PF=0/1 sledovač off/on
0 0 0 1 0 1 PB PR PF
#3 Počáteční řádek LCD 0 0 1 řádek
#4 P=0/1 pozitivní/negativní 0 1 0 1 0 0 1 1 P
#5 R=0/1 normální/obrácené pořadí řádků 0 1 1 0 0 R X X X
#6 C=0/1 normální zobrazení/všechny body černé 0 1 0 1 0 0 1 0 C
#7 LCD bias viz. text 0 1 0 1 0 0 0 1 B
#8 Rb/Ra+1 viz text 0 0 0 1 0 0 poměr
#9 Jas * 0 1 0 0 0 0 0 0 1
0 X X jas
#10 S=0/1 normální/blikací mód *
MÓD=0/1/2/3 tma/bliká T=1s/bliká T=0.5s/normální chod
0 1 0 1 0 1 1 0 S
0 X X X X X X MÓD
#11 Stránka paměti (řádek displeje 8pix) 0 1 0 1 1 stránka
#12 Sloupec displeje horní 4 bity 0 0 0 0 1 sloupec MSB
#13 Sloupec displeje dolní 4 bity 0 0 0 0 0 sloupec LSB
#14 Zapsat data 1 data

* dvou bytová instrukce, vždy musí být odeslány oba příkazy

#3 - počáteční řádek LCD

   Tento příkaz uřčuje mapování prvního řádku LCD v RAM. Standarně tedy 0x00. Obsah RAM paměti displeje se tímto příkazem nezmění. Lze ho využít například k vertikálnímu rolování.

#2 -

   Tento příkaz uřčuje mapování prvního řádku LCD v RAM. Standarně tedy 0x00. Obsah RAM paměti displeje se tímto příkazem nezmění. Lze ho využít například k vertikálnímu rolování.

Poslední aktualizace: 7.3.2009