ちょっと前に偶然、amazonで1150円(送料込)程度で販売しているロジックアナライザを見つけたので購入して試したお話です

購入したロジックアナライザ

今回購入したロジアナはこいつ

HiLetgo 24MHz 8チャンネル USBロジックアナライザ 8CHロジックアナライザ UART IIC SPI デバッグ MCU FPGA ARMに対応 [並行輸入品]

※画像クリックで商品ページが開きます

24MHz、8チャンネルのUSBロジックアナライザで、UART/IIC/SPI、MCU/FPGA/ARMに対応しているとのこと
...なんかうーん...まぁいかにも中国の雰囲気な製品って感じですね

まぁいいです
こいつがどこまで出来るのかやってやるです

検品

とりあえず開封して付属品などを軽くチェックします
中国の製品では過去に3Dプリンタのキットで欠品とか破損とかあって面倒なことがあったのでこれ大事

付属品

付属品は下記の通りでした

部品名
ロジックアナライザ本体
Mini-B<->USBオスケーブル
8chコネクタ(メス<->メス)

付属ソフトウェアなんかは一切ないのでレビュー等を参考に別途導入するとします

通電

とりあえずVM側に接続させて通電させます
※開発にはVM上のLinuxを使用しているため

通電した状態のロジアナ

青色のLEDがシールに隠されてしまっているのが...、まぁいいでしょう
ここは気にしたら負けです

ソフトウェアの導入

とりあえずドライバとソフトウェアを導入しなければ目的を果たせません
先人によるAmazonのレビューを読むと、どうやら選択肢がいくつかあるようです

一つは、オープンソースなsigrokです
よさげですね
無料では選択肢はこれしかなさそうです

そしてもう一つはSaleae Logicです
ですが...これはつまり、saleae製品のクローンって事なのだろうか??
ソフトウェアただ乗りしてるのかな
なんだかArduinoのFTDIチップの偽造品を思い出させますが大丈夫なんだろうか

http://asupiyo.blogspot.com/2015/01/arduinousb.html

とりあえず本当にSaleaeLogicが動作するのか検証する

とりあえず噂が本当なのか試すだけやってみましょう
Saleae Logicのダウンロードページから、Linux版をダウンロードして任意の場所に展開します
ここでは~/local/Logic_1.2.18_x64 として展開しました

続いて、起動してみます

~/local/Logic_1.2.18_x64/Logic

Saleae Logic起動画面

おぉ?一応デバイスは認識している...?

エラー内容:

A Logic device was found, but there there was a problem connecting to it.
This is probably because we don't have permissions to access it.
Take a look in the drivers folder instructions, or run this program as root(i.e. use sudo from the command line).
This could also be caused by having multiple insances of the Logic software running. Let us know if you still have any problems.

ロジックデバイスを見つけたけど接続に問題があったぜ~
これは多分、アクセス権がないからだと思うんだ~
driversフォルダを見るか、install_driver.shをsudo rootとして実行してくれよな~
それとLogicソフトウェアを複数実行すると起きるかもな~
問題が解決しないなら教えてくれ~

的な感じだろうか

とりあえず言われたとおり、sudoしてDrivers/install_driver.shを実行してみたいと思います
...が、その前に本当にこの怪しいデバイスがクローンなのか調べましょう

zienchan@zienchan-virtual-machine ~ $ lsusb 
Bus 001 Device 002: ID 0925:3881 Lakeview Research Saleae Logic
Bus 002 Device 004: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light

おぉぅ...

Lakeview Research Saleae Logic

って出てますやん
お前、マジでクローンやん...

...とりあえずrulesを追加します

cd ~/local/Logic_1.2.18_x64/Drivers
sudo ./install_driver.sh 
[sudo] password for vm: 
+ sudo cp 99-SaleaeLogic.rules /etc/udev/rules.d/99-SaleaeLogic.rules

問題なくいけました
これでドライバというかUSB権限を設定できたので、Linuxを再起動します

さてこれでどうだろうか

~/local/Logic_1.2.18_x64/Logic

Logick起動後画面

おぉぅ..."Start Simulation"が"Start"になっているので一応、認識したようです
とりあえず認識はしてますが、解析できるのか試してみます

今回はテストで下記の画像のESP32とカラーセンサのI2C通信をアナライズしてみます
ESP32とカラーセンサをI2Cで通信している

Logicの方でI2Cの設定を追加してピンアサインします
Logicのi2c設定

SDAとSCLをそれぞれロジアナと実回路に接続します
ロジアナのGNDは回路側のGNDに接続しておきました

いざスタートすると...
Logicの開始コマンドエラー画面
デスヨネー/^o^\

We're sorry, but an error occurred when issuing the start command to the device, after configuring the device and queueing the data transfer.
This could indicate a more serious issue.
If you continue to see this message, please contact Saleae techical support, and include the console output of this application.
lease also test the device on different USB ports, including both USB 2.0 and USB 3.0 ports if supported on your computer.
You my need to remove and reconnect the device to continue.

"デバイスに開始コマンドを発行する際にエラーが発生したは。USBポート変えたりしてみてね"って感じですね

クローン検知機能のせいなのか、それともVMによるUSBの問題だろうか?
とりあえずサンプルレートを下げて試すも全滅

とりあえずあれこれ考えならがStartを何回も試していると...
Logic_software_success

あ、あれ!?
動いちゃったああああああああああああああ/^o^\
とりあえずわかったのは24Mhzだとかなり不安定な模様
16Mhzで5秒にしたら多少ましになって、4Mhzで5秒だと3回に1回は成功する...

なんだこれって思ってましたが、デバイスのUSB部分を強く押し込んだりぐりぐり振り回してたら安定して開始できるようになりました

...ぶっちゃけ挙動がよくわからんけどノイズなのか?どっか半田不良でもあるのか?
とりあえずそこまで解析する時間がないので今回はこのくらいにしておきます

結論

Saleae Logicが使えるという噂はほんとっぽいです
ただデバイスの不良なのかノイズの問題なのかVMのUSBホスト問題なのかSaleaeのクローン検知なのかわかりませんが、不安定です
まぁ実際のところ、ライセンス的に問題ですし機能的にはsigrokで十分なので私は使いません

2018/07/26 追記

Amazonのレビューを見てて気になったのがあるので、時間が出来たら試してみますが、
どうやら"XinとXoutに付いているチップコンデンサを12pFに変更すると改善する"らしいです
"入力バッファの無い回路基板(V1.2)"とも書いてあり、なるほど~。エラー内容と確かに一致しますね

次回はsigrokについて動作確認したいと思います~