-
Notifications
You must be signed in to change notification settings - Fork 1
convert VGA
BeagleBone Blackには、micro HDMIが付いています。
HDMI付きのプロジェクターなどで、画面を直接プレゼンするときには、HDMIの変換コネクタとHDMIケーブルを持ち歩けば問題ありませんが、残念なことに世間で設置されているプロジェクターは、まだたVGA入力が主流です。
HDMI(IN)-VGA(OUT)なコンバーターは、市販品は結構高価で、それをそのまま購入したのでは、できるだけ安く遊ぶというこのサイトの主旨に反します。
ところが、Amazonでは、安価な中国製と思われるものが入手できます。
こちらは、アックスの竹岡さんのところでRasPiで問題なく動いているようです。
たぶん、中身は先にあげたものと同じだと思いますが、違うところのものを買ってみました。
自動表示がうまくできなくても、BeagleBone Blackでは、kernel起動プションで表示解像度をEDIDと無関係に固定できるので、調整できる可能性があります。 万が一動作しなくても、汎用性は諦めて、HDMIの音声分離用に使えるかもしれません。
また、変換がbit to bitになっていて、希望の解像度での画像の変換ができない可能性もあります。
購入の際には、上記のうような注意外必要です。
この手の製品の使用リポートを読んでみると、動作しないのは、変換チップの動作のために、HDMIから電源を取っているからのように思えます。HDMIでは、規格上電源をとってもいいのは50mA程度(最大55mA)なので、変換用のチップが、これで動作するとは思えません。最近は、ホスト側で500mA程度の供給に耐えるようになっているものが多いそうなので、それをアテにした設計なのかもしれません。
それでも、HDMIの給電足りないときは、下記のような電源供給ケーブルが売られています。
やはり、VGA-HDMIコンバーターは、HDMIの電源吸うのか、USB給電でコンバーターをつないで起動すると、BeagleBone Blackが起動しませんでした。BeagleBone Blackが起動してから挿したら、落ちはしないようですが、しばらくするとハートビート信号が止まって落ちていることがありありました。
5VACで電源供給してやっても、しばらくすると落ちる問題は同じです。
その時に、BeagleBone Blackからはどのように見えているか確認してみました。
EDID信号は読めていません。
root@beaglebone:~# parse-edid /sys/class/drm/card0/card0-HDMI-A-1/edid
parse-edid: parse-edid version 2.0.0
parse-edid: IO error reading EDID
出力解像度をkernelのブートパラメータにハードコードしてみましたが、かわりません。そもそも効いていないのかもしれません。
root@beaglebone:~# cd /media/BEAGLEBONE/
root@beaglebone:/media/BEAGLEBONE# vi uEnv.txt
root@beaglebone:/media/BEAGLEBONE# cat uEnv.txt
kms_force_mode=video=HDMI-A-1:1024x768@60 optargs=quiet drm.debug=7
root@beaglebone:/media/BEAGLEBONE# reboot
root@beaglebone:~# cat /proc/cmdline
console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait
接続はされていると認識しているようです。
root@beaglebone:~# cat /sys/class/drm/card0/card0-HDMI-A-1/enabled
enabled
root@beaglebone:~# cat /sys/class/drm/card0/card0-HDMI-A-1/status
connected
電源管理はVESAのDPMSであることもわかります。
root@beaglebone:~# cat /sys/class/drm/card0/card0-HDMI-A-1/dpms
On
解像度も取れているのですが、モニタ側は「信号が入力されていません」です。
root@beaglebone:~# cat /sys/class/drm/card0/card0-HDMI-A-1/modes
1024x768
800x600
800x600
848x480
640x480
5VACで電源供給してやると、RT1のポリスイッチがかなり熱くなっているのに気が付きました。
RT1は、USBコネクタのすぐ後ろの黄色い部品です。USBのポリスイッチかと思っていたのですが、端子名を調べると、RT1(Polyswitch type fuse for HDMI)と書いてありました。BOMリストによると、100mAで制限するものが付いているようです。ショートすると使えるかもしれないですが、壊す危険があるので、USBからHDMIに給電できるアダプタで試すことにした。
これをHDMIにはさんでやると、画面表示もできた。モニタのほうは、1280x720で表示されている。uEnv.txtで指定したkernelのパラメータは削除してある。
状態を確認してみる。
root@beaglebone:~# parse-edid /sys/class/drm/card0/card0-HDMI-A-1/edid
parse-edid: parse-edid version 2.0.0
parse-edid: EDID checksum passed.
# EDID version 1 revision 3
Section "Monitor"
# Block type: 2:0 3:fc
Identifier "YCE"
VendorName "YCE"
ModelName "YCE"
# Block type: 2:0 3:fc
# Block type: 2:0 3:fd
HorizSync 15-46
VertRefresh 59-61
# Max dot clock (video bandwidth) 80 MHz
# DPMS capabilities: Active off:yes Suspend:no Standby:no
Mode "1920x1080" # vfreq 60.000Hz, hfreq 67.500kHz
DotClock 148.500000
HTimings 1920 2008 2052 2200
VTimings 1080 1084 1089 1125
Flags "+HSync" "+VSync"
EndMode
Mode "720x480" # vfreq 59.940Hz, hfreq 31.469kHz
DotClock 27.000000
HTimings 720 736 798 858
VTimings 480 489 495 525
Flags "-HSync" "-VSync"
EndMode
# Block type: 2:0 3:fc
# Block type: 2:0 3:fd
EndSection
root@beaglebone:~# cat /sys/class/drm/card0/card0-HDMI-A-1/enabled
enabled
root@beaglebone:~# cat /sys/class/drm/card0/card0-HDMI-A-1/status
connected
root@beaglebone:~# cat /sys/class/drm/card0/card0-HDMI-A-1/dpms
On
root@beaglebone:~# cat /sys/class/drm/card0/card0-HDMI-A-1/modes
1280x720
720x480
640x480
参考までに、電源コントールまわりも。
root@beaglebone:~# cat /sys/class/drm/card0/card0-HDMI-A-1/power/control
auto
root@beaglebone:~# cat /sys/class/drm/card0/card0-HDMI-A-1/power/autosuspend_delay_ms
cat: /sys/class/drm/card0/card0-HDMI-A-1/power/autosuspend_delay_ms: Input/output error
root@beaglebone:~# cat /sys/class/drm/card0/card0-HDMI-A-1/power/runtime_status
unsupported
root@beaglebone:~# cat /sys/class/drm/card0/card0-HDMI-A-1/power/runtime_active_time
0
root@beaglebone:~# cat /sys/class/drm/card0/card0-HDMI-A-1/power/runtime_suspended_time
0
VGA変換器には、Audio出力も付いています。こちらも試してみましょう。
出力手順は、「HDMIから音声出力を取り出す」と同じです。
こちらも無事音が出ました。
しかし、「スクリーンが切れると音も止まる」問題は同じです。
HDMI-VGAコンバーターを分解してみた。シンプル。
5Vを直接加えたらいいやんと思ったが、線が細いのとホットボンドで留められているので無理そげ。
ICはこれのよう。配線されていないが、どうもデジタルで出力もあるチップみたい。
- EXPLORE MICROELECTRONICS(台湾) EP94Z1E