DesignSpark Electrical Logolinkedin

Intel搭載のIoT向けワイヤレスマルチツール: パート1

title

柔軟性のあるソフトウェア無線(SDR)プラットフォームの設計と初期ビルド。

今回、我々はアールエスコンポーネンツとIntelの挑戦を受け、モノのインターネット(IoT)の実現を、Intelの技術でどれだけ下支えできるかを検証することとなりました。採用可能な技術はもちろん無数にありますが、その中で真っ先に思いついたのは、Intel EdisonとIntel Galileoの2つのボードです。これらはIoTアプリケーションを開発するための高速オンランプを提供します。

しかし、我々の心に浮かんだのは、Bluetooth Low EnergyやIEEE802.15.4などをベースにしたパーソナルエリアネットワーク(PAN)のレベルにしても、低消費電力のWAN、つまりセルラーが、IoTワイヤレス通信の未来にどれだけ欠かせないものであるかということです。接続型のデバイスには接続が必要です。また、大規模なIoTの導入となれば、この分野で長く活用されてきたイノベーションも視野に入れなければなりません。

フィルタやミキサなど、従来はハードウェア側に実装するものであった無線通信システムの構成要素をソフトウェア側に実装するソフトウェア無線は、高度なシステムの構築を可能にし、その開発スピードを高めることができます。とはいえ、何もないところからは何も得られません。DSP (デジタル信号処理)アプリケーションは特に、計算負荷の極めて高いアルゴリズムと、極めて高いデータレートを要する苛酷な負担を強いられます。

以上のことを踏まえて、高性能なIntel NUC Core i5を独立型SDRアプライアンスの中核に据え、頑強で馴染みがあるベンチトップテスト機器のフォームファクタにまとめるという方向性が見えてきました。このシステムでLinuxとオープンソースSDRフレームワークベースのアプリケーションを動作して、ワイヤレスの広範なテスト、測定、試作のシナリオを展開します。

ハードウェアプラットフォーム

title

NUC Core i5は、OpenCL経由でサポートされるストリーミングSIMD拡張命令(SSE)対応の2.9GHzデュアルコアi5-5300Uプロセッサを搭載した、驚くほどコンパクトなシングルボードコンピュータで、要求が厳しいDSPアプリケーションに最適です。高スループットの周辺機器を接続するためのUSB 3.0ポート4基と、統合グラフィックス、ギガビットイーサネットなども備えています。

title

NUCの優れた特徴の1つは、M.2 SSDコネクタを備えていることです。つまり、高性能ストレージを緊密に統合でき、余分なスペースをほぼまったく要しないのです。我々はここに120GB Intel SSD 535シリーズモジュールを使用して、十分な容量を確保しました。

title

高性能の処理システムとストレージは決まりましたが、次にRFとデジタル領域の橋渡しをする必要があります。そのために選択したのがbladeRF x40 SDRボードです。USB 3.0ホストインターフェイスを備え、論理素子数40,000のAltera Cyclone IV FPGAを搭載しています。これはRFトランシーバとの通信を担うほか、デジタルアップ/ダウンコンバージョンなど、計算負荷の高い特定の処理を、アンテナに近いハードウェア側で行います。

bladeRFに組み込むトランシーバ(金属のスクリーニングカバーの下)には、Lime MicrosystemsのLMS6002DフィールドプログラマブルRF (FPRF)を選びました。これは、デジタルコンバータ、ミキサ、フィルタ、アンプなどをSPI経由でプログラミングされる1つのチップに統合したシングルチップトランシーバで、Altera FPGAとシームレスに統合するデジタルベースバンドインターフェイスを備えています。この2つのデバイスは相互補完性が大変良く、我々の無線システムのヘッドエンドに多量の電力と柔軟性をもたらします。LMS6002Dトランシーバは12ビット分解能で、300MHz~3.8GHzの帯域周波数をカバーします。プログラマブル帯域幅は1.5~28MHzです。

SDRになじみのない方はこの部分で少々戸惑ってしまうかもしれませんが、本質的には、これによってトランシーバが無線周波数スペクトルのかなりの部分を扱えるようになります。また、FPGAで一部の処理を実行でき、その結果はUSB 3.0経由でホストコンピュータに送られます。FPGAのローディング、FPRFのプログラミング、実際のアプリケーションの実行は、Intel NUCのレイヤ1 (物理インターフェイス)より上で請け負います。IEEE802.15.4、Bluetooth、GSM、LTEをはじめとするほぼすべてのワイヤレスシステムを利用でき、その定義はソフトウェア側で行います。

エンクロージャと補助部品

title

フォームファクタにはプロ仕様のテスト機器を使用したかったため、アールエスコンポーネンツのカタログからプレミアム機器ケースのタカチMS177-26-28Gを選びました。上の写真は、同僚のStuartが、DesignSpark Mechanicalを使い、適切なカットアウトを備えるフロントパネルとリアパネルをモデリングする前準備として、部品の寸法を測っているところです。

カスタムフロントパネル・リアパネルをまずMDFでレーザーカットし、かみ合うかを確認してから、2mm厚のアルミ板をCNCプラズマカッターで切り出して作りました。

リアパネルの内側には24V 80W のスイッチモード電源(SMPS)を取り付け、20mmのヒューズと4ピンのMolex Micro-Fitコネクタ経由でNUCに電力を供給します。電源からスイッチモード電源へは、同じくリアパネルに取りつけたヒューズとスイッチ付きのIECソケットを介して電力が送られます。側にはebm-papstの24VDC 60mm ファンを装着しています。

title

この時点で注意していただきたい点は、USBやディスプレイなどのケーブルをカスタムで用意せず、汎用部品を使おうと決めていたことです。しかし次回の投稿では、必要な空間容積を減らし、eDPのサポートなど、NUCの追加機能を最大限に利用するために行ったさまざまな試みについてご報告できると思います。

title

フロントパネルに取り付けるディスプレイには、市販のサードパーティ製HDMIタッチパネルスクリーン(解像度1024 x 600)を選びました。ディスプレイの下にはUSB 2.0ポート2基と電源用プッシュボタン、側面にはパネルマウントのSMAコネクタ4つと同軸ピグテールを取り付けています。

title

NUCはオプションのシャーシプレートに装着されています。六角スペーサでこれを固定し、その上にレーザーカットしたアクリル板を置いてbladeRFボードを固定しています。ご覧のとおり空きスペースがかなりあり、エンクロージャのサイズはフロントパネルとリアパネルに取り付けた部品のサイズによりほぼ決定づけられています。ケーブルが必要以上に長いため、余った部分が空きスペースの大部分を占めていますが、今回はこれで良しとします。

選択したソフトウェア

Linux上でデバイスを多数サポートし、安定性に優れ、最新のパッケージが出ていてインストールが容易なものを探すと、ほぼ間違いなくUbuntu一択になります。そこで、64ビットビルドのリリース14.04をインストールしました。また、OpenCLアクセラレーテッドDSPコードに対応するCore i5-5300UのSIMD拡張命令を利用したいと考え、Intel OpenCL SDKをインストールしました。これはRPMベースのLinuxシステム向けのパッケージですが、Alienを使うことでパッケージ形式をDEBベースのシステム向けに簡単に変換できます。

GNU Radio SDRツールキットを、bladeRFドライバ及びこれをGNU Radioに統合するソフトウェアとともに、高性能なPyBOMBSインストール管理システムを使用してインストールしました。また、ハードウェア性能を検証するため、高速化FFT・ディスプレイ部品対応のOpenCLカーネルを使用するGNU Radioベースのリアルタイムスペクトル分析(RTSA)アプリケーション、gr-fosphorもインストールしています。ディスプレイ出力にOpenGLグラフィックスも必要ですが、それはNUCに搭載されています。

基本テスト

title

gr-fosphorアプリケーションでかなりの高サンプルレートとRF帯域幅を使って行ったNUCのテスト結果には、何の問題もありませんでした。下のビデオでは、トランシーバのフロントエンドを最初は2.4GHz、そこから868MHzにチューニングして、スペクトルの動きを視覚的に確認している様子を見ることができます。

この時点ですでに、サイトサーベイ、ワイヤレスセンサノードやベースステーションのテストなど、IoTアプリケーションで真価を発揮するツールが揃いました。もし既製品を買っていたら、このプロジェクトの材料費の何倍ものコストがかかっていたでしょう。リアルタイムの動きを確認できるだけでなく、SSDにキャプチャしたデータを記録して、ギガビットイーサネット経由で転送したり、又は外付けUSB 3.0ストレージデバイスに転送したりすることができます。リアパネルから外付けモニタを接続できることにも注目してください。

ただしこれは、強力な64ビットプロセッサとSIMD拡張命令を組み合わせて、FPGAとFPRF、SDRフレームワークを加えることで可能になることついてのほんの一例にすぎません。

のステップ

我々はこの数週間のうちに、設計の一部に改良を加える予定です。次回の投稿ではその点と追加アプリケーションについて報告し、その後でCore i5 NUCの能力を最大限に活用するための改良プランについて考えてみたいと思います。どうぞお楽しみに。

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.