USRP-RIO のシリアル番号を IDL で取得する

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

近頃は2月なのに暖かい日が続いたり、急に雪になったりと、不安定ですね。
電車などでもメガネがほとんど曇るときがないので、基本的には暖かいんだなぁと思います。
2月3月は年度末ということもあって納品も多くあって忙しい時期なのですが、世間では風邪も流行っているようなので体調を崩さないように気を付けたいと思います。

さて今回は、「USRP-RIO のシリアル番号を IDL で取得する」という内容です。
開発サイドとしては、ソフトウェアから特定のデバイスを認識するうえでシリアル番号を取得したい場合がまれにあります。

以前、「NI USRP のサンプルを紐解く (7) ~ niUSRP EX Filter Devices on System.vi」という私のブログ記事で USRP のシリアル番号を取得できることを紹介いたしました。
このサンプルは NI USRP ドライバを使って取得をしていました。

さて、USRP-RIO の FPGA を LabVIEW で開発する際には IDL を使います。以前も探したことがあるのですが、パッと見て「シリアル番号」の取得する関数などがわかりませんでした。

(※IDL = Instruments Design Libraly、National Instruments社から提供されている開発サンプル)

今回改めて IDL でシリアル番号を取得する必要が出てきたので、探してみたところ、ありましたので紹介したいと思います。


USRP-RIO の IDL 内でシリアル番号を取得できるところ

結論から言ってしまうと、FPGA のビットファイルを書き込む機能を持つ

"Configure Bitfile.vi" 内にある "getDiviceInfoFrpmScs.vi" 関数の出力

に USRP-RIO のシリアル番号の出力がありました。





"Configure Bitfile.vi" では "getDiviceInfoFrpmScs.vi" の [product name] 出力 だけを使っていて、 USRP-RIO の型式を認識することによってダウンロードする Bitfile を変えるような作りになっています。

[serial number] 出力は使われていません。
実際どのように出力されるのか、弊社の USRP を使って確認してみました。

実際にシリアルナンバーを取得してみる


こちらが弊社で所有している USRP-RIO のシリアル番号のシールの写真です。(一部伏せています)

小さくて見えないと思いますがシリアル番号として
S/N: F5B○○3
と記載があります。

さて、IDL の"getDiviceInfoFrpmScs.vi" の[serial number] 出力を表示器にして実行してみます。


こちらも小さくて見えないと思いますがシリアル番号として文字列 [00F5B○○3] が正しく取得できました。

まとめ

USRP-RIO の開発をする際にシリアル番号の使い道としては、例えば別途キャリブレーションのようなデバイス固有の情報と紐づけたりするときに管理が便利になる可能性があります。
SDR なので、同じソフトウェアですが使う USRP を変更したときに、そのデバイスにあったパラメータファイルを切り替えて使用するなどが可能になるというわけです。



0 件のコメント :

コメントを投稿