xofox

オシロ・スコープosziFox
FreeBSD用のソフトウェア xofox

竹岡 尚三 ((株)アックス)


osziFoxとは

osziFoxとは、秋葉原の秋月電子において¥17600円で販売されているペン型の オシロ・スコープです。

というものです。

xofoxはosziFoxをFreeBSDで使用するために筆者が作成したソフトウェアです。

osziFoxは http://www.tomakomai.or.jp/akizuki/ で通信販売もされています。
その外箱には Witting Test Technology 、ドイツで開発/生産と記述されてい るが、中に入っている説明書にはイギリスのPico Technology Limited( http://www.picotech.com )と しか書かれていません。


写真1: osziFox
写真2: Libretto30でxofoxを使用

osziFoxには四角柱状のペンの横腹に液晶表示の窓があり、そこに波形が表示 されます。
ペンの先がプローブになっており、おしりの方から電源ケーブルが出ます(電源 は内蔵できません)。

オシロ・スコープ(通称オシロ)とはいうものの、実はA/Dコンバータやマイコ ンが内蔵されおり、A/D変換した結果を蓄積しそれを液晶に表示します。つまり オシロというよりは、表示器付きのウェーブメモリというべきものです。
表示方法はグラフィックによる波形表示の他、数字による電圧表示もできるの で、テスタ(デジタル・ボルト・メータ)代りにも便利です。
この様に、osziFoxはPCと接続せず、単独でもそれなりに便利に使用できます。

osziFoxの仕様は

です。

サンプリング周波数が20MHzMAXということですから、ターゲット回路は動作周 波数が10MHz程度のものまでしか適用できません。が、アマチュアの自作には、 まだ、使える周波数でしょう
(基本クロックが 20MHzの CPUだとしても、マイコンの場合は、タイミング信号 はクロックよりは数倍遅くなっています)。
また、オーディオ用途なら充分に使えるでしょう。

RS232CでPCとつながるというのも事実で、専用の接続ケーブルとWindowsのソ フトウェアが付いてきました。

さて、しかし、安価だけあって、大きな限界もあります。それは、

PCにデータを送信中はデータのサンプリングができない
というものです。

また波形メモリは128データ分しかありません。
つまり128個の連続データを取ると、しばらくお休みになり、また128個のデー タが取れるというものです。

しかし、これでもまったくオシロが無いことに比べれば、雲泥の差です。
また、外部トリガ入力を使用すれば、適切な信号をトリガに使用し、必要な部 分だけを記録できるので、要所要所をあたるのなら、充分に実用的に使えます。

ペン型という非常にかわいいものなので、いつも携帯しても苦にならないとい う点も評価できます。ちなみに内臓液晶への波形表示は128個あるデータの先頭 32個しか表示できません。

筆者の結論としては、「osziFoxはいい買いものだ」と思います。

注意として、osziFoxの電源と、信号/グランドはアイソレートされていないの で、ターゲット機器の電源からosziFoxの電源を取ることができません。 osziFoxに電源として、006P 電池を別途持ち歩くと便利でしょう。

この他にも、秋月電子は、以前からPCに簡易に接続できる安価なA/Dコンバー タをいくつも販売していますが、これらはサンプリング速度が非常に遅く、マイ コン開発にはとても使えないものばかりです。また、ペン型オシロのように気が 効いたものでもありません。



xofoxとは

xofoxはosziFoxから送出されるデータをFreeBSDで受け取り、X windowに表示 する、筆者が新規に作成したプログラムです。


図1. xofoxの動作画面

とりあえず、メモリに過去の履歴をいくつか記憶して、それらを見られるよう にしたので、 osziFox付属のWindows版ソフトウェアより多少は進歩しています。

既述の通り、osziFoxは常に連続したデータを送り出すわけではなく、128個ご とにデータが飛んでしまうので、xofoxの表示も128データを1ページとして、ペー ジ単位に表示するようにしています。

osziFoxとPC間の通信プロトコルは公開されているわけではありません。
しかし、Window用ソフトウェアのhelpを見ると、なんとosziFoxがシリアルで 出力するフォーマットが記述されていました。ところが、実際にosziFoxを動か してみると、どうしてもそのフォーマットには合わないのです。 そこで、help表示と食い違う部分は筆者が勝手に推理し、決めつけてコーディ ングしたのが、xofoxです。

筆者のosziFoxは起動時に

V3.0 1995
と液晶に表示されるので、たぶん、内部ファー ムウェアがV3.0なのだと思われます。他のバージョンが表示された場合はxofox は動作しないかも知れません。

xofoxは

Libretto 30, FreeBSD 2.2.2, XFree86
Dyanbook SS3000, FreeBSD2.2.7+PAO, XFree86
などで動作しています。(ちなみに、SS3000のシリアルポートはPAOを入れなけ れば、正常に認識されませんでした)

xofoxの動作はなんら保証あるものではありません。xofoxの使用にあたっては、 自分で表示結果を確かめた上で、自分の責任において使用して下さい。 もちろん、バグも自分で取って下さい。:-)


xofoxのmake方法

xofoxは

ftp://www.takeoka.org/pub/micro/xofox.tgz
にあります。
% tar xvzf xofox.tgz
として、展開した後、
% cd xofox
% make
とします。



xofoxの使用方法

osziFoxをcomポートの1番(cuaa0)に接続してosziFoxの電源を入れた後、

% ./xofox
として、図1のような画面が出れば正常です。

/dev/cuaa0のオープンに失敗した場合は、cuaa0にアクセス権限が無い場合が あるので、

# chmod 666 /dev/cuaa0
とします。
これでダメな場合は、他のプロセスが/dev/cuaa0か/dev/ttyd0を使用していな いかをチェックするべきでしょう。(ttyd0とcuaa0は同じ物理ポートを違うデバ イスとしてアクセスします)



xofoxのボタンについて上から順に説明します。

Hold Current Wave:
現在表示されている波形を保持し、水色で画面に表示します。逃したく ない波形をとらえたり、ある波形を他の波形と比べる時に使用します。
スペースキーを押下すると同じ効果があります。
Next Memory Display:
サンプリングを停止し、メモリ上に記憶したデータの次のページを表示 します。
'l'を押下すると同じ効果があります。
Previous Memory Display:
サンプリングを停止し、メモリ上に記憶したデータの前のページを表示 します。
'h'を押下すると同じ効果があります。
Stop sampling:
サンプリングを停止します。
's'を押下すると同じ効果があります。
Start sampling:
サンプリングを開始します。
'S'を押下すると同じ効果があります。
Clear Holding wave:
Hold Current waveで保持した表示を消去します。
'c'を押下すると同じ効果があります。
Show/Hide Grid:
グリッドの表示をON/OFFします。
'g'を押下すると同じ効果があります。
Flip buttons' Position:
これら操作ボタンの表示位置を左右に動かします。
ボタンが邪魔な時に使用します。
'f'を押下すると同じ効果があります。
Show/Hide Help:
ヘルプの表示をON/OFFします。
'?'を押下すると同じ効果があります。

xofoxにはコマンドライン・オプションも少しあります。

例えば、

% xofox +c +d
とすると、
23 35 ( 0 5 5 ) 04 +05.5V
24: DC 10V 03: 1us 00:AUTO RUN 10:-0.1
23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23
23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23
:
:
というような出力がxofoxを起動した端末に得られます。
しかし、マシンによってはサンプリングが間に合わなくなることがあり、主に デバッグのために使用します。



おわりに

「最近、FreeBSDにつながる面白いデバイスが無い」と退屈な人には、osziFox はなかなか楽しい物だと思います。
Libretto30とosziFoxを持ち歩いて、他人が作っている回路をあたってみたり すると、非常に楽しいです。
FreeBSDユーザでハードウェアいじりをする方は、是非、使って見て下さい。
以上