STMicroelectronics UM3399 STM32Cube WiSE 無線コード ジェネレーター
製品使用説明書
- STM32CubeWiSE-RadioCodeGenerator アプリケーションには、少なくとも 2 GB の RAM、USB ポート、および Adobe Acrobat Reader 6.0 が必要です。
- stm32wise-cgwin.zipの内容を抽出します。 file 一時ディレクトリに。
- STM32CubeWiSE-RadioCodeGenerator_Vx.xxexeを起動します。 file 画面の指示に従ってください。
- STM32CubeWiSE-RadioCodeGenerator SW パッケージ fileは「app」や「ex」などのフォルダに整理されています。ampレス。
- STM32CubeWiSE-RadioCodeGenerator でフローグラフを構築するには:
- ツールバーまたはグローバル メニューを使用して、フローグラフに SeqActions を追加します。
- アクション遷移矢印を描画して、SeqAction をエントリ ポイントに接続し、SeqAction 同士を接続します。
- 必要に応じてアクションをドラッグし、アクション遷移を追加してフロー グラフを移動します。
導入
- このドキュメントでは、STM32WL32x MRSUBG シーケンサ コード ジェネレーターを備えた STM32CubeWiSE-RadioCodeGenerator (STM3CubeWiSEcg) SW パッケージについて説明します。
- STM32CubeWiSE-RadioCodeGenerator は、MRSUBG シーケンサー ドライバーを使用して、どの条件下でどのトランシーバー アクションを実行するかを定義するフローグラフを構築するために使用される PC アプリケーションです。
- STM32WL3x サブ GHz 無線にはこのシーケンサーが含まれています。これは、CPU の介入を必要とせずに RF 転送の自律的な管理を可能にする、ステート マシンのようなメカニズムです。
- CPU の介入が必要な場合は、割り込みを定義できます。トランシーバーのアクションはフロー グラフに配置できます。このドキュメントでは、個々のトランシーバーのアクションを SeqActions と呼びます。
- ただし、ソース コードはフローグラフの論理的および時間的構造を隠すため、フローグラフの最適な表現ではありません。
- STM32CubeWiSE-RadioCodeGenerator は、フローグラフを構築するためのグラフィカルな方法を提供し、生成されたフローグラフを C ソース コードとしてエクスポートしてユーザー アプリケーションに統合することで、この問題に対処します。
- フローグラフの定義は、次の形式でマイクロコントローラの RAM に保存されます。
- ポインタを使用して互いにリンクされた ActionConfiguration RAM テーブルのセット。これらのポインタは SeqActions、つまりアクションのタイプを定義します (例:ampアクション送信の SeqAction 固有の無線パラメータと条件に加えて、アクション送信のシーケンス (送信、受信、中止) も定義します。
- 一意の GlobalConfiguration RAM テーブル。これは、フローグラフのエントリ ポイント (実行する最初の SeqAction) と、いくつかのデフォルトのフラグ値および共通の無線パラメータを定義します。
- 各 SeqAction ごとに個別に設定できる無線パラメータは、ActionConfiguration RAM テーブルの一部である動的レジスタの 1 つに保存されます。フローグラフの実行全体にわたって固定される無線パラメータ (CPU 割り込み中に変更されない限り) は、グローバル構成 RAM テーブルの一部である静的レジスタに保存されます。
一般情報
ライセンス
このドキュメントでは、STM32WL3x Arm® Cortex® -M0+ ベースのマイクロコントローラ上で実行されるソフトウェアについて説明します。
注記: Armは、米国および/またはその他の国におけるArm Limited(またはその子会社)の登録商標です。
関連文書
表1.ドキュメントの参照
番号 | 参照 | タイトル |
[1] | RM0511 | STM32WL30xx/31xx/33xx Arm®ベースのサブGHz MCU |
はじめる
- このセクションでは、STM32CubeWiSE-RadioCodeGenerator を実行するためのすべてのシステム要件について説明します。
- また、ソフトウェア パッケージのインストール手順についても詳しく説明します。
システム要件
STM32CubeWiSE-RadioCodeGenerator アプリケーションには、次の最小要件があります。
- Microsoft® Windows 10 オペレーティング システムを実行する Intel® または AMD® プロセッサを搭載した PC
- 少なくとも2GBのRAM
- USBポート
- Adobe Acrobat リーダー 6.0
STM32CubeWiSE-RadioCodeGenerator SW パッケージのセットアップ
次の手順を実行します。
- stm32wise-cgwin.zipの内容を抽出します。 file 一時ディレクトリに。
- STM32CubeWiSE-RadioCodeGenerator_Vx.xxexeを解凍して起動します。 file 画面の指示に従ってください。
STM32CubeWiSE-RadioCodeGenerator SW パッケージ files
STM32CubeWiSE-RadioCodeGenerator SW パッケージ fileは次のフォルダに整理されます。
- アプリ: STM32CubeWiSE-RadioCodeGenerator.exe が含まれています
- examples: このフォルダーは次のサブフォルダーに編成されています。
- コード: このフォルダにはフローグラフが含まれます。ampすでにCコードとしてエクスポートされており、アプリケーションプロジェクトに挿入する準備ができています。
- フローグラフ: このフォルダにはいくつかのexが保存されますamp自律的なMRSUBGシーケンサー操作のシナリオ
リリースノートとライセンス fileはルート フォルダーにあります。
STM32CubeWiSE-RadioCodeGenerator ソフトウェアの説明
- このセクションでは、STM32CubeWiSE-RadioCodeGenerator アプリケーションの主な機能について説明します。このユーティリティを実行するには、STM32CubeWiSE-RadioCodeGenerator アイコンをクリックします。
STM32CubeWiSE-RadioCodeGenerator を起動すると、メイン アプリケーション ウィンドウが表示されます。このウィンドウは次の内容で構成されています。
- グローバルメニューとツールバー
- フローグラフの視覚的なドラッグアンドドロップ表現
- SeqAction 構成セクション (SeqAction が現在編集されている場合にのみ表示されます)
フローグラフの構築
基礎
フローグラフは 2 つのステップで構築されます。
- フローグラフに SeqActions を追加します。これは、ツールバーの「アクションの追加」ボタン、グローバル メニュー (編集 → アクションの追加)、または「Ctrl+A」ショートカットを使用して実行できます。
- アクション遷移矢印を描画して、SeqAction をエントリ ポイントに接続し、SeqAction 同士を接続します。
これらの遷移が発生する条件は後で定義されます(セクション 3.2.1「制御フロー」を参照)。
フローグラフをナビゲートし、アクションをドラッグする
フローグラフのチェッカーボードの背景をマウスポインタ(左クリック)でドラッグすると、 viewフローグラフ上のポートは調整できます。マウスのスクロール ホイールを使用して、ズームインおよびズームアウトできます。アクションを選択するには、アクションの任意の場所 (出力ポート、削除ボタン、編集ボタンを除く) をクリックします。アクションは、マウスの左ボタンでドラッグしてフローグラフ内で配置できます。
アクション遷移の追加
- 図2に示すように、各アクションにはNextAction1(NA1)とNextAction2(NA2)と呼ばれるXNUMXつの「出力ポート」があり、アクションが完了した後に実行されるSeqActionに接続できます。例:ampたとえば、現在のアクションが成功した場合は NextAction1 を使用して何らかのアクションを実行し、失敗した場合は NextAction2 をトリガーできます。
- アクション遷移を作成するには、マウス ポインターを出力ポートの 1 つに合わせ、マウスの左ボタンを押してマウス ポインターを移動し、遷移矢印をドラッグします。マウス ポインターを他の SeqAction の左側の入力ポートに移動し、マウスの左ボタンを放して接続を永続化します。アクション遷移を削除するには、アクション遷移を作成する手順を繰り返しますが、チェッカーボードの背景のどこかでマウスの左ボタンを放します。
- 出力 (NextAction1、NextAction2) が未接続のままになっている場合、この次のアクションがトリガーされるとシーケンサーは終了します。
- 「エントリ ポイント」を SeqAction の入力ポートにも接続してください。この SeqAction は、シーケンサーがトリガーされるとすぐに最初に実行されます。
アクションの編集と削除
- SeqAction は、SeqAction の左上にある鉛筆ボタンをクリックすると編集できます。SeqAction は、右上にある赤い十字をクリックすると削除できます (図 3 を参照)。SeqAction を削除すると、着信および発信アクション遷移も削除されます。
SeqAction 構成
SeqActions は、フローグラフ内の各アクションの左上にある鉛筆ボタンからアクセスできるタブ付き構成インターフェースを介して構成できます。このインターフェースは基本的に、特定のアクションの ActionConfiguration RAM テーブルの内容を構成します。この内容は、制御フロー関連の構成オプションと動的レジスタの内容の両方で構成されます。動的レジスタの内容は、すべてのレジスタ値を完全に制御して手動で構成することも (セクション 3.2.3: 高度な無線構成を参照)、簡略化されたインターフェースを介して構成することもできます (セクション 3.2.2: 基本的な無線構成を参照)。簡略化されたインターフェースは、ほとんどすべてのユースケースで十分なはずです。
制御フロー
制御フロー タブ (図 4 を参照) には、アクション名やアクション タイムアウト間隔などの基本的な構成オプションがいくつか含まれています。アクション名はフローグラフでの表示に使用されるだけでなく、生成されたソース コードにも引き継がれます。
- 制御フロー タブ (図 4 を参照) には、アクション名やアクション タイムアウト間隔などの基本的な構成オプションがいくつか含まれています。アクション名はフローグラフでの表示に使用されるだけでなく、生成されたソース コードにも引き継がれます。
- 最も重要なのは、制御フロー タブで、NextAction1 / NextAction2 への遷移が依存する条件、および遷移間隔とフラグを設定することです。遷移条件は、「…」というラベルの付いたボタンをクリックして設定できます。これにより、図 5 に示すマスク選択ダイアログが表示されます。遷移間隔は、RAM テーブルの NextAction1Interval / NextAction2Interval プロパティを変更します。この間隔の意味と SleepEn / ForceReload / ForceClear フラグの重要性の詳細については、STM32WL3x リファレンス マニュアル [1] を参照してください。
- さらに、このタブでは SeqAction ブロックの簡単な説明を追加できます。この説明はドキュメント作成の目的でのみ使用され、生成されたソース コードにソース コード コメントとして引き継がれます。
基本的な無線構成
基本的な無線構成タブは、次の 3 つの部分に分けられます。
- アクションの最も重要な 2 つのパラメータ (実行するコマンド (TX、RX、NOP、SABORT など) と、該当する場合は転送するパケットの長さ) が設定される上部のセクション。
- 左側のセクションでは、キャリア周波数、データ レート、変調プロパティ、データ バッファーしきい値、タイマーなどの実際の無線パラメーターが設定されます。
- 右側のセクションでは、CPU 割り込みを個別に有効にできます。チェックされた割り込みごとに割り込みハンドラが生成されます。これは基本的に、RFSEQ_IRQ_ENABLE レジスタの内容を設定します。
各種無線パラメータの意味についてはSTM32WL3xリファレンスマニュアル[1]を参照してください。
高度な無線設定
- 基本的な無線設定タブ (セクション 3.2.2: 基本的な無線設定) で表示される設定オプションが不十分な場合は、高度な STM32WL3x 無線設定タブを使用して、任意の動的レジスタ内容を設定できます。高度な設定タブは、タブ付き設定インターフェイスの右上にある [高度な設定] チェックボックスをオンにすることで有効になります。
- 基本設定と詳細設定の両方を同時に使用することはできません。ユーザーはどちらか一方を選択する必要があります。ただし、生成されたソース コードを後で手動で編集し、不足している可能性のある設定オプションを追加することも可能です。
グローバル設定ダイアログ
- 「グローバル プロジェクト設定」ダイアログには、「グローバル設定」ツールバー ボタンからアクセスできます。このダイアログには、静的レジスタの内容の設定オプションと追加のプロジェクト設定の両方が含まれています。このダイアログで設定できるのは、静的レジスタ設定オプションのごく一部だけであることに注意してください。これらのオプションは、STM32CubeWiSE-RadioCodeGenerator を使用したアプリケーション プロトタイピングを高速化するためにのみ提供されています。
- 通常、静的レジスタの内容は、アプリケーションの手動で記述されたソース コード内で設定されることが想定されます。
- その他のプロジェクト設定の意味はダイアログ自体で説明されています。
- 静的レジスタの内容からグローバル構成 RAM テーブルを作成する直前に挿入される追加の C コードも提供される場合があります。このフィールドは、提供された静的レジスタ構成マスクを介してアクセスできない静的レジスタ値を設定するために使用できます。
コード生成
フローグラフは、ツールバーのコード生成ボタンを押すことで、完全なプロジェクトCソースコードに変換できます。生成されたプロジェクトフォルダにはプロジェクトは含まれません。 fileIAR、Keil®、またはGCC用のもの。これらは fileSTMWL3x プロジェクトに手動で追加する必要があります。
生成されたプロジェクト フォルダー構造は次のとおりです。
プロジェクトフォルダ
- 株式会社
- SequencerFlowgraph.h: ヘッダー file SequencerFlowgraph.c の場合、静的です。これを編集しないでください。
- stm32wl3x_hal_conf.h: STM32WL3x HAL 構成 file、静的。
- ソース
- SequencerFlowgraph.c: フローグラフの定義。これは重要なものです file シーケンサー ドライバーを使用して、グローバル構成およびアクション構成 RAM テーブルを定義します。自動生成されるため、編集しないでください。
- main.c: プロジェクトメイン file フローグラフ定義をロードして適用する方法を示します。静的なので、必要に応じて変更してください。
- main.c または stm32wl3x_hal_conf.h を編集するには、プロジェクト設定で上書き動作の [Keep] を選択します。この方法では、SequencerFlowgraph.c のみが上書きされます。
生成されたコードをCubeMX exにインポートする方法ample
STM32CubeWiSE-RadioCodeGeneratorで生成されたプロジェクトをCubeMX exにインポートするにはample (MRSUBG_Skeleton) の場合は、次の手順に従う必要があります。
- を含むフォルダを開きます fileSTM32CubeWiSE-RadioCodeGenerator によって生成された s を作成し、「Inc」および「Src」フォルダーをコピーします。
- 2 つのフォルダを「MRSUBG_Skeleton」フォルダに貼り付けて、既存の 2 つのフォルダを上書きします。
- 次のいずれかの IDE で「MRSUBG_Skeleton」プロジェクトを開きます。
- ウォーム
- MDK-ARM
- STM32キューブIDE
- 「MRSUBG_Skeleton」プロジェクト内に「SequencerFlowghraph.c」を追加します。 file:
- EWARMプロジェクトの場合、 file MRSUBG_Skeleton\Application\User は次のようになります。
- MDK-ARMプロジェクトの場合、 file MRSUBG_Skeleton\Application/User は次のようになります。
- STM32CubeIDEプロジェクトの場合、追加するパスは file 同じです:
MRSUBG_スケルトン\アプリケーション\ユーザー
- EWARMプロジェクトの場合、 file MRSUBG_Skeleton\Application\User は次のようになります。
- MRSUBG_Skeletonプロジェクト内にstm32wl3x_hal_uart.cとstm32wl3x_hal_uart_ex.cを追加します。 fileを次のパスにコピーします: MRSUBG_Skeleton\Drivers\STM32WL3x_HAL_Driver。パスはすべてのIDEで同じです。 fileは、Firmware\Drivers\STM32WL3x_HAL_Driver\Src にあります。
- COM機能を使用するには、stm32wl3x_nucleo_conf.h file、Firmware\Projects\NUCLEOWL33CC\ Exにありますamples\MRSUBG\MRSUBG_Skeleton\Inc は、USE_BSP_COM_FEATURE と USE_COM_LOG を 1U に設定して変更する必要があります。
- 次のコードを、MRSUBG_Skeleton\Application\User にある「stm32wl3x_it.c」にコピーします。
フローグラフexampレ
- 4人の元ampフローグラフはソースコードと一緒に提供されます。これらはampツールバーの「ロード」ボタンをクリックすると、ファイルは STM32CubeWiSE-RadioCodeGenerator にロードできます。
自動ACK_RX
- Auto-ACK デモは、シーケンサー ハードウェアの助けを借りて、32 つの STM3WLXNUMXx デバイスが CPU の介入を最小限に抑えて自動的に相互に通信する方法を示します。
- このフローグラフは、デバイス A の動作 (Auto-Transmit-ACK) を実装します。デバイス A では、シーケンサーは受信状態 (WaitForMessage) で初期化され、メッセージの到着を待機します。
- 有効なメッセージが到着すると、シーケンサーは自動的に送信状態 (TransmitACK) に移行し、CPU の介入なしに ACK パケットが応答として送信されます。これが完了すると、シーケンサーは初期の WaitForMessage 状態にリセットされます。
- このフローグラフはMRSUBG_SequencerAutoAck_Rx exと同じ動作を実装します。ampル・フロム・ザ・エクスampSTM32Cube WL3ソフトウェアパッケージのles\MRSUBGフォルダ。AutoACK_RXがXNUMXつのデバイスにフラッシュされている場合
A では、AutoACK_TX が何らかのデバイス B にフラッシュされ、2 つのデバイスはピンポン ゲームのようにメッセージを送受信します。
自動ACK_TX
- 「Auto-ACK」デモでは、シーケンサ ハードウェアの助けを借りて、CPU の介入を最小限に抑えながら 32 つの STM3WLXNUMXx デバイスが自動的に相互に通信する方法を示します。
- このフローグラフは、デバイス B の動作 (「自動 ACK 待ち」) を実装します。デバイス B では、シーケンサーは送信状態 (TransmitMessage) で初期化され、メッセージを送信します。送信が完了すると、自動的に受信状態に遷移し、デバイス A からの確認応答 (WaitForACK) を待ちます。有効な確認応答が到着すると、シーケンサーは初期の TransmitMessage 状態にリセットされ、プロセス全体が再び開始されます。4 秒以内に ACK が受信されない場合は、タイムアウトがトリガーされ、シーケンサーはとにかく TransmitMessage 状態に戻ります。
- このフローグラフは、「MRSUBG_SequencerAutoAck_Tx」例と同じ動作を実装しています。ampExからのleampSTM32Cube WL3 ソフトウェア パッケージの les\MRSUBG フォルダー。AutoACK_RX が XNUMX つのデバイス A でフラッシュされ、AutoACK_TX が別のデバイス B でフラッシュされると、XNUMX つのデバイスはピンポン ゲームのようにメッセージを送受信します。
話す前に聞く(LBT)
- この元ampこの例はSTM32WL3xリファレンスマニュアル[1]から引用したものです。この例の詳細については、そのマニュアルを参照してください。ampル。
スニフモード
- この元ampこの例はSTM32WL3xリファレンスマニュアル[1]から引用したものです。この例の詳細については、そのマニュアルを参照してください。ampル。
改訂履歴
表2. 文書の改訂履歴
日付 | バージョン | 変更点 |
21年2024月XNUMX日 | 1 | 初回リリース。 |
10年2025月XNUMX日 | 2 | デバイス名をスコープ STM32WL3x に更新しました。 |
重要なお知らせ – よくお読みください
- STMicroelectronics NV およびその子会社 (以下「ST」) は、ST 製品および/またはこのドキュメントを予告なしにいつでも変更、修正、拡張、修正、および改善する権利を留保します。購入者は、注文を行う前に ST 製品に関する最新の関連情報を入手する必要があります。ST 製品は、注文確認時に適用される ST の販売条件に従って販売されます。
- ST 製品の選択、選択、使用については購入者が単独で責任を負い、ST は購入者の製品の適用支援や設計については一切責任を負いません。
- ST は、明示的か黙示的かを問わず、いかなる知的財産権のライセンスも付与しません。
- ここに記載されている情報と異なる規定を伴う ST 製品を再販した場合、当該製品に対して ST が付与した保証は無効になります。
- STおよびSTロゴはSTの商標です。 STの商標の詳細については、www.st.com/trademarksを参照してください。 他のすべての製品名またはサービス名は、それぞれの所有者に帰属します。
- このドキュメントの情報は、このドキュメントの以前のバージョンで以前に提供された情報に優先し、置き換えられます。
- © 2025 STマイクロエレクトロニクス – 無断転載を禁じます
よくある質問
- Q: STM32CubeWiSE-RadioCodeGenerator の最小システム要件は何ですか?
- A: 最小システム要件には、少なくとも 2 GB の RAM、USB ポート、Adobe Acrobat Reader 6.0 が含まれます。
- Q: STM32CubeWiSE-RadioCodeGenerator ソフトウェア パッケージをセットアップするにはどうすればよいですか?
- A: ソフトウェアパッケージをセットアップするには、提供されたzipの内容を抽出します。 file 一時ディレクトリに移動し、実行ファイルを起動する file 画面上の指示に従ってください。
ドキュメント / リソース
![]() |
STMicroelectronics UM3399 STM32Cube WiSE 無線コード ジェネレーター [pdf] ユーザーマニュアル UM3399、UM3399 STM32 Cube WiSE 無線コード ジェネレーター、UM3399、STM32、Cube WiSE 無線コード ジェネレーター、無線コード ジェネレーター、コード ジェネレーター、ジェネレーター |