複数 USRP-RIO の同期方法のご紹介(4)

 こんにちは、ドルフィンシステムの笹生です。

今日「複数 USRP-RIO の同期方法のご紹介(4)」で前回の続きとなります。

6674T のプログラミングで 複数USRP の同期のマスターになる

さて、PXIe-6674T というデバイスが NI から発売されております。

このデバイスは「PXI Synchronization Module」ということで主にクロックやトリガ関連の信号のルーティングをすることができるモジュールになります。

NI MAX から設定することもできますが、それなりに複数の経路を設定したりするのが面倒なのと、単体で 1PPS のような信号出力をさせることができないようなので、LabVIEW でプログラミングしてみました。

プログラミングすることで、6674T が複数 USRP を同期させるための 10MHz Ref Clock と 1PPS のマスターデバイスの代わりとして使用することができます。

0から作成はさすがにしんどいので、NIから提供されているサンプルを改造したいと思います。

サンプルファインダで対象のハードウェアとして「PXIe-6674T」を追加し、「ハードウェアに対して結果を制限」にチェックします。

そして、表示されたサンプルの「ハードウェア入力と出力」⇒「タイミングと同期」⇒「信号ベース」にある「Route Software Trigger.vi」を開きます。


このような VI が開きますので、適当なフォルダに保存します。


ブロックダイアグラムはこのような感じ




さて、このプログラムは何をしているかというと、6674T の指定した端子(デフォルトは PFI0) からボタンを押すたびにトリガを送信する VI です。

これに少々改造して、Clk out から 10MHz クロックを出し、端子からは 1PPS 相当のトリガ信号を出すように変更してみます。


変更したブロックダイアグラムがこちら


変更点は、初期化にクロックのルーティングを追加して、PXI_Clk10 というシャーシの 10MHz クロックを Clk Out から出力させるようにしています。

また、待ち時間を 1秒にして、フロントパネルのボタンの動作を押されたらスイッチにします。これで毎回 1秒ごとにトリガが掛かります。

これで OctoClock を通して複数の USRP を同時にトリガできます。

※注意点としては正確な 1秒ではなくソフトエア的な 1秒になります。ですがスタートしてしまえばRef Clock で全USRP が同期して動作させ続けられます。








 

0 件のコメント :

コメントを投稿