2017年5月30日火曜日

HUB75

 秋月とかamazonとかスイッチなんちゃらで売ってる16x32とか32x32のLEDパネルのはなし。



 ArduinoとかRasPiだとライブラリがあるみたいなので、簡単に使いたいならそっちを使ってね。

***

 とりあえずロジアナのキャプチャ画像でも。




 上から、1行分、1フレーム分(1bit分)、1フレーム分(4bit分)のキャプチャ。色深度4bitでRGBなので、4096色の表現が可能。ただしコントラストが低いのでそんなに見分けられないと思う。
 1フレームを表示するのにおよそ8msecで、だいたい120fpsくらい出てる。液晶で言えば120fpsはかなり早い方だが、LEDパネルではコレが最小値。コレよりも小さいとパネルの駆動方式の影響でフリッカーが凄い。100fpsでなんかチカチカしてるなーという感じ。
 ちなみに50Hz地域では電球は100Hzで明滅してるので、電球の明滅が気になる人は100Hzが見えてる。僕は見えないが、寿命が近い蛍光灯とかは気になってくるので、デューティー比によっては100Hzは見えるみたい。


 データの転送方法は、クロックに同期したピクセルデータを送り、その後Blankで非表示にしてからラッチやアドレスの変更を行って、Blankを解除して表示する。
 アドレスは「アドレスに一致した行が表示される」という挙動なので、ラッチ時にはアドレスは評価されない。というかパネル1枚にレジスタがあって、アドレスで選択した行のシンクが有効になる、みたいな挙動なのかも。

 同期シリアルなのでSPIを使うのが一番楽だと思うが、RGB2セットで6本の同期シリアルが必用なので、一般的なマイコンではちょっとつらい。
 試作の時はGPIOにDMAとタイマで転送した。転送中はCPUリソースを他に使えるという利点が有ったが、結局転送データの生成に転送と同じくらいの時間が必用、DMAの遅れやTIMの組み合わせが面倒、ということで今はソフトウェアで転送している。

 STM32F405RGでも9kpxくらいの領域は余裕で表示できる。とはいえ動画の再生とかは難しいと思う。主にデータの読み込みの問題で。でも表示領域はせいぜい128x128px程度までなので、頑張ればできるかも?

 FPGAを使える人ならDVI-HUB75の変換を作ったほうが楽かもしれない。データソースの意味で。DVIで入力できるならPCで表示データを作れるし。

***

 前にディスカバリーで見た電光掲示板工場で使ってたのもHUB75を使ったタイプのパネルだった気がする。フラットケーブルに見覚えがある。おそらく球場とかについてるでっかい電光掲示板も同じようなもののはず。でも日本のでっかいやつだと三菱とかが作ってるから、独自バスかな? 三菱電機のWebページを見てみると、解像度は256x256から1024x768あたりまでらし(コントローラ増設で複数を並べることはできる)。
 256x256の静止画でいいならマイコン4個で制御できる。でもリアルタイムで映像を入力して、となるとマイコンじゃつらいかな。そうするとやはりFPGAとかになるんだろうか。

0 件のコメント:

コメントを投稿