~ ITRON環境で動作する無線デバイスが見つかった! SDIO接続タイプ~
前回は「組込CPUにWiFiの無線デバイスを接続する」という具体的なテーマとして考えること・決めることを解説し、無線ドライバというソフトウエアが解決すべき大きな課題の一つであることをお話しました。解決する方向としては「ITRON環境で動作する無線ドライバがある」、または「無線ドライバ自体が不要」ということになります。今回は前者「ITRON環境で動作する無線ドライバがある」パターンについて、実現した内容を解説します。
無線デバイスとしては2.4/5GHzデュアルバンド WiFi6に対応したNXP社 IW61xです。この無線デバイスはSDIOとUARTインタフェースを持っています。無線ドライバソースコードはMCUXpresso SDKという形でNXPのユーザ向けWebサイトでダウンロードできます。
そして、今回はIW612が搭載された無線モジュールu-blox社 MAYA-W2の評価ボードEVK-MAYA-W2を使いました。EVK-MAYA-W2には一端がmicroSDカードの形をしたコネクタ部を持つケーブルが同梱されており、それで組込機器と接続します。
u-blox MAYA-W276
(出典: https://www.u-blox.com/en/product/maya-w2-series )
ホストCPU側はITRONが動き、SDカードスロットを持っているもので入手しやすい価格帯であるものを探して、今回はSTMicro社 STM32H747I-DISCO を選択しました。STM32H747I-DISCOとEVK-MAYA-W2の組み合わせであれば、特に工作することなくSDカードスロットを介して接続することができます。
EVK-MAYA-W2(左)とSTM32H747I-DISCO(右)の接続
さて、肝心のホストCPU上のソフトウエアについてです。「無線ドライバソースコード」はNXPとNDAを結んだ上で、ユーザWebサイトからMCUXpresso SDKとしてダウンロードすることができます。FreeRTOS用のものをダウンロードしてください。OS依存、ハードウエア(CPU、SDIO、メモリなど)依存、TCP/IPプロトコルスタック依存する部分はSDKにもともと実装されているものから別のものに書き換えられるようになっているので、ITRON、ハードウエア、プロトコルスタックに合わせて書き換えます。結果、ホストCPU上のソフトウエア構成は以下のようになります。
CenteではネットワークミドルウエアパッケージのCente TCP/IPv4、Cente IPv6内のBSP(ボードサポートパッケージ)にて、STM32H747I-DISCOとEVK-MAYA-W2の組み合わせですぐWiFi上のTCP/IP通信が動作するソースコードをご用意しています。ただし、現在は上図青色部分のMCUXpresso SDKについてはライセンスの関係でお客様にて入手、開発環境に組み込んでいただく形になっています。これも将来的には我々から一緒に提供して、よりラピッドに開発できるようになる予定です。
次回は、無線ドライバが不要なUSB接続タイプを実際に使ってみた、という記事です。こちらもお楽しみに!
Cente:
https://www.cente.jp/
お問合せはこちら:
https://www.cente.jp/otoiawase/
■今日の閑話
今回使用したu-bloxのEVK-MAYA-W2ですが、この作業を開始した2024年春の時点ではFCCは取得済みでも技術基準適合認定が取得できていないES品しか入手できませんでした。実際に国内で電波を飛ばしたい旨代理店に相談したところ、電波法を監督している総務省に届け出を出すと、ある一定条件をクリアしていれば期間限定で実験目的での運用ができる特例があるとのこと。早速届け出て無事本開発を進めることができました。6月に取得できたという連絡を受けて、無事実験局の廃止手続きをした次第です。