スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

BeagleboneBlackのHDMI出力の解像度変更

一つ前の記事「OSOYOOの3.5インチTFT HDMI タッチパネル液晶パネルを試す。」で使用したHDMI入力の出来る液晶パネルを取り上げましたが、ホントの所RaspberryPi3で使いたかった訳でなく、BeagleBoneBlackで使えないかしらん?と思い購入してました。

BBTFT7.jpg

BeagleboneBlack、PCと接続してMobaXtermにてX11Forwardingにて表示、リモートコントロールしてましたが、スタンドアロンでテスト用のNCコントローラーとして使う事ができればなぁ、と。
単純に、BeagleboneBlack側を何も設定せずにHDMIに繋げば、表示出来る最大解像度で表示はできます、が、文字等とても小さく、頑張っても読めないくらい。

BeagleboneBlackのHDMIに関してはこのブログ内の記事にて、過去にHDMI-VGA変換器を使ってディスプレイ表示や、秋月で売っているTFT液晶モジュール、ATM0430D5を使ってのディスプレイ表示などをしましたが、BeagleboneBlackのHDMIに関してRaspberryPi程メジャーではないためかWeb上の情報が極端に少なく、また少々前の記述が多かったので困りました。

色々とコネコネ探しましたが、結局の所elinux.orgBeagleBoneBlack_HDMI内のModesetting driverの記述通りに。
英語が不自由なので、その記述をWeb翻訳した所、難解?な翻訳で理解ができませんでしたが、実際の所この通りに。

その部分の、、多分このように伝えたかったのであろう訳(意訳?)を書いておきます。


最新(2017-04-09現在)のDebianイメージのデフォルトは、xorgのxorg-video-fbdevドライバを使用しています。
このドライバはxrandrを使用して解像度を変更することはできません。解像度を変更したい場合は、xorgコンフィグレーション /etc/X11/xorg.confを変更してxorg-video-modesettingドライバを使用します。多くの以下の手順は、あなたがmodesettingドライバを使用していると仮定します。
訳終わり。

とゆうことで、xorgのコンフィグレーションである /etc/X11/xorg.confファイル内のfbdevドライバを使用している所をmodesettingドライバを使用するようにすればいいとのこと。modesettingと書くと分かりづらいですが、ModeSettingドライバ、です。


ですが、私にはサッパリわかりませんでした。
ググる先生に問い合わせた所?出て来るページはuEnv.txtを書き換えるものばかり、、。

かなり探してDFLとゆうページに。
このページ内のBeaglebone Black (BBB) xorg.conf with Samsung S22B300とゆうページにほぼ回答となる記述が有りました。
このページの記述では、サムソンのHDMI入力の有るディスプレイの1280x1024解像度の記述ですが、コレを1024x768解像度に書き直したものがコレです。

/etc/X11/xorg.conf

Section "Monitor"
Identifier "Builtin Default Monitor"
Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
EndSection

Section "Device"
Identifier "modesetting"
Driver "modesetting"
EndSection

Section "Screen"
Identifier "Screen0"
Device "modesetting"
Monitor "Builtin Default Monitor"
DefaultDepth 16

SubSection "Display"
Depth 16
Modes "1024x768_60.00"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "Builtin Default Layout"
Screen "Screen0"
EndSection

ブログにベタ書きなので、表示段階でインデントがおかしくなってると思いますが、インデントをちゃんと入れると見やすいはず。

具体的に書くと、コンソールを開きsudo suして、nano /etc/X11/xorg.confと入力Enterキーを押してテキストエディタにて元の記述から上記の記述に変更、コントロールキー+xで変更を保存、再起動で前記事で使った小型液晶パネルの解像度のデフォルト値が上記の解像度に変更、表示されます。

Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync とゆう記述は、CTVコマンドを使い別コンソールを開いて

ctv 1024 768 60
と入力しEnterで出力される記述そのままです。
1024x768 60Hzです。

800x600 60Hzの場合には、
ctv 800 600 60
と入力します。

