気の向くままに辿るIT/ICT/IoT
システム開発

Debian 9 Stretchでロジックアナライザ 8ch 24MHzを使ってみた

ホーム前へ次へ
*BSD/PC-UNIX/Linuxって?

Debian 9 Stretchでロジックアナライザ 8ch 24MHzを使ってみた

Debian 9 Stretchでロジックアナライザ 8ch 24MHzを使ってみた

2017/08/13

 今年の春から電子工作、ひいてはIoTへの興味関心に向き合ってみようと思うに至り、遅まきながら、Arduinoを始めました。

 あれから5ヶ月ほど、AmazonでArduino互換機激安店を見つけて、いろいろ買っており、先日、かねてより気にはなっていたものの、必要性を感じるほど上達していないことから見送っていた750円のUSBロジックアナライザ 8チャンネル 24MHzを購入することに。

 結果、使えるようにはなったのですが、いくつかハマりポイントがあったので記しておきます。

 ちなみに599円のこっちでも良さげだったっぽい。

下調べ

sigrok+PulseView

 事前に調べてみると、これらのロジアナにも対応したsigrok(CLI)/PulseView(GUI)というフリーのソフトウェアがあるとのことでWindowsやMacのみならず、自身がメインとしているNetBSD(は今のところPulseViewは未対応っぽい)、Arduinoの開発環境の関係で使っているDebian、最新を追う傾向にあるFedoraなどメインマシンやサブマシンに入れてある、これらOSにも対応しているとのことでDebianにsigrokがあることはapt-cache searchで確認していました。

Debianから急遽Fedoraでの検証を想定

 しかし、気づいてみれば、Debian最新のStretchのリポジトリにあるsigrokは古く、PulseViewに至ってはない、ならばとFedora最新のFedora 25を起動してみるとどちらも最新がリポジトリにあるので動作確認はFedoraでするつもりでした。

 ところが、ロジアナが届き、いざ、Fedoraを起動、ロジアナをUSB接続してみると電源ランプは点灯するし、lsusbでもUSBデバイス[ID 0925:3881 Lakeview Research Saleae Logic]として認識もされ、[Select Device]の構成で表示されるポップアップで[fx2lafw...]、[USB]を選択、[Scan...]で表示される[Saleae Logic with 8ch...]を選択はできる、が、[OK]を押してポップアップを閉じてもセレクトボックスのリストにはあるも選択状態にならない、改めて選択してみるもチェックが入らず、選択されない状態に。

やっぱり、Debianで環境を整え検証することに

 Fedora上で何度やってもダメ、もしかしたらドライバfx2lafwの更新するだけでよかったのかもしれませんが、Fedoraはサブマシンであるデスクトップに入っており、ArduinoではDebianメイン、サブマシンにも入っているが、メインマシンであるノートに入っているDebianがメインなんだしと、重い腰を上げてDebianに一通りインストールして環境を整えることに。(もちろん、お約束のapt-get update、apt-get upgrade後に。)

 その際、how to build/install the sigrok subprojects on Linuxに沿ってlibserialport、libsigrok、libsigrokdecode、sigrok-cliを、それぞれ任意のディレクトリで、gitを使ってダウンロード、cd 当該ディレクトリ、./autogen.sh、./configure、make、sudo make install...と、そこまではうまくいったものの、(ちょっと手順の異なる)PulseViewの[cmake .]でエラーに。

 一息つくため、ついでにfx2lafwドライバも最新にすべく、http://sigrok.org/wiki/Fx2lafw#Download含む以降の通り、同様の手順でFx2lafwドライバをインストール・アップデート。

 すると./configureか何かのエラーでsdccがないということでapt-get install sdcc後に実行すると通るようになりました。

 PulseViewのエラーは相変わらずで"Qt5"という接頭辞を...とか、環境変数CMAKE_PREFIX_PATHに...とかエラーに表示され、もしかしてQt5がインストールされていない?と思い、dpkg -l | grep -i qt5としてみるとlib*系はありますが、本体らしきものがなさげ。。。apt-cache search qt5の結果から、qt5-defaultに目星を付け、これをインストールしたら、[./configure]も[cmake .]も通り、[sudo make install]もできました。(C++だからコンパイル結構時間かかるけど。)

 これは不要だったかもしれませんが、libusbも最新にした方がという情報もあったのでダウンロードしたディレクトリトップのINSTALLファイルにあるようにそこにcd後、./configure、make、sudo make installとしてインストール・アップデート。

 また、これもよくわかりませんが、Rasbian、UbuntuなどDebian含むDebian系のLinuxカーネルでは、I2C通信設定が無効になっているとの情報もあり、これを行わないとどうなのかは未確認ですが、事前にこれもI2Cを使う(設定編)/Raspberry Pi/Raspbianの通り、設定、再起動してみたところ、i2c-devは起動しましたが、Debianにはないのか、i2c-bcm2708/bcm2708_i2cは起動しませんでした。(まだ通信自体していないので、/etc/modulesに追記した内i2c-bcm2708をコメントアウトはしたものの、そのままにしてあります。)

USBロジアナ接続とPulseView起動 on Debian Stretch

 USBロジアナを接続し、PulseViewを起動(メニューに登録されないのでとりあえず端末から起動)してみると始めからSaleae Logicにチェックが入った状態でロジアナが無事、認識され、何も接続せずに[Run]をクリックして実行するとデータ入力がないので当然のこと、変動なく直線的に遷移しました。

 付属のジャンパワイヤ10本(CH0-CH7とGNDx2)は接続してあり、PulseViewの使い方自体はなんとかなりそうです。

 ただ、何れかのチャンネルとGNDを2本つなげばよいのでしょうが、それをどう配線すればよいのかわかっていないロジアナ初心者である自身は、それをこれから調べます。。。

 あれ?端末から起動したPulseViewをGUIで閉じたら、端末の窓がフリーズ、他のウィンドウは開けるから端末自体は生きている。。。ps auxで見るとS+となっていてkillできない状態...、メニュー登録は手作業で.desktopファイル作らないとダメかな?と思ったら、再起動したらPulseViewもメニューに追加されていました。(ちなみにデスクトップ環境はMATE。)

[2017/08/14]

 ふと自作DC安定化電源から12Vとった信号発生器の波形端子とアースをロジアナのCH0とGNDにつなげてみるとキャプチャできている(アースはつなぐ必要はなかったようで、これをつながなくてもキャプチャできました)...これを以て、とりあえず、ロジアナの動作確認としてよさげ。

Saleae Logic Beta 1.2.10
[2017/08/22]

 SaleaeのソフトウェアSaleae Logic Betaも使えるらしいということでサイトを見ると64ビット版が標準のようで32ビット版Linuxを使っている自身は古いリリースからダウンロード、展開しておいて、USBロジアナをPCに接続、展開先にある実行ファイルLogicをダブルクリックするだけで実行できました。

 バージョンは、Saleae Logic Beta 1.2.10でした。

 まだロジアナ自体の使い方がわからないのでなんですが、Saleae公式ソフトウェアの方が機能が豊富なのか、手動設定できる分、そう思えるだけなのか、よくわかりませんが、使い勝手はよさ気です。

 たぶん、このロジアナは互換(模倣)機ですし、公式版を使うのも気が引けるのでsigrokとPulseViewを使わせて頂きますけど。

LINK

ホーム前へ次へ