PMOD用にZyboに繋がるOLEDがDigilentから販売されているので今回試してみました。
こちらのページのとおりやってみるとあっさり動作しました。
Digilentのライブラリの充実っぷりに驚きです。
次にこのOLEDパネルを、高速度撮影の出来る Sony の Xperia XZs で撮影してみました。
机上で計算した限りデフォルト値では、102fps程度の動作のはずです。なのでカメラの露光時間で64line × 102/960 = 6.8ラインが写っていれば目論見どおりです(やや幅広な気もしますが、こんなものな気もします)。
で、ここからデータシートと睨めっこです。どうやらもっとも発行時間の長い GS63 (輝度が6bitなので輝度値63の時の点灯時間)が基準になっているようです。
Digilentのサンプルソースから、初期設定箇所を探して、GS1~GS63 まで 32個あるテーブルを書き換えるコードを追加してみます。ついでに画像も書き込む前に2値化(つまり8色化)してます。
GS63をあまり小さくすると何も見えなくなってきたので、最終的に5まで下げました。
多少試行錯誤はしたのですが、階調さえ落とせば高速化したように見えます。
なお、このおじさんの写真はDigilentのサンプルプログラムに埋まっていた画像です(誰なんでしょう? 開発者とかなのかな? (^^;; )。
データシートに従って机上計算したところ、内蔵オシレータが Typical値想定で 869Hz 出ているはずです。
960fps撮影なので1コマの間に概ね画面全体が写っていれば正解のはずです。
しかし、ローリングシャッター歪が見えないのはなぜだろう….(悩み)。高速度撮影時もローリングひずみ除去処理が入ってたら逆に計測性が難しくなるなぁ。
今回買ったボードはPMODからSPI接続ですが、SSD1331自体は1cycle 130nsでのパラレル書き込みも出来るようです。
なので、PMODから一旦LVDSなどで出してSERDESデコーダICを載せたボードを起こせばハイフレーム駆動できるんじゃないかと予想しています。
ただ、SSD1331以外のコントローラだと書き込みが300nsというのが多いのですよね(謎)。OLED自体はaitendoさんやAlibabaなんかで安いものが出回っているので、もう少し安くて解像度があって書き込みの早いやつが無いかと探し中です。
先がだいぶ楽しみになりました。
(2018/02/19追記)
パラレルモードでの書き込み速度を調べてみました。
SSD1331 96x 64 130ns
SSD1351 128×128 300ns
SSD1352 160×128 300ns
SSD1353 160×132 300ns
SSD1355 128×160 300ns
SSD1357 128×128 不明
SSD1331以外、結構遅いようです。内蔵メモリの構造とかかなぁ?
困っりました、SSD1331を4枚並べて面積を増やすぐらいしか思いつけない….
コメント