2411157_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2411157_ja-JP

2411157_ja-JP

NXP Trimension® SR250で始めるUWB入門 第2回:SR250UWBSHIELD + FRDM-RW612 セットアップガイド (日本語ブログ)

1. はじめに


第1回では、SR250がUWB測距とUWBレーダーを1チップに統合したデバイスであること、そして2026年3月にマスマーケット向けにリリースされたことを紹介しました。

今回からは、いよいよ実際にボードを動かします。評価ボードを入手して動作確認まで一緒に進めていきましょう。

第1回 UWBの基礎とSR250の概要
第2回(本記事) SR250評価ボード (SR250UWBSHIELD) のセットアップ
第3回 UWB測距 (Ranging) を試してみる
第4回 UWBレーダー (Radar) を試してみる

SR250を試す方法は大きく2通りあります。ビルド不要のPnP (Plug-and-Play) ルートと、本格開発向けのZephyr SDKルート、どちらのルートかによって必要な準備が変わるため、先に決めておくとスムーズです。どちらも!という方も大歓迎です。

Windows以外でも動作可能ですが、今回はWindows PCのコマンドプロンプトを使用します。

ルート こんな方に 開発環境
A. PnP まず手軽に動かしてみたい! Python + PySerial のみ
B. Zephyr SDK 本格的に開発したい・BLEと組み合わせたい Git・CMake・Python・Zephyr SDK


2. ハードウェアの準備 (A, B共通)


必要なハードウェア


UWB測距の場合は相手側のデバイスが必要となります。2セットご用意いただければ、SR250 UWB SHIELDボード同士での測距を行うことができます。UWBが搭載されたスマートフォンをお持ちであれば、1セットのみでスマートフォンと測距することも可能です。

  • SR250UWBSHIELD:SR250搭載のArduino互換シールドボード
  • FRDM-RW612:ホストMCUボード (Wi-Fi 6 / Bluetooth Low Energy 5.4 / 802.15.4 搭載)
  • USB Type-Cケーブル × 2本
    • 1本はFRDM-RW612に同梱されているので、もう1本ご準備ください
    • 充電専用ケーブルではなく、データ通信対応のケーブルが必要です
    • PCへの接続側はType-AでもType-Cでも構いません

USB接続について


SR250UWBSHIELD + FRDM-RW612の動作にはUSB-Cケーブルを2本接続します。それぞれの用途を確認しておきましょう。

コネクタ 用途 備考
J10 (MCU-Link) 電源供給・書き込み・デバッグ 接続必須。これがないと電源が入らない
J8 (HS-USB) シリアル通信 (Virtual COM Port) COMポート確認時はJ8側のポート番号を使用

Windowsのデバイスマネージャーに2つのCOMポートが表示されますが、シリアル通信に使うのはJ8 (HS-USB) 側のCOMポートです。「USB Serial Device (COMx)」と表示されます。


リワーク:最初に確認が必要な重要作業


SR250-ARDシールドとFRDM-RW612はSPIで通信しますが、デフォルトのArduinoヘッダー配線ではSPIが正しく動作しません。以下の2通りのいずれかで対応してください。

方法1:半田付けによるリワーク(推奨)

はんだごてをお持ちの方はSPIラインのリワークを行うことをお勧めします。一度やってしまえばケーブルも不要でスッキリします。

リワーク手順の詳細はスタートガイドを参照してください:Trimension SR250用開発ボードのスタート・ガイド

FRDM-RW612_rework.jpg

方法2:ジャンパ線での代替接続(手軽に試したい方)

はんだ付けなしで試したい場合は、メスメス (Female-to-Female) のジャンパ線2本でFRDM-RW612のArduinoヘッダーピンを以下のように接続してください。

FRDM-RW612_jumper_rework.jpg

まず動作確認したい方はこちらの方法からどうぞ。


3A. PnPルート:Pythonだけで手軽に試す


PnPアプリはビルド不要で、GitHubで提供されているFRDM-RW612用のUSBシリアル通信とSPI通信のプロトコル変換用FW (PnP用FW) を使ってSR250をPCから直接操作できます。PC側からPythonのUCIスクリプトを実行するだけで動作確認できます。

