USRP のデータクロックから派生クロックを作りたい!!(1)

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

色々立て込んでしまい、ブログが更新できずにおりました。最近はすっかり涼しいですね。

でも昼間は外を歩くと暑かったり洋服の調整が難しい季節ですね。体調管理に気を付けて年度末に向けて頑張っていきたいです。

今回は「USRP のデータクロックから派生クロックを作りたい!!」というタイトルですが、まぁなんのこっちゃと思われると思います。

今回はちょっとマニアックな小ネタのような話です。

きっかけは、USRP のサンプリングレートと同期させた別のクロックを作成したいというものでした。

そのための LabVIEW FPGA の基本機能に

”クロックの派生クロックを作成する”

というものがあるのですが、USRP のサンプリングクロックであるデータクロックの派生クロックはデフォルトで作成できないのです!!

しかし、CLIP という機能を使えばデフォルトで作成できないデータクロックの派生クロックを作成できるので今回はその話をしたいと思います。

参考記事⇒「LabVIEW FPGA で任意の周波数クロックを作る!派生クロック生成の注意点」


この画像は ChatGPT に本ブログの内容から画像を生成させたものです。

「こちらが、USRPデバイスとFPGAシステムが使われているラボ環境を表した画像です。派生クロックの管理プロセスに焦点を当てた技術的な雰囲気を感じ取っていただければと思います。」

最近はブログのトップ画像にAIに作らせた画像を作成させていますが、毎度思いますがなんだか微妙に古臭さを感じますよね。。。


なぜか USRP FPGA のデータクロックは派生クロックを作成できない

USRP の FPGA では、データクロック (DataClock) というサンプリングクロックで送受信するベースバンド信号を扱います。

このデータクロックはデバイス毎に固定のクロックレートで、例えば NI USRP-2954 は200MHz のクロックレート(=サンプルレート)で FPGA の信号処理をさせることができます。

またデータクロックとは別にオンボードの 40MHz クロックも実装されています。

データクロックは外部からの 10MHz リファレンスクロックと同期させることができますが、派生クロックの作成がデフォルトではできません。たいしてオンボード 40MHz クロックは派生クロックはデフォルトで作成できますが、10MHz リファレンスクロックと同期できません。

表にすると以下のような感じです。

USRP-2954 ベースクロック派生クロック10MHz REF同期
40MHz オンボードクロック可能不可能
200MHz データクロックデフォルトでは不可能可能

このようにデータクロックと同期した別のクロックを作りたい場合にはデフォルトではできません。

↓40MHz オンボードクロックは右クリックで「新規派生クロック」が選択できます。


↓データクロック(Data Clock) は右クリックしても「新規派生クロック」が出てきません。

公式でもデータクロックは固定で変更できないと書いてあります。

"For NI USRP RIO products, It is usually set at 120MHz or 200MHz and you can not change this value. This clock is indicated as Data Clock in the top-level FPGA VI. "

しかし CLIP という機能を使うことで、デフォルトでは不可能な派生クロック作成ができるようになります。

CLIP Clockで解決!?しそう!?

結論から言いますと解決します。ただ使用している Xilinx デバイスの情報やプリミティブの使い方を調べて自分で HDL を作成する必要があります。

まず CLIP とは Component Level IP の略で、要するに HDLなどの IP を LabVIEW FPGA で使えるようにする機能です。

以前の私のCLIPに関する記事はこちら↓

この CLIP という機能を使うことで、Xilinx のプリミティブのクロックマネージャを使ってデータクロックを使った派生クロックの生成をしてしまおう!ということです。

NI 公式のヘルプにも記載がありまして、基本的な流れはこの方法になります。

しかし、USRP-2954 に関しての具体的な方法について書いてあるわけではなく、ここで提示されているサンプルの VHDL は日付も古く、USRP に搭載しているターゲット FPGA ではそのまま使用できませんでした。

次回

具体的に CLIP Clock を作成するために AI で USRP の FPGA プリミティブを使用する HDL を作成させてみましたのでそちらを解説したいと思います。



0 件のコメント :

コメントを投稿