かすれた*Pluser*の巻物


万能回路測定ツール Analog Discovery2 を購入した

Analog Discovery 2 以下 AD2 という電気信号計測装置を買いました。いわゆるオシロスコープというやつです。 エアコンやその他さまざまな機器の信号をリモコンの代わりに送信するデバイスを作って、自宅外からコントロールするということをしたいと計画していました。 要するに今流行?の IRKit みたいなことをしたいわけです。 買ってしまった方が安いのですが、そこは自分でいろいろ工作したいということで。

かつては安いものでも50万円近くしたオシロスコープですが、近年はオシロスコープもデジタル化、安くなりました。 そんな格安デジタルオシロスコープは、その信号取り込み方式によっていくつかの種類に分けることができます。

  • マイコンが持っているA/D変換器を使って信号取得するタイプ
  • サウンドカードなどのマイク用のA/D変換器を使ってキャプチャするタイプ
  • FPGAなどのデバイスを使うタイプ

順に説明していきます。 マイコンを使って信号を取り込むタイプは、非常に安価に、そして簡単に作れる方式です。 PICやAVRといったマイコンは特別なものでなければ高くても一個数百円程度。その中にA/D変換器なども組込まれています。 よくオシロスコープ自作キットなどに採用されています。 欠点は波形の取り込みが非常に遅いこと。 マイコンの動作周波数は20MHz程度。その限られた周波数で信号の処理はもちろん通信なども行わなければなりません。

サウンドカードは可聴域の信号を取り込む必要があるため、20kHz程度までは取り込めるようにできています。マイクからの入力は電気信号ですから、一般的な電気信号も取得できるように周辺回路を追加したものが販売されています。 サウンドカード用の部品は量産効果のせいか安価ですから、この方式もかなり安価です。 外部に回路を追加してPCに付属のサウンドカードに接続し、オシロスコープの代わりにすることもできます。

最後にFPGAを使ったタイプ、これは格安ではなく「本格」オシロと同様の構造を持ったデバイスです。 内部回路をプログラマブルに変更できるFPGAはチップ単体で非常に高価です。しかし内部の受動部品を組替えることで信号を処理しますから、非常に高速に動作できます。 高価なオシロスコープはこうしたFPGAをいくつも使って処理速度を上げています。

今回のAD2はFPGAを使ったオシロスコープの中でもかなり安価なものです。 一般的なオシロスコープは信号を入力する端子の他に、電源やファン、操作するためのノブやスイッチ、さらに波形や状態を表示するためのディスプレイを持っています。AD2はこれらと違って表示するためのディスプレイを持たず、USB通信でコンピュータにデータを転送してコンピュータから操作するようにしているため、安価なのです。 こうした表示装置を持たないオシロスコープは俗にUSBオシロスコープなどと呼ばれています。

さまざまな機種があるUSBオシロスコープの中でAD2の特徴と言えるのはその多機能性です。 以下にスペックを示します。詳細なスペックはマニュアルから。

名称 Analog Discovery 2
アナログチャンネル数 2ch
アナログ帯域 30MHz以上(3db)、 10MHz(0.5db)
任意波形生成チャンネル数(AWG) 2ch
アナログ解像度 14bit
アナログサンプリングレート 100M sample/sec
バッファサイズ 8192 sample (手元では16kまで可でした)
ロジックアナライザチャンネル数 16ch
パターン生成チャンネル数 16ch
デジタルサンプリングレート 100M sample/sec

他に、固定した入出力のエミュレート機能(LED、スライドバー、トグルスイッチなど)、電圧計(AC/DC25Vまで)、プログラマブルな電源供給(±5Vまで)が可能です

USBオシロスコープで、オシロスコープ機能とロジックアナライザ機能をもっているものは稀です。マイコン工作ではロジックアナライザがあると通信のデバッグなどに便利です。 アナログ帯域は高いとは言えませんが、アマチュアレベルの工作では必要十分と言えると思います。 また波形生成機能があるのも良いです。普段あまり必要としない機能ですが、いざ必要になると工夫ではどうにもならないことが多いです。 変わった機能として入出力をエミュレートする機能があります。AD2は学習用としても作られていて、LチカなどをLEDを必要とせずに、またスイッチを電子部品を使うことなくエミュレートできます。よくあるケースとして、回路の特定の部分に電流が流れているかどうかを調べたい、ということがあるかと思います。電子工作ではLEDを付けたりしてチェックしますが、LED一つ光らせるのに電流やら抵抗やら考える必要がある点を考えると、電圧の有無を調べる方法としてLEDエミュレートは便利です。

他のベンチトップ型のオシロスコープでも波形生成機能やロジックアナライザを持つものはありますが、かなり値が張ります。

量子化の解像度がかなり高いことも特徴です。他の安いオシロスコープでは8bit程度ですが、AD2では14bitもあります。これだけ違うと波形で見た場合違いが判ります。 サンプリングレート100MS/sも帯域幅に対してバランスが良いと思います。FPGAを使った機種ならではの速さだと思います。

オシロスコープは操作性も重要です。高機能、多機能であっても、使いにくいとフラストレーションが溜まります。こうしたUSBオシロスコープの場合、操作はPCから行うため、その操作性は、ほぼソフトウェアの完成度次第となります。 AD2は Waveforms というソフトウェアを使って操作します。ライセンスはプロプライエタリでソースコードは非公開ですが、マルチプラットフォームでWindows、Mac、Linuxに対応しています。またデモモードもあり、購入前に試してみることができます。音声入力を入力信号とする機能もあり、サウンドカードの入力を実際に観察できますから、一度試してみることをおすすめします。 他に同種のソフトウェアを使った経験が無いため比較できませんが、比較的使いやすいと思います。トリガ位置の直感的操作も可能ですし、波形同士の演算などもできます。さらにJavascriptベースのスクリプト言語も用意されていて、信号計測のカスタマイズもできます。 余談ですがLinux向けのパッケージはdebとrpm形式のものしか用意されていなかったので、Gentoo用に私がパッケージングしました。Githubから利用可能なのでダウンロードするなり、オーバーレイするなりして活用してください。

最後に、オシロスコープを初めて買う方にいくつか注意点を。 オシロスコープの機能は、機能を使用する度に都度内部のFPGAにプログラムすることで実現されています。そのため複数の機能を同時に使うとカタログスペック通りの性能が出ません。例えばロジックアナライザの機能とオシロスコープ機能を同時に使用すると、内部のバッファを共有することになるため、単体で使用した場合と比較して取り込める信号の長さが短くなります。カタログのスペックはあくまでも機能単体で使った場合の値と考えましょう。

AD2の購入を検討している方へ注意点を。 このAD2はUSBのGNDとプローブのGNDが分離されていません。測定対象が高電圧・高周波を扱っている場合は注意が必要だと思います。 スペック通りの性能を発揮するためには別途BNC端子へ変換するボードやプローブが必要です。このボードを使わない場合、アナログ帯域がスペックより低くなり、またクロストークなども発生しやすくなると思います。 PCへの通信はFTDI社のUSBシリアル変換チップを使っています。コンピュータへの波形転送は高速ではありませんので、トリガを掛けられないような突発的な現象を観測するには向いていないと思います。