準備をするにあたって、2つの異なるFWが出てきます。最初に書き込むのは、RW612内で動作するプロトコル変換用のFWです。その後に、SR250のFW更新を行います。それぞれ書き込み方法が異なります (RW612はISPモード経由、SR250はPnP FW経由) ので、手順にご注意ください。

 

GitHubから必要なファイルを入手します。右上の "Code" のプルダウンメニューからZIPダウンロードが可能です。

GitHub: SR250 UWB Plug-and-Play Application

Github_download.jpg

必要なソフトウェア

  • Python 3.x
  • PySerial:pip install pyserial


手順

Step 1: RW612 PnP用FWの書き込み

ISPモード.jpg

  1. USBケーブル2本 (J10・J8)を接続
  2. ファームウェア書き込み専用モードであるISPモード(In-System Programming)でRW612を起動させる:SW3(ISP)を押しながらSW1 (リセット) を押して離す → SW3を離す
  3. ISP over USBでRW612へFWを書き込むため、FRDM-RW612_PnPフォルダにあるprogram_FRDM-RW612.batをダブルクリックでバッチファイルを実行:
FRDM-RW612_PnP/program_FRDM-RW612.bat

PnP_application_flashing.png

エラーが出る場合の多くはISPモードで起動できていないことが原因です。2のスイッチ操作でISPモードに入りにくい場合は、SW3を押しながらJ10にUSBを接続してみてください。

バッチファイルの処理が完了したら、USBケーブルを一度抜いて再接続し、ボードを再起動してください。


Step 2: SR250 FWアップデート

SR250のFW更新のため、SR250_FWフォルダにあるUpdate_SR250_FW.batをダブルクリックでバッチファイルを実行:

SR250_FW/Update_SR250_FW.bat

FW_update.png

成功したら、USBケーブルを一度抜いて再接続し、ボードを再起動してください。


Step 3: 動作確認

  1. デバイスマネージャーでJ8側の通信用COMポート番号を確認します (例: COM10)
  2. Simple_demosフォルダ内にあるPythonスクリプトで先ほど確認したCOMポート番号を引数にして起動し、通信が成功していることを確認します

ポート.jpg

python demo_ranging.py COM10

demo_ranging_log.jpg

PnPルートの準備はこれで完了です!


3B. Zephyr SDKルート:本格開発向け


Zephyr OSベースのSDKを使ってビルド・デバッグを行うルートです。BLEとの組み合わせや独自アプリの開発に対応しています。

VS Code + MCUXpressoを使う方法と、westコマンドラインを使う方法の二つあります。どちらでも構いません。ここではWindows環境でwestコマンドを使う方法を紹介します。なるべくCドライブ直下に近いところにフォルダを作成して始めましょう。

VS Code + MCUXpressoを使う方法についてはスタートガイドやMCUXpresso for VS Codeをご参照ください。VS Code + MCUXpressoを使う方法での注意点だけ最後に記載にしてますので、そちらもご参照ください。

必要なソフトウェア


ZephyrのバージョンとZephyr SDKには依存関係があります。本手順では Zephyr SDK 0.17.x をインストールしてください。異なるバージョンのSDKではビルドエラーが発生する場合があります。

ninjaとwestをインストールしておきましょう

pip3 install west ninja
  • シリアルターミナル: TeraTerm・PuTTYなど、お好みのシリアルターミナル

環境構築手順


Step 1: リポジトリのクローン

git clone https://github.com/nxp-uwb/sr250-uwbiot-zephyr.git

Step 2: west初期化

cd sr250-uwbiot-zephyr 
west init -l --mf west.yml uwbiot-top

Step 3: 依存関係の取得

west update

west update は完了まで時間がかかります。途中で止まった場合は再実行してください。未完了のまま次に進むとビルドエラーの原因になります。

Step 4: Python依存パッケージのインストール

pip install -r zephyr\scripts\requirements.txt