Modelineを変更したならば、Section"Screen"内のSubSection"Display"内のModesの記述も、Modelineで指定した解像度に変更します。コレが間違ってると、解像度が変更されません。
よく見ると、参照参照しているので、参照元と参照先が違うと解像度が変更されなかったりGUIが表示出来なかったりします。
このconfファイルは、HDMIモニタを繋いだBeagleboneのUSB入力をPCに接続させ、MobaXtermなどでX11forwardingでGUI操作にてコンソールを開いて書き換えることが出来るので、HDMI出力の表示ができなくても、OS自体は動いているので変更が可能です。

これで先のBeagleBoneBlack HDMIのページの記述通り、ModeSettingドライバを使用するようになりましたので、ページ内のForcing A Resolution(解像度の強制変更)ができるようになります。
ただ、X11forwardingでは記述内の
export~
が上手く行かなかったのでHDMIで表示している側のモニタ、BeagleboneBlackに繋いだマウスとキーボードでxrandr(エックスアールアンドアール)を実行しました。

下記画像は、上記confファイルに書き換え、再起動、コンソールを開きコンソールの表示フォントが小さいので大きく変更、の後、xrandrと入力Enterすると、使用できる解像度が出てきます。

コンソール、ターミナル、テキストエディタの文字サイズの変更はRaspberryPiのRaspbianのDebianで使用されているソフトと同じ物なので、RaspberryPiで検索すると沢山出てきます。
画像の文字サイズは16。

BBTFT6.jpg

BBTFT8.jpg

直上の画像、最後の行、
xrandr --output HDMI-0 --mode 800x600 --rate 60.
としてEnterを押すと、直下の画像のように強制的に表示解像度が変更出来ます。
BBTFT9.jpg


数枚、比較対象として、800x600と1024x768の表示の画像を置いておきます。



解像度800x600 60Hz
BBTFT10.jpg

解像度800x600 60Hz
BBTFT11.jpg

解像度800x600 60Hz
BBTFT12.jpg

解像度800x600 60Hz
BBTFT13.jpg

解像度1024x768 60Hz
BBTFT4.jpg

解像度1024x768 60Hz
BBTFT5.jpg

640x480も試してみたのですが、今回は?上手く行かず。


試してはいないのですが、HDMI入力の有る、更に、HDMI-液晶パネルブリッジが解像度の高い画像をスケーリングできる物がベアな基板と液晶パネルですが、もっと画素数が多い物もebayやAliで沢山売っているので、上記の記述で解像度の変更ができると思います。

また、普通の液晶ディスプレイでHDMI入力の有るものでも、同様だと思われます。

RaspberryPiのように、単純にフレームバッファを挟んでの解像度の変更が??なので、直接的な解像度の変更です。

タッチパネル部分は、、今回の液晶パネルの場合、xpt2046とゆうタッチパネルインターフェースなので、DLFとゆうページ内の記事にも接続方法等がある記述も有りますし、他ソースでも沢山あるので、多分作動させることが出来るでしょう。

また、DFLとゆうブログ、フレームバッファについての記述も有るので、もしかしたらRaspberryPiのようにフレームバッファを噛ましたディスプレイ表示も出来るのかもしれません。

当然の事ながらHDMI出力の無いBeagleBoneGreen 、GreenWirelessではこの記事は役にたちませぬ。











スポンサーサイト

テーマ : 自作・改造
ジャンル : コンピュータ

PSoC5LPとTFT液晶パネルを使ったパルスカウンタ

作ってyoutube上にはUPしてあったけれども、多分ブログ上には貼り付けてなかった?と思ったので貼り付けてみます。





基本的には、以前の記事にも貼り付けてあった下の動画の描画ルーチン違い。



PSoC5LPのUDB(プログラマブルロジック部分)でアップダウンカウンタを3つ作りマイコン部分で、アップダウンカウンタの数値を読取り描画しています。

カウンタ値リセット用のタッチパネル液晶コントローラーからの「タッチがある」信号のマイコンへの入力に割り込み処理を使っているだけで、カウンタの計数その物はUDBで生成されたロジック回路にて読み取っています。

上手くプログラムが書ければ、3軸分のパルス入力をマイコンの割り込み処理で作動させることもできるのかもしれませんが、そのような技能は無いので^^; カウンタ部分はマイコンの処理より速いであろうロジック部分での処理としました。

