格安ロジックアナライザの導入~動作確認手順
こんにちは、くろべこでございます。
みなさん、電子工作ライフ楽しんでいますか?
今回は電子工作に活躍間違いなしのツールの紹介です。それは何かというと、、、
ロジックアナライザです。
HIGH/LOWのデジタル信号を時系列でモニターできるものになります。簡単に言うと信号版のオシロスコープです。もちろん、信号のトリガ機能もあるので立ち上がりや、立下りでの検知も可能です。
とはいってもオシロスコープはもちろんの事、ロジックアナライザも通常は1万以上するものがほとんどです。しかし、今回紹介するものはなんと約¥1,000 です!!安い!
すごく怪しいですよね。もちろん中華製の怪しいものです。でも安さには代えられないので本記事では開封から接続方法、モニター用のソフトウェア導入まで丁寧に解説します。
注:初期不良で動作しない場合もあります(一応チェックポイントは載せますが自己責任で)
ロジックアナライザ概要
改めて説明しますが、ロジックアナライザは1/0のデジタル信号のみモニター可能であり、交流波形や過渡的な電圧/電流は計測不可です。
主に通信系(I2CやSPI、1-Wire)の信号確認に用いられることが多いです。その他にはマイコンのタイマーレジスタをいじってPWM波形やカウンタ波形をモニタする時に使うことが出来ます。
格安ロジックアナライザ
今回購入したロジックアナライザは以下の物になります。3つとも同じ仕様で形状も同じなのでコンパチ品と推測します。ちなみに私が実際に購入したのはHiLetgoの物です。
真ん中の物は小さいプローブが付いているようです。ブレットボード上じゃなくてもフレキシブルに計測が出来るので便利かもしれませんね。
また、専用の計測ソフトなんて便利なものはついてきていません。本記事ではオープン汎用ソフトであるPulseViewを使用します。
開封と初期不良チェック
Amazonから到着しましたら早速開封してみましょう。
ここで、確認したいのが初期不良です。アマゾンのレビューを見てみると半田不良による初期不良が多く見られたので、USBを接続してみてLEDが点灯しないとかデバイスマネージャーにunknown deviceと表示されないとかありましたら、フタを開けてみて半田面の確認をオススメします。
不良があった場合、半田を持っていて半田付けに自身のある方は手直し可能かと思いますが、不安な方はアマゾンに返品することをオススメします。
PulseViewの導入
ダウンロード~インストール
まず、下記のsigrokのサイトからPulseView32bit版か64bit版をダウンロードします。(本記事では64bit版で進めます)
ダウンロードが完了したらSetupウィザード通りにインストールします。
Example dataのチェックは外しています。
USBドライバをインストール
ロジックアナライザとPCを付属のUSBで接続し、デバイスマネージャーで接続状態を確認します。現時点ではUSBドライバがインストールされていないのでUnknown Device#***となっているはずなので、この名称を記録します。
プログラムメニューからZadig(下から2番目)を起動します。
起動したらOption>>List All Devicesをチェック
デバイスリストから先ほど確認したUSBデバイス名称を探して選択する。
DriverをWinUSBにして、Install Driverをクリック。下記では再インストールしているのでReinstall Driverになっています。
インストール完了までしばらく待ちます。
PulseViewの設定
プログラムメニューからPulse View(先ほどのプログラムリストの上から1番目)を起動します。
Step.1
Choose the driver からfx2lafw(generic driver … )を選択
Step.2
USBにチェック
Step.3
Scan for devices using driver aboveをクリックすると下記のようにデバイスが表示されるはずです。私はここで30分ほど躓きました。私の表示されなかった原因は以下の3つでした。
- USBドライバーのインストール忘れ
- USB挿し忘れ
- USB接触不良
3番目が一番てこずりまして、USBを抜き差ししてたら反応するようになりました。
そして、表示されたデバイス(Saleae Logic with 8 channels)をクリックして下のOKを押したら設定は完了です。
信号をモニターしてみる
今回はArduinoのanalogWrite(PWM)波形をモニターしてみます。
実はArduino-unoには3つのTimer(TIMER0,1,2)をもっていて同じPWMですが周波数が異なります。モニターテストとしてこの3つのPWM波形を確認してみましょう。
- TIMER0:D5, 6
- TIMER1:D9, 10
- TIMER2:D3, 11
1 2 3 4 5 6 7 8 9 10 11 |
void setup() { pinMode(3, OUTPUT); pinMode(5, OUTPUT); pinMode(9, OUTPUT); } void loop() { analogWrite(3, 100);//TIMER0 analogWrite(5, 100);//TIMER1 analogWrite(9, 100);//TIMER2 } |
PulseViewではサンプリング数は1k ~ 1Mの範囲で選択可能です。また、サンプリング周期は20kHz ~ 3MHzまで選択可能です。
今回はそこまで高周波数でないのでサンプリング数1kでサンプリング周期は20kHzとします。そして、立ち上がりトリガーとしました。
いかがでしょうか?時系列でデジタル信号がモニタ出来ています。
D1がTIMER0のPWM、D2がTIMER1のPWM、D3がTIMER2のPWMです。
周期に注目してみてください。
D1(TIMER0)
計算してみると952Hzとなりました。
D1,D2(TIMER1,2)
こちらは487Hzです。
正解はというと、、、
公称の周波数はTIMER0(980Hz), TIMER1,2(490Hz)でした!
電子工作レベルならいい感じに信号をモニタ出来たのではないでしょうか?
もちろんI2Cなどの通信信号の確認にも使えるので一台あると便利だと思います。
おわりに
いかがだったでしょうか?
たった1000円ちょっとでロジックアナライザ―を使うことが出来ました。
オシロスコープが高すぎて買えないというそこのあなた!まずはロジックアナライザの購入をご検討ください。
という事で今回はこんなとこで失礼します。
ばいばい。
コメント