Step 5: 環境変数の設定

Zephyr SDKのパスを環境変数に設定します。

zephyr\zephyr-env.cmd


ビルドと書き込み


最初に更新が必要なため、まずFW更新用のデモをビルドします。

west build -b frdm_rw612 -p auto uwbiot-top\demos\SR2xx\demo_sr2xx_fw_update\zephyr

ビルドに成功したら書き込みます。

west build

シリアル通信でログを確認します。デフォルトでは通信が確立してはじめてコードを実行するようになっています。

  1. USBケーブル2本 (J10・J8)を接続
  2. J8に接続している側のCOMポート番号を確認 (PnPルートのStep 3: 動作確認を参照)
  3. ターミナルソフトを起動し、ポートを以下のように設定します。

ポート設定.jpg

ボーレートは 3,000,000 bps に設定します。TeraTerm・PuTTYなど多くのターミナルソフトでは、ボーレートの選択肢に3,000,000が表示されません。選択肢になくても直接手入力できます。テキストボックスに「3000000」と打ち込んでください。

以下のように、最後にSuccess!のログが出力されていれば成功です。

FWupdate_log.jpg



同様にキャリブレーションデモをビルドして書き込みます。

west build -b frdm_rw612 -p auto uwbiot-top\demos\SR2xx\demo_device_calibration\zephyr
west flash

Calib_log.jpg


Zephyr SDKルートの準備もこれで完了です!


注意点


Windowsのパス長制限(MAX_PATH)

Windowsではデフォルトでパス長が260文字に制限されています。Zephyrのリポジトリは深いディレクトリ構造を持つため、この制限に引っかかることがあります。プロジェクトの保存場所はCドライブ直下に近い場所(例:C:\uwb\など)を強くお勧めします。C:\Users\username\Documents\Projects\...のような深い階層に置くと、Zephyrのビルドシステムが生成するパスが制限を超えてエラーになります。VS Code + MCUXpressoではこの問題がより顕著です。Cドライブ直下に近い場所に置くのが難しい場合は以下の対処方法をご検討ください。

対処方法:

  • WSL2(Windows Subsystem for Linux)の使用を推奨
  • またはWindowsのレジストリでLongPathsEnabledを有効化


VS Code + MCUXpressoでのプロジェクトインポート時の注意

プロジェクトのインポート時には、App typeを「Repository application」に設定することが必要です。スタートガイドにはハイライトされていませんが、ここを誤るとビルドエラーになりやすいポイントです。必ず確認してください。

Repository_app.jpg


pristine buildが必要なケース

ビルドオプションを変更した場合や、エラーが解消しない場合はpristineビルドを試してください:

west build --pristine -b frdm_rw612 sr250-uwbiot-zephyr/samples/demo_uwb_controller


FWバージョンエラー

demo_sr2xx_fw_update を実行する前に他のデモを動かすとFWバージョンエラーが発生します。必ずFWアップデートを最初に実行してください。


次回予告


環境が整ったら、いよいよデモを動かします。次回はUWB測距デモを動かす方法について、PnPルートとZephyr SDKルート、2つのルートそれぞれ解説します。お楽しみに!


参考リンク


=========================

本投稿の「Comment」欄にコメントをいただいても、現在返信に対応しておりません。
お手数をおかけしますが、お問い合わせの際には「NXPへの技術質問 - 問い合わせ方法 (日本語ブログ)」をご参照ください。
(既に弊社NXP代理店、もしくはNXPとお付き合いのある方は、直接担当者へご質問いただいてもかまいません。)


第1回ではSR250の特長 (UWB測距+UWBレーダーの1チップ統合) を紹介しました。第2回では評価ボード SR250UWBSHIELD + FRDM-RW612 を使って、実際にSR250を動かすための環境を整えます。ビルド不要のPnP (Plug-and-Play) ルートと、本格開発向けのZephyr SDKルートの2通りを解説します。

(作業時間:最短10分)

日本語ブログ
Tags (1)
No ratings
Version history
Last update:
Friday
Updated by: