TFTドライバのアセンブラ化

2010/09/28

初期化・通信部分だけ変換しました。

単色リフレッシュは50Hz程度?メモリーカードからの画像表示は
5コマ/秒くらいです。これはカードの読み出し側が律速になっているので、
解像度を落とした上で、何らかの圧縮を行わないと30Hzは出ません。

色空間変換(おそらくYUV420)と、各要素に対してDXT的な圧縮を
組み合わせると良いかな?と思っています。
デコードにパワーが要るのは、コア数に任せて力技で…。

マンデルブロー集合をマルチコアで演算・描画するテスト(出力はTFTドライバ)も
作りましたので、少し整理してからアップロードします。


TFTモジュール動作確認

2010/09/26

ピン数の多い ProtoBoard を使って、無改造状態での表示を確認しました。
16bit パラレルでの接続のため、信号線に20ピン使っています。ぜいたく!

Spin で作っているためリフレッシュに2秒くらい掛かっていますが、
アセンブリに変換すれば、秒10回程度は更新できると思います。


グラデーション。


ワイヤージャングル。
いくつかモジュール側に線を乗せて、外に出る線の数は減らす予定です。


SD カードに置いたRGB565のDDSファイルを表示してみました。
LEDバックライトの影響か、ちょっと青味が強いですね。発色は悪くありません。


TFTモジュールをDemoBoardで使う

2010/09/20

先程のTFTモジュールですが、ジャンパを切り替えて 8bit モードにすることで、
線の数は何とかできそうです。(データ以外の信号は PS/2 ポートに繋ぎます)
ただし、やはり線の数が足りないため、タッチパネルは使えません…。

※シフトレジスタを使えば何とでもなってしまうので、後日試してみようと思います。
 ILI9325 の機能を使えないのは勿体無いですが、ないものはしょうがないですね。


TFTモジュール購入

2010/09/20

2.8インチTFT液晶
http://www.aitendo.co.jp/product/2121

こちらのボードを買いました。
2.8インチ 320×240、タッチパネル付き、3.3V動作のTFT液晶モジュールです。
制御チップの ILI9325 には SPI モードがあり、VRAM も搭載されているので
以前の OLED と同じ使い方が…と、思ったのですが、
モジュールから SPI 用の信号線が出ていませんでした!
なので、パラレルで使うしかなさそうです。
残念ながら、ピン数の少ない DemoBoard には接続できません。

今回の液晶はピクセル数が多いため、Propeller 側に状態を保持しようとすると
2 ビットカラーになってしまいます。表示色数は多いほうが良いので、
フレームバッファが不要なタイル+スプライトのドライバを作ろうと思います。
タッチパネルがあるので、触って楽しめるものにしたいですね。

マンデルブローやレイトレースなどの計算画像や、SDカードからの
ストリーミングであればバッファは(ほぼ)不要なので、こちらも
単純に綺麗な絵を出す方向で実験してみたいと思います。

OLED も値下がりしていたので、1枚追加購入しました。
最近流行の立体視はどうでしょうね?

さて、DemoBoard では使えないことがわかってしまいましたが、
ちょうど Propeller 自体も欲しかったので、ProtoBoard を注文予定です。

USB-シリアル変換装置は、USB-TTL(3.3V)変換ケーブル が良さそうだったのですが、
リセットが出ていません。
改造は面倒なので、Arduino 系の FTDI Basic Breakout で運用予定です。

(追記)DigiKey には USB 付き ProtoBoard がありました。