Armadilloフォーラム

液晶ディスプレイでのノイズについて

tic-hirano

2016年12月28日 14時57分

平野と申します.

Armadillo-840でQtアプリを動かしHDMI出力しています.
PC用の液晶モニターでは発生していないのですが液晶ディスプレイにて下記の症状が発生することがあります.
・添付画像のような横スジが出る
・映像が消え再度表示される

このような症状はfbsetの値を変更することで対応できますでしょうか?

開発環境は下記の通りです.
ATDE5:v20160225
Linuxカーネル:v3.4-at17
ユーザーランド:v20160527
液晶ディスプレイ(1):LCD-V423-N2(NEC),HDMI接続
液晶ディスプレイ(2):LCD-V323-2(NEC),HDMI接続
追加処理(1):「https://armadillo.atmark-techno.com/forum/armadillo/722」を参考に許容誤差を10%に変更
追加処理(2):「/etc/config/configure-fbmode.sh」をrc.localの最後で"chmod -x"する
fbset:
mode "1920x1080-30"
# D: 74.250 MHz, H: 33.750 kHz, V: 30.027 Hz
geometry 1920 1080 1920 4320 32
timings 13468 148 88 30 4 44 10
accel false
rgba 8/16,8/8,8/0,8/24
endmode

同時に動かしていて問題の無いA840とHDMIケーブルを入れ替えても同じ液晶ディスプレイで症状が出るため,
液晶ディスプレイメーカに状況を伝え確認してもらっています.

なお,「自作Qtアプリでの描画処理の問題か?」と標準のカーネル(linux-a840-v1.15.bin.gz)と
ユーザランド(romfs-a840-v1.12.img.gz)にしても発生しました.添付画像はphotoviewer.qmlが動作中に発生したものです.

以上,よろしくお願いします.

ファイル ファイルの説明
ノイズ06_LCD-V423-N2.jpg photoviewer.qmlが動作中に発生
コメント

平野と申します.

液晶ディスプレイの工場プリセットタイミングが下記の通りだったのでそこに近づけるようfbsetのパラメータを調整しました.

解像度:1920x1080
走査周波数
  水平:67.5kHz
  垂直:60Hz

結果はfbsetでの設定結果と液晶ディスプレイの表示が異なりました.このような場合はドライバの見直しなどで対処できるものでしょうか?

MLで見つけた情報(http://lists.atmark-techno.com/pipermail/armadillo/2011-July/007442.html)などを参考に下記のように設定してみました.

ピクセルクロック:6734
  ドットクロックを594MHzから分周(http://armadillo.atmark-techno.com/howto/set-specific-hdmi-signal-timing)した値にする.
  今回は148.5MHzとしたのでピクセルクロックは (1/148.5MHz)*10^12 として算出.
水平解像度:1920
水平同期期間:44
左マージン:148
右マージン:88
  上記は前回記載の30Hzで動作時の値を流用
水平同期周波数:67.5[kHz]
  ドットクロック/(水平解像度 + 左マージン + 右マージン + 水平同期期間)
垂直解像度:1080
垂直同期期間:10
上マージン:30
下マージン:5
  上記は前回記載の30Hzで動作時の値を流用(下マージンだけ調整)
垂直同期周波数:60Hz
  水平同期周波数/(垂直解像度 + 上マージン + 下マージン + 垂直同期期間)
[root@armadillo840-0 (ttySC2) ~]# fbset -xres 1920 -yres 1080 -t 6735 148 88 30 5 44 10
[root@armadillo840-0 (ttySC2) ~]# fbset
 
mode "1920x1080-60"
        # D: 148.478 MHz, H: 67.490 kHz, V: 59.991 Hz
        geometry 1920 1080 1920 4320 32
        timings 6735 148 88 30 5 44 10
        accel false
        rgba 8/16,8/8,8/0,8/24
endmode

このとき液晶ディスプレイでは解像度(1920x1080)と水平同期周波数(67.5kHz)は問題無いのですが,垂直同期周波数が120.2Hzとなっています.
このような場合の対処法はなにかありますでしょうか?

以上,よろしくお願いします.

平野と申します.

自己解決しました.

映像のちらつきについてはHDMIケーブルで液晶ディスプレイに接続していましたが,HDMI-DVIケーブルに変更することでちらつきがなくなりました.
また,利用しているUARTでパリティエラーやフレーミングエラーを発生させてしまう環境でちらつきが起こっていたのでドライバのエラー出力を停止しました.
(atmark-dist/linux-3.x/drivers/tty/serial/sh-sci.c の「parity error」などを出力する個所をコメントアウト)

解像度の変更については「Armadillo-840 製品マニュアル」の「8.3.9.1. ビデオモードの変更」を利用することで対応しました.
http://manual.atmark-techno.com/armadillo-840/armadillo-840_product_man…

fbsetでの設定方法を見かけたため,それで調整するものだと勘違いしていました.