ノリタケの高画素(256x128)のVFDで遊んでいます。このVFDの醍醐味はパラレルインターフェース接続のグラフィックDMAモードです。メーカーサイトでシリアルインターフェース用のサンプルはいろいろ提供されているのですが、とにかく遅い。アニメーション的なことをやろうとしたらパラレル接続が必須なのですが、パラレルインターフェースを使った例は見つからなかったので自分で作ってみました。
線や文字の描画はRaspberry pi zero側で行い、VFDのメモリにビットマップを転送して表示しています。
↓動画です
Noritake itron GU256x128C-3100 VFD Wireframe Utah Teapot
ノリタケのVFDでやかんを回してみました。
パラレルインターフェースのグラフィックDMAモード。
線や文字の描画はRaspberry pi ...
youtube#video
こちらは、Raspberry pi 4上のffmpegでmp4動画をデコードしながらVFDにバッファを転送して表示しています。120FPSと出ていますが、これはラズパイからVFDへの転送速度です。VFD自体は65FPSで表示しているのでコマは飛んでいます。
Bad Apple!! on Noritake 256x128 VFD graphic DMA mode full speed(no audio)
Raspberry pi 4上のffmpegでmp4動画をデコードしながらVFDにバッファを転送して表示しています。120FPSと出ています...
youtube#video
画像データの転送速度なんですが、ハードウェアマニュアルには上記のようなタイミングが書かれています。1byte送る毎に15μs待つ(RDY監視不要)とか書いてあるんですが、
1画面256x128=32768bit = 4Kbyte
4Kbyte * 15μs/byte = 60ms
なので、それだと15FPSぐらいしか出ません。
試行錯誤の結果、書き込み後のdelayMicroseconds(1)と、書き込み前のRDY監視で十分だったので、いまのところそれで済ましています。ちなみに、nanosleep(1000)だと動かないです。
※コメント投稿者のブログIDはブログ作成者のみに通知されます