波形のキャプチャ

波形をキャプチャするにはcapruteコマンドを用います。captureコマンドの基本的な書式は、

$ /cosmoz.elf capture <長さ> [オプション]

ですが、captureには様々なサブコマンドがあります。

長さは、通常モードでのサンプリングではデータ数ですが、イベントモードでは終了までの秒数、または、終了までのカウント数になります。

オプションを付けない場合のキャプチャ動作

最初に長さのみ指定して、オプションを付けない場合の動作を示します。

root@cosmoz:~# /cosmoz.elf capture 10
capture success.
#Cosmo-Z RawData Text Format 0.7
#xtitle=[us]
#xmult=0.012500
#min_x=0
#max_x=10
#min_y=2146
#max_y=2170
#width=640
#height=480
#sampling_rate=80.000000
#chmask=ff
#resolution=12
#step     chs=8
------------
     0   2147    2169    2149    2170    2149    2164    2147    2166
     1   2147    2169    2149    2170    2150    2165    2148    2165
     2   2147    2169    2148    2170    2149    2165    2147    2167
     3   2148    2168    2149    2169    2150    2164    2147    2166
     4   2148    2169    2150    2169    2149    2164    2147    2166
     5   2147    2168    2149    2169    2150    2165    2147    2166
     6   2146    2168    2149    2169    2149    2165    2147    2167
     7   2147    2168    2150    2170    2150    2164    2148    2165
     8   2148    2169    2149    2169    2150    2165    2148    2166
     9   2146    2168    2150    2169    2149    2165    2147    2166

のように、サンプリングされたデータを時系列に出力します。デフォルトでは8ch同時サンプリングとなります。上の例では長さが10が指定されているので10ポイントのデータをサンプリングして表示しています。

計測データの前に#が行がいくつかありますが、この中にsampling_rate=80.000000と書かれているため、サンプリング周波数が80MHzであることがわかり、ひとつひとつのデータが12.5ns間隔であることがわかります。

オプション

計測チャネル設定

オプション ch=CHMASK を指定することで特定のチャネルをサンプリングすることが可能になります。この指定はサンプリングしたいチャネルを2進数に見立てたビットを16進数で指定します。

例えば、ch=0x01を指定するとCH1のみをサンプリングし、ch=0xffとするとCH1~CH8をサンプリングします。

CH1,2,5,6,8をサンプリングする場合は、⑧⑥⑤●●②①とという2進数に見立ててch=0xb3と指定します。

CH9以降をサンプリングしたい場合は、0x100のように9bit目以降のビットを立てます。

Cosmo-Zに拡張ボードを実装して32チャネルでサンプリングしたい場合はch=0xffffffffを指定します。

root@cosmoz:~# /cosmoz.elf capture 10 ch=0xb3

トリガモード指定

オプション trig=TRIGTYPEを使用すると、トリガモードを指定できます。

有効なトリガモードと動作は以下のとおりです。

  • auto・・・コマンドが実行されると全体トリガの発生を待たずにサンプリングを開始
  • normal・・・全体トリガが発生する待ってからサンプリングを開始
  • mesunit・・・lengthに指定された時間(秒)のイベントキャプチャを行う
  • event・・・lengthに指定された個数のイベントを計測するまでイベントキャプチャを行う

です。通常の計測で使用するトリガモードはautoかnormalで、mesunitとeventはイベントキャプチャモードで使用します。

タイムアウト指定

normalモードではトリガが発生するまで待機しますが、timeoutオプションを使うことでタイムアウトを設定することが可能になります。

書式は

/cosmoz.elf 1000 trig=normal timeout=10000

のように、ミリ秒単位で書きます。上の例では10秒でタイムアウトします。

ファイルへの保存

captureコマンドの計測結果は画面に表示されますが、fileオプションを使うと結果をファイルに保存することができます。

/cosmoz.elf 1000 file=test01

上の例では、計測結果はtest01というファイル名で保存されます。

なお、ファイルが保存されるディレクトリは/home/share/data となります。現在のCosmo-Zでは変更先フォルダを変更することができません。保存したファイルの形式は計測データのフォーマットのページをご覧ください。

このファイルを読み出して、計測のヘッダを読み出すには/cosmoz.elf fileinfoコマンドを、計測データをテキスト化するには/cosmoz.elf filewaveコマンドを使います。

コメントの追加

ファイルに保存する際に、短いコメントを埋め込むことができます。

root@cosmoz:~# /cosmoz.elf capture 100 file=test02 comment=コメントのテスト
capture success.
sync start.
sync end.
capture end.

シーケンシャルモード

maxseqオプションを使うと、1回の計測で終わるのではなく、トリガが発生するたびに複数回の計測を行うことができます。例えば、トリガが発生するたびに10000ポイントの計測を行い、それを200回繰り返すような場合は以下のように指定します。

root@cosmoz:~# /cosmoz.elf capture 10000 ch=0xff file=test03 maxseq=200

この場合、計測データ長は10000×200=2000000になります。