LPC2388に接続しているLCDは、CMOSカメラの実験で使っていたものと同一のものです。ちょっと値が張るので、同じモジュールを差し替えて使っている次第です。このLCDは、16ビットパラレルでの接続ですが、データ信号16本に加えて、制御信号として/CS, /WR, /RD, RSの4本が必要なので、合計20本のGPIOを使っています。LPC2388で、この20本をどう割り当てるかですが、外部メモリは使わないだろうということで、次のように使っていました。

この20本を使って、実際に全画面クリアをするのに要する時間を計測してみました。

数字は、10回連続してクリアするのに要した時間です。1回15msくらいかかることになります。なにしろドットをひとつずつソフトで書いていくので、320x240=76800回の書き込みをおこなっているわけです。その際に、

画面クリアの試験は、

ちょびっと改善できました。もちろん、画面の表示も正常です。単純に76800回ループしているだけなので、ちょっとループを展開してやるとかすれば、もう少し早くなるでしょうが、全画面クリアだけ早くなったところで大して意味無いので、こんなもんで納得することにしておきます。

この20本を使って、実際に全画面クリアをするのに要する時間を計測してみました。

数字は、10回連続してクリアするのに要した時間です。1回15msくらいかかることになります。なにしろドットをひとつずつソフトで書いていくので、320x240=76800回の書き込みをおこなっているわけです。その際に、
- 書き込みデータを出力する
- /WRをLに落とす
- /WRをHに戻す
- 書き込みデータを出力するとともに/WRをLに落とす。
- 書き込みデータを出力するとともに/WRをHに戻す。

画面クリアの試験は、

ちょびっと改善できました。もちろん、画面の表示も正常です。単純に76800回ループしているだけなので、ちょっとループを展開してやるとかすれば、もう少し早くなるでしょうが、全画面クリアだけ早くなったところで大して意味無いので、こんなもんで納得することにしておきます。