te_kawasaki
2014年8月15日 8時50分
armadillo-840のHDMI出力を映像機器と組み合わせて使おうとしています。
HDMIで1920x1080/60iのフォーマットを選択すると
# fbset -fb /dev/fb0
mode "1920x1080-30"
# D: 74.250 MHz, H: 33.750 kHz, V: 30.027 Hz
geometry 1920 1080 1920 2160 32
timings 13468 148 88 30 4 44 10
accel false
rgba 8/16,8/8,8/0,8/24
endmode
と、Vが、29.97 もしくは、30で無く、30.027Hzとずれています。
HDMIのモニタ等は映るのですが、映像機器(HDMI-SDI変換やHDMI入力を持つ映像効果装置など)は、映像が出ないものが多いです。
今回使おうとしている、ブラックマジックデザイン社のATEM Television Studioという効果装置では、HDMIに入れると画像は出るのですが、数分に1回程度一瞬画像が上下に揺れる(一瞬同期が乱れる)症状が出ています。
armadillo-840でV:29.97Hzに近づけることは出来ないのでしょうか?
at_daisuke.sasaki
2014年8月25日 17時57分
佐々木大輔です。
記載いただいたタイミングのHDMI出力波形を、弊社のHDMI Analyzerで観測すると、
実際のHDMIの信号のRefresh rateは60.000Hzとなっています。
BusyBoxのfbsetコマンドは、以下のような計算で
Pixcel Clock、H Frequency、V Frequencyを計算し表示しています。
※Atmark-Distの{Atmark Dist}/user/busybox/busybox-1.20.2/util-linux/fbset.c showmode関数
fbsetで表示されるタイミングと、各変数の対応は以下のとおりです。
fbsetの計算式で値を算出すると、表示されているように30.027Hzになりますが、
1080iでは1125 lineに2回V Syncが来る規格であるため、実波形はこの計算どおりにはなりません。
LCDコントローラのドライバ及び、CPUのハードウェアでも、1080iの場合には、
で計算されるline数でV Syncを1回出力
と
で計算されるline数でV Syncを1回出力を
交互に繰り返すようになっており、これにより、1125 lineにV Syncが2回出力されるようになっています。
> Vが、29.97 もしくは、30で無く、30.027Hzとずれています。
fbsetとLCDコントローラのドライバが、上記のような実装であるため、
インターレースの場合、fbsetで表示されるV Frequencyと、実際のHDMI波形のV Frequencyが一致しません。
armadilloが出力しているHDMI波形は、HDMI Analyzerで観測した所、
規格に沿ったものになっているので、
映像機器と接続できない問題は、他にあるのではないかと考えています。
尚、映像機器と接続する場合には、どのようなDisplay Modeで接続されていますか?
映像機器と接続した場合の、以下のコマンドの結果を教えてもらえますか?