TFT液晶モジュール(128×128,1.44")[ZY-FGD1442701V1]

  • 型番 ZY-FGD1442701V1
    • aitendoで900円
    • 128x128のTFT

ハードウェアの仕様

DE0ボードのLCDコネクタにあわせこむ
とりえあずResetをHigh固定、ReadをLow固定にする。端子たりないんだもん
CE,WR,CD,D[7:0]は使う
接続はVDD,GNDいれて13本
(2009/12/1)


バックライトは点灯固定で。本当はLCD_BLを使ってPWM制御したいけど4Vちょい出てるし、とりあえずパス。
DE0のVCCが4Vちょいなので、仕方なくレギュレータでドロップ。(アジャストタイプ)
液晶本体は両面テープでの固定。IFは16ピン。

DE0に装着するとこんなかんじ。

本当は透明板の内側にしたかったんだけど、ちょっと厳しかったので早々にあきらめた。
レギュレータとコネクタをまじめに選定すれば液晶は薄いので余裕。

ST7735コントローラの仕様

使う側からはFIFO[9:0]にデータを書きこむことにする。
リードの場合、データはFIFO[7:0]で戻ってくる。
描画のタイミング同期とかはとりあえず考えない方向でいこう・・・かな
(2009/12/2)


書き込みFIFOの仕様
上位2ビットをStatus、下位8ビットをDataとする
Statusによって制御線の動作が決まる
FIFOはHalf Fullを実装しよう。いっぱいになるのがわかるように・・・
割り込みはいらないと思うけどどうよ?FullやEmptyで割り込みとかいるだろうか
ステータスレジスタなんかはポーリングでReadしてもいいのかもしれない

アドレス Attr Bit 機能
0x0 R [0] 書き込みFIFO Full
R [1] 書き込みFIFO Empty
R [2] 書き込みFIFO HalfFull
R [3] 書き込みFIFO HalfEmpty
- [7:4] (Reserved)
R [8] 読み出しFIFO Full
R [9] 読み出しFIFO Empty
R [10] 読み出しFIFO HalfFull
R [11] 読み出しFIFO HalfEmpty
- [15:12] (Reserved)
RW [23:16] Full Half値
RW [31:24] Empty Half値
0x1 W [7:0] 書き込みFIFO データ
W [9:8] 書き込みFIFO コマンド
0x2 R [7:0] 読み込みFIFO データ
R [8] 読み出しFIFO Empty(0x0[8]と同様)
- [31:9] (Reserved)
0x3 - [31:0] (Reserved)

FIFOライトのFullがやっかいだ。HalfFullで割り込みか?いやいや・・・
とりあえずR/Wはbusy制御する方向で。

コマンド[1:0] 略記号 動作
00 C Command Write
01 W Write Data
10 r Dummy Read/Wait timer
11 R Read Data

  • [r]時、データが0ならReadDataと同じ。それ以外のときはカウンタを回して時間稼ぎ

とりあえず転送速度を考えたときに、WRの周期が100ns(min)てのが支配的
色に関して、RGB444(12bit)かRGB565(16bit)を選択できる。
1ドットの転送にRGB444なら1.5サイクル、RGB565なら2サイクルかかり、連続で[W]すれば[C]は無視できるってことで、
128x128=16384

RGB444の時は 1[sec]/(16384[dot]*1.5[cycle]*100[nsec]) = 1/2.4576[ms] = 407[fps]
RGB565の時は 1[sec]/(16384[dot]*2.0[cycle]*100[nsec]) = 1/3.2768[ms] = 305[fps]

あれ?早すぎる?計算間違えたかなぁ・・・

バス上の話。
ライトはDMA転送なりでガリガリ書いてくれればよい。タイマ割り込みとかで。
そうすると、定期的に液晶のステータスをリードしていて(最優先)、シンク情報にあわせて割り込み出すか。
間にリードが挟まるのでバーストライトが中断されることになる。よって、分割の制御をしなくてはならない。
(アドレスを保持っておいて、設定しなおしてやらなくてはならない…のか?アドレスカウンタはST7735側で保持ってるのかも。仕様書読まないと)

割り込みは適当に100us幅のパルスとか出せばいいよね
ちらつかないようにタイミング見て書いたりするのはDMACの仕事だから、こっちでは考えないようにしよう
きっとDMACの人はSRAM->ST7735へのDMA転送とかするんだ

DMACの人は何種類か作る可能性もあるけど、ST7735コントローラはシンプルにしとこう
はじめはDMACの人はなくてソフトだけで書いて、いい感じになったらHAL化の方向で

AvalonにあわせとけばPSoC Builderで構成いじればいいので楽なんじゃないかしら
(2009/12/3)


最終更新:2009年12月03日 23:02