USRP-RIO GPIOケーブルを自作し複数台のUSRP-RIOを同期させる (1)

こんにちはドルフィンシステム福島です。
4月から2019年度が始まりました。弊社は9月決算なのであまり変化はありませんが、年度開始とともにバタバタと問い合わせなど増えてきています。

ドルフィンシステムでは、一緒に働いてくれるエンジニアを募集しています!
SDRは急速に成長を遂げている最中で、弊社にも色々な話が入ってきています。
ご興味のある方はお気軽にご連絡ください!
件名に「採用情報」と書いたメールをinfo@dolphinsystem.jpにお送りください。
お待ちしています。

USRP-RIOのGPIOポートの使い方

今回は、USRP-RIOのフロントパネルにあるGPIOの使い方をご紹介したいと思います。
便利なんですよねGPIO。
FPGAのスタートトリガを外部機器から入力したり、FPGA内から信号を出したり。
ドルフィンシステムでも、GPIOは何回か使っています。
例えば、複数台のUSRP-RIOに対し一斉に処理を開始させるために使いました。

Q. OcloClockのPPSトリガを使えばいいのでは?
A. いえいえ、PPSトリガはスタートトリガとしては使えますが、任意のタイミングでパルスを発生させることは出来ません。

Q. PCI Expressバス経由でいいのでは?
A. いえいえ、確実にずれます。実測したところ複数のUSRP-RIOが受信するタイミングがusオーダーでずれます。

複数のUSRP-RIOに対し一斉に処理を開始するトリガを任意のタイミングで与えるには、GPIOを使って以下のように結線します。
マスターから出した線を分岐して、2台の Slave USRP-RIOとマスターUSRP-RIOに接続しています。



今回の場合はマスターでもSlaveと同じ処理を行うので、マスターとSlaveの処理開始を同一タイミングにするためにマスターは自分自身にトリガをかけています。

FPGAブロック図でいうと、下図のようになります。
マスターFPGA内部は、トリガ発行する回路と処理する回路が別々に存在して動作しており、処理する回路に向けてGPIO経由でトリガをかけます。



あとは「外部計測器でPNを計測したい」という事にも使えます。
USRP-RIOで内部で復調したデータの0/1をGPIOに出力し、それをBERカウンタやBERT機能付きのSGなどに入力して使います。



下図は、PNをKeysight N5172Bに入力しBER計測している所です。
エラーフリーですね。


GPIO Expanstion Kitを使う

GPIOコネクタに結線するためには、GPIO Expansion Kitというものを使えばフロントパネルのGPIOのピンを引っ張り出すことが出来ます。
が、むき出しのバラセットなのでデバッグ程度なら問題ありませんが、恒常的に使ったり納品には向きません。



以下は、GPIO Expansion Kitで引っ張りだしたGPIOピンをプローブで接続しオシロスコープで観測している所です。
このような感じで使います。



複数台のUSRP-RIOの場合は、3台にGPIO Expansion Kitを接続し、それぞれをリード線で接続することで結線します。


まとめ

今回は、GPIOの使い方と、GPIO Expansion Kitをご紹介しました。
これで外部機器との連携も出来ますね。
次回は、GPIOケーブルの作り方をご紹介します。

私たちドルフィンシステムは、お客様の様々な要望に答えられるような知見の蓄積・環境の構築を行い、最適な無線システムを提案していけるよう努力しております。
SDRを用いた無線システムのご要望はドルフィンシステムへ。

ドルフィンシステムでは、一緒に働いてくれるエンジニアを募集しています!
SDRは急速に成長を遂げている最中で、弊社にも色々な話が入ってきています。
ご興味のある方はお気軽にご連絡ください!
件名に「採用情報」と書いたメールをinfo@dolphinsystem.jpにお送りください。
お待ちしています。

以上、ドルフィンシステム福島でした。

コメント