TFT液晶モジュール(128×128,1.44")[ZY-FGD1442701V1]
ハードウェアの仕様
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