2013年10月21日月曜日

SPI 液晶ディスプレイ

秋月電子通商で扱われるようになった SPI 接続のグラフィクスディスプレイ.コントローラチップ ST7565 の Arduino 用ドライバは,Adafruit が公開しているものがある.
初期化シーケンスが違うためかコントラスト設定がうまくいっていないようだが,なにか表示されるようにはなる.商品説明書のとおりに変更すると,コントラストもきれいになる.ディスプレイの上下やピクセル数をあわせる必要もありそうだ.

しかし,RAM の小さいマイコン,たとえば Arduino の ATMega328P の 2KB 程度,では実用にならないことに気がついた.ディスプレイコントローラ ST7565 へはデータまたはコマンドの書き込みのみなので,表示されているピクセルの状態を読み出せない.グラフィックディスプレイとしてピクセル単位でアクセスするには,描画する側にスクリーンバッファが必要になる.128x64 ビットで 1KBytes を消費してしまう.

SPI インターフェースで高速なので残念だが,RAM の多いチップ向き.
Strawberry Linux の 102x64 グラフィクス LCD も SPI バスで,商品ページにリンクされているデータシート?を見る限り,スレーブデータアウトの端子がないので,これもビットマップアイコン/キャラクタディスプレイということのようだ.