通常のマイコンのペリフェラル内に3軸分の32bitアップダウンカウンタとして使えるものが有ればソレを利用して、、となるのですが、サラッと探してみた所見当たらないご様子。

かといって、CPLDやFPGAで3軸分の32bitアップダウンカウンタと、アップダウンカウンタの操作と、データ通信用のインターフェースを作り、マイコンで読取り、、とゆう事も出来なくはないですが非常に手間なので、プログラマブルなロジック部分とマイコン部分を持つPSoCが非常に便利です。

PSoC5LP、PSoCシリーズ自体、このプログラマブルなロジックや、アナログ部分が有り、この部分の設定や書き込みが必要な為、メーカーご謹製の無償で使用できるPSoC用のIDEが用意されていて、開発を始めるのは開発環境から整えなければならないMCUに比べかなり楽なんではないでしょうか。

また、今回UDB部分に載せたカウンタ、その他機能も、一般的なものは最初からUDB作成用のコンポーネントとゆうブロックになっており、IDE上で既成なコンポーネントの設定はGUIを使用して設定出来ます。
更に、UDB作成用回路図上に置かれたコンポーネントを回路図を作成してしまい、コンパイルすると設定したようにマイコン側から操作出来るAPI(アプリケーションプログラムインターフェース)が生成され、生成された関数によってマイコン側から生成したハードウエアを操作できます。

LEDのチカチカとか、マイコン部分とGPIOを使って、ロジック回路を使いマイコンを使用せずに、また、組み合わせてなどなど、同じ作動をする物でも幾通りの方法で行うことが出来ます。

PSoC5LP、4つ有るI/OバンクごとにI/Oの電圧を変更出来るので(例えば、バンク0と1は5Vロジック、2と3は3.3Vロジックなど)電源電圧、I/O電圧の異なったセンサ等のデバイスでも、一つのMCUからコントロールすることも可能です。
ただ、秋月電子で販売されているPSoC 5LP Prototyping Kitなどは、I/Oバンク毎の電源ピンが一つにまとめられているので単一のI/O電圧でしか使用できません。書き込み器を切り離さないで使うと5VのI/Oとなります。

I/Oバンクごとの電圧設定出来るのですが、残念なことに安価なボードではI/O電源電圧の変更できる物が見当たらないので、動画上でも使用している自作のボードを使用しています。

PSoC5LPの書き込み自体はPSoC5LPPrototypingKitに付属するKitProgを使用しての書き込みが安価です。

PSoC5LP開発用の、Cypressから提供されているPSoCクリエーターは基本GCC_ARMを使用したものなので、C言語で書かれたルーチンなど、ハードウエアを操作するものでなければ、割と流用等がしやすく、また、PSoC5LP自体に載っているマイコン部分は他デバイスメーカーも採用しているCortexM3なのでCortexM3を搭載したマイコンとなんら変わりません。


異なるI/O電源電圧に設定できて、プログラマブルなロジック部分を持つPSoC5LP、NCコントローラーからのトリガ等で作動する回路等々に使用するのにとても便利だと思われます。


~を作る、とゆうような作成を目的としてこのようなデバイスを使うには扱いやすく良いデバイスだと思います。


テーマ : プログラミング
ジャンル : コンピュータ

ラズパイ3の発表

RaspberryPi3が販売開始(日本ではもうチョット先の模様)されたようです。

RaspberryPi公式より
https://www.raspberrypi.org/blog/raspberry-pi-3-on-sale/

MCUがより高速になったのと、Wifiなどの無線通信が可能になったのが大きな変更、、ですかね。

NCコントローラーとしてRaspberryPi2の場合、ステップシグナルは外部のMCUなりを使わないと、、でしたが、3ではどうなるんでしょうか?
Beagleboneの場合、BeagleboardのプロジェクトとしてMachinekit LinuxCNCj派生が継続的に開発されているようですが、Piの場合、そのようなプロジェクト的に動いているッて感じでは無いので期待薄なのかも。。

日本ではRSコンポーネンツが取り扱うようです。近日発売になってますね。
http://jp.rs-online.com/web/generalDisplay.html?id=raspberrypi

http://jp.rs-online.com/web/p/products/8968660/


どちらにしろ、BeagleboardのようにCPUと独立したロジックで動くPRUや、xilinxのZynqのようにパルス生成器が作れるようなFPGA部が無いので、デバイスドライバ書いて、外部パルスジェネレータを駆動する事となるのかな。

RaspberryPi自体GPUを持っているのでBeagleboneBlackよりも、GUIが綺麗で速いんですけどね。。

テーマ : 自作・改造
ジャンル : コンピュータ

BeagleboneGreen秋月で取り扱い開始!




秋月でbeaglebonegreen取り扱いが始まりました。

多分BeagleboneBlackとたいして変わらないのでBBBLinuxCNCのインストール、使用は可能なはず。

BeagleboneBlackは相変わらず、品切れ状態ですがぁ。。

Greenは豊富に在庫してるのかしらん??


数日前にseeeedに発注しちゃったよ、、Orz..

テーマ : 自作・改造
ジャンル : コンピュータ

BeagleboneBlackの電源の切り方。。

ボード単体でLinuxCNCが動くBeagleBoneBlackですが、ちゃんとした電源の切り方がよくわからなかったのでWeb上を徘徊。

ありました。

How to Shut Down and Reboot Your BeagleBone

電源はUSBコネクタを繋ぐことで入りますが、電源の切り方が、S3のスイッチを長押し、、と、なんかスコっと電源を切ってるイメージだったので。。


具体的には

sudo shutdown -h now

これでコンソールからのコマンドで切ることができます。

で、リブートは

sudo reboot


忘れそうなので、メモとして。。


ところで、BeagleboneBlackの姉妹製品?のBeagleBoneGreenSeeedStudioの方で販売が始まっているようです。

BlackとGreenの大きな違いはHDMIコントローラーの削除。スタンドアローン作動時には必要と思えるHDMI、多分リモートデスクトップ環境では、必要ないと判断されたのかもしれません。その分価格はちょっとお安くなっている模様。。

OSからNCコントローラーまで、1ボードで対応できるので、かなりお買い得なのでは?

基本的なところはPCでのLinuxCNCと違う所はありませんが、I/O周りはリアルタイム性を担保するためにBeagleboneblackに使われているMCU内の独立したサブプロセッサであるPRUを使用するので、LinuxCNC設定ファイルであるHALファイル内の接続設定するデバイス名がちょっと特徴のあるものに変わります。

単純に、PCと違い、MCU自体に直接UARTやSPI,I2Cなどのペリフェラルが内蔵されていることもあり、PCからI/Oを引き出す事を考えると、余計な手間が少なく済むのでは?と思います。
更にオンボードでADCが載っているのでLinuxCNCに直接ADCの値を読み込むことが出来たり、、PCをつかってやろうとするとどうしてもPCI PCI-E接続のFPGAカードが必要だったことが、設定は手間かもですが、1ボードで出来てしまいます。

また、PC側から見ると、USB接続で、リモートデスクトップな環境での操作。USBCNCも良いとは思うのですが、NCコントローラーそのものをリモートデスクトップで使うBeagleBoneBlack on LinuxCNC な環境も操作を行うPCに負荷を掛けずに使用出来るって事で良いのでは??と思います。

多分ホビー用途には十分過ぎる機能でしょう。。

テーマ : 自作・改造
ジャンル : コンピュータ

ライセンス
アクセスカウンター
プロフィール

あきらひとし。

Author:あきらひとし。
木工用CNCルーターフレームと、ステッピングモータードライバを作ってみました。
たぶん記事は一般的な人には殆ど必要のない事ばかりなの、かも。

モーターは回るだけでも楽しい。制御(速度、トルク、位置)できるともっと楽しい!

メールフォーム

名前:
メール:
件名:
本文:

リンク
最新記事
カテゴリ
スポンサードリンク
スポンサードリンク 
スポンサードリンク
オンラインカウンター
現在の閲覧者数:
検索フォーム
RSSリンクの表示
最新トラックバック
最新コメント
月別アーカイブ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。