2016年8月9日火曜日

ili9325搭載小型LCDに対する初期化コードの検討

概要

ili9325搭載小型LCDに対する初期化コードを検討する。
Application noteに記載されている各種液晶用の各初期化コードと、GithubにてITDB02-2.8として公開されている初期化コードとを比較する。
差異は14カ所。

資料

Datasheet
Application note

Data部の比較

Githubのinit値
(Index , Data); //備考

(0x0008 , 0x0207); // set the back porch and front porch
データシート P52 08h Display Control 2 → P60 以下略 
CMO 2.4 のみ202。
202 : 0010 0000 0010
207 : 0010 0000 0111
Porch?表示領域の位置的なもんかな。
これはクリティカルな部分じゃないな。

(0x0010, 0x1690); // SAP, BT[3:0], AP, DSTB, SLP, STB  *2回目
Power Control 1
1190、1290、1490、1690 の4種類あり
1190 : 0001 0001 1001 0000
1290 : 0001 0010 1001 0000
1490 : 0001 0100 1001 0000
1690 : 0001 0110 1001 0000 *Github
BT[2:0]:optimal step-up factor for the operating voltage
動作電圧を昇圧する時の倍率かな?
"To reduce power consumption, set a smaller"とあるから、とりあえず小さめスタートか。
Githubでは1690。CMO 2.8と同じ。
最小から2つめの選択だからまあいいんかな?

(0x0011, 0x0227); // DC1[2:0], DC0[2:0], VC[2:0]  *2回目
Power Control 2
HITACHI 2.4 のみ221。
221 : 0010 0010 0001
223 : 0010 0010 0011 *Github
227 : 0010 0010 0111
基準電圧の倍率。HITACHIがx0.9(221)、Githubがx0.8(223)、他は全てx1.0(227)。
とりあえず223でやっといて挙動が怪しければ227(あるいは223)にするか?

(0x0012, 0x000D); // Internal reference voltage= Vci  *2回目
Power Control 3
Application noteでは18、19、1A、1B、1C。どれもGithubとは違う。
18 : 0001 1000
19 : 0001 1001
1A : 0001 1010
1B : 0001 1011
1C : 0001 1100
0D : 0000 1101  *Github
PON:VGL output …?どう判断するのかわからん…。
0でdisable。1でenable。
VRH[3:0]:Set the amplifying rate グレースケールの基準電圧?なのかな
上の範囲はちょうどx1.65~x1.85だな。クリティカルな部分ではなさそう

(0x0013, 0x1200); // Set VDV[4:0] for VCOM amplitude  *2回目
Power Control 4
Githubは他のどれとも違う。
1100 : 0001 0001 0000 0000
1200 : 0001 0010 0000 0000 *Github
1400 : 0001 0100 0000 0000
1600 : 0001 0110 0000 0000
1900 : 0001 1001 0000 0000
1D00 : 0001 1101 0000 0000
amplitude of Vcom alternating voltage …ん?
x0.96~x1.20。何を元に判断すんの…

(0x0029, 0x000A); // Set VCM[5:0] for VCOMH
Power Control 7
Githubは他のどれとも違う。 
0A : 0000 1010 *Github
0F : 0000 1111
11 : 0001 0001
18 : 0001 1000
19 : 0001 1001
1D : 0001 1101
28 : 0010 1000
internal VcomH voltage …???
0.735~0.885。……(´Д`;)ワカンネ

(0x0030~3D, 0x0603) // Adjust the Gamma Curve
名前からしてクリティカルな部分じゃなかろう。
もし表示が不自然になったなら色々試せば良い。

結論

init=-1,0x00E3,0x3008,-1,0x00E7,0x0012,-1,0x00EF,0x1231,-1,0x0001,0x0100,-1,0x0002,0x0700,-1,0x0003,0x1028,-1,0x0004,0x0000,-1,0x0008,0x0207,-1,0x0009,0x0000,-1,0x000A,0x0000,-1,0x000C,0x0000,-1,0x000D,0x0000,-1,0x000F,0x0000,-1,0x0010,0x0000,-1,0x0011,0x0007,-1,0x0012,0x0000,-1,0x0013,0x0000,-2,200,-1,0x0010,0x1690,-1,0x0011,0x0223,-2,50,-1,0x0012,0x000D,-2,50,-1,0x0013,0x1200,-1,0x0029,0x000A,-1,0x002B,0x000C,-2,50,-1,0x0020,0x0000,-1,0x0021,0x0000,-1,0x0030,0x0000,-1,0x0031,0x0506,-1,0x0032,0x0104,-1,0x0035,0x0207,-1,0x0036,0x000F,-1,0x0037,0x0306,-1,0x0038,0x0102,-1,0x0039,0x0707,-1,0x003C,0x0702,-1,0x003D,0x1604,-1,0x0050,0x0000,-1,0x0051,0x00EF,-1,0x0052,0x0000,-1,0x0053,0x013F,-1,0x0060,0xA700,-1,0x0061,0x0001,-1,0x006A,0x0000,-1,0x0080,0x0000,-1,0x0081,0x0000,-1,0x0082,0x0000,-1,0x0083,0x0000,-1,0x0084,0x0000,-1,0x0085,0x0000,-1,0x0090,0x0010,-1,0x0092,0x0600,-1,0x0007,0x0133,-3

Githubの初期化コードは全体的にはなんとなく妥当そうだな。一部怪しくはあるが。
もしこれで不具合がなく、ポートレート(縦長)使用ならあえてinitをオーバーライドしなくてもよさそう。

0x003,0x1028は液晶をランドスケープ使用する時はそうせいと書いてあった
1000 : 0001 0000 0000 0000
1018 : 0001 0000 0001 1000
1028 : 0001 0000 0010 1000
1030 : 0001 0000 0011 0000
I/D[1:0]走査方向かな?
はディレイ。Application noteとまったく同じになっていた。
はかなり怪しい。
ピンクは次に怪しむところ。
の部分はそれの誤りによって初期化に失敗することはなさそう。

補足

(0x0053, 0x013F); // Vertical GRAM Start Address
start and end of the window address area in horizontal direction.

(0x0060, 0xA700); // Gate Scan Line

スキャンライン方向と数。G320 to G1かつ320 Line。
上2あたりいじったら水平、垂直方向を反転させられるの?もしかして。

0 件のコメント :

コメントを投稿