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”和“examp萊斯’。
- 要在 STM32CubeWiSE-RadioCodeGenerator 中建立流程圖:
- 使用工具列或全域功能表將 SeqActions 新增至流程圖。
- 透過繪製動作轉換箭頭將 SeqActions 連接到入口點並相互連接。
- 根據需要,透過拖曳動作和新增動作轉換來導航流程圖。
介紹
- 本文檔介紹了帶有 STM32WL32x MRSUBG 序列器代碼產生器的 STM32CubeWiSE-RadioCodeGenerator(STM3CubeWiSEcg)SW 套件。
- STM32CubeWiSE-RadioCodeGenerator 是一個 PC 應用程序,用於使用 MRSUBG 序列驅動程式建立流程圖,定義在哪種條件下執行哪些收發器操作。
- STM32WL3x Sub-GHz 無線電包含此序列器,它是一種類似狀態機的機制,允許自主管理 RF 傳輸,而無需 CPU 幹預。
- 如果需要CPU幹預,可以定義中斷。收發器動作可以排列在流程圖中。在本文檔中,單一收發器操作稱為 SeqActions。
- 然而,原始碼並不是流程圖的最佳表示,因為它隱藏了流程圖的邏輯和時間結構。
- STM32CubeWiSE-RadioCodeGenerator 透過提供圖形方法來建立流程圖,然後將生成的流程圖匯出為 C 原始程式碼以整合到使用者應用程式中,從而解決了這個問題。
- 流程圖定義以以下形式儲存在微控制器 RAM 中:
- 一組 ActionConfiguration RAM 表,使用指標相互連結。這些指標定義了 SeqActions,也就是動作的類型(例如amp動作傳輸包括:發送、接收、中止(le)、以及 SeqAction 特定的無線電參數和條件。
- 獨特的 GlobalConfiguration RAM 表。這定義了流程圖的入口點(要執行的第一個 SeqAction),以及一些預設標誌值和常見的無線電參數。
- 可以為每個 SeqAction 單獨配置的無線電參數儲存在其中一個動態暫存器中,該暫存器的內容是 ActionConfiguration RAM 表的一部分。在整個流程圖執行過程中固定的無線電參數(除非在 CPU 中斷期間被修改)儲存在靜態暫存器中,其內容是全域配置 RAM 表的一部分。
一般資訊
授權
本文檔介紹了在基於 STM32WL3x Arm® Cortex ® -M0+ 的微控制器上運行的軟體。
筆記: Arm 是 Arm Limited(或其子公司)在美國和/或其他地方的註冊商標。
相關文件
表 1. 文檔參考
數位 | 參考 | 標題 |
[1] | RM0511 | 基於 STM32WL30xx/31xx/33xx Arm® 的 sub-GHz MCU |
入門
- 本節介紹所有運行 STM32CubeWiSE-RadioCodeGenerator 的系統需求。
- 它還詳細介紹了軟體包的安裝過程。
系統需求
STM32CubeWiSE-RadioCodeGenerator 應用程式有以下最低需求:
- 配備 Intel® 或 AMD® 處理器並執行 Microsoft® Windows 10 作業系統的 PC
- 至少 2 GB 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 程式碼,可以注入到應用程式專案中
- flowgraphs: 此資料夾儲存了一些範例amp自主MRSUBG定序儀操作的場景
發行說明和許可證 files 位於根資料夾中。
STM32CubeWiSE-RadioCodeGenerator軟體說明
- 本節介紹STM32CubeWiSE-RadioCodeGenerator應用程式的主要功能。若要執行此實用程序,請按一下 STM32CubeWiSE-RadioCodeGenerator 圖示。
啟動 STM32CubeWiSE-RadioCodeGenerator 後,出現主應用程式視窗。它包括:
- 全域選單和工具列
- 流程圖的可視化拖放表示
- SeqAction 設定部分(僅當 SeqAction 目前正在編輯時才可見)
建構流程圖
基礎知識
流程圖的建構分為兩個步驟:
- 將 SeqActions 新增到流程圖。這可以透過工具列中的「新增動作」按鈕、全域功能表(編輯 → 新增動作)或「Ctrl+A」快捷鍵來完成。
- 透過繪製動作轉換箭頭將 SeqActions 連接到入口點並相互連接。
這些轉換發生的條件稍後定義(請參閱第 3.2.1 節:控制流)。
瀏覽流程圖,拖曳操作
透過使用滑鼠指標(左鍵點擊)拖曳流程圖的棋盤背景, view流量表上的連接埠可以調整。滑鼠滾輪可用於放大和縮小。按一下操作上的任何位置(輸出連接埠、刪除按鈕和編輯按鈕除外)以選擇一個操作。可以透過使用滑鼠左鍵拖曳動作來在流程圖中排列動作。
新增動作轉換
- 如圖2所示,每個動作都有兩個“輸出埠”,分別稱為NextAction1(NA1)和NextAction2(NA2),可以連接到動作完成後執行的SeqActions。例如amp例如,如果目前操作成功,可以使用 NextAction1 來執行某個動作,如果失敗,則可以觸發 NextAction2。
- 若要建立動作轉換,請將滑鼠指標停留在其中一個輸出連接埠上,按下滑鼠左鍵並移動滑鼠指標以拖曳轉換箭頭。將滑鼠指標移到其他 SeqAction 左側的輸入連接埠上,然後釋放滑鼠左鍵以使連線永久生效。要刪除動作轉換,只需重複建立動作轉換的步驟,但在棋盤背景的某處釋放滑鼠左鍵。
- 如果輸出(NextAction1、NextAction2)未連接,則序列器會在觸發下一個動作時終止。
- 確保也將「入口點」連接到某些 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 區塊的簡短描述。此描述僅用於文件目的,並作為原始碼註解延續到生成的原始碼中。
基本無線電配置
基本無線電配置選項卡可細分為三個部分:
- 頂部的部分配置了任何操作的兩個最重要的參數:要執行的命令(TX、RX、NOP、SABORT 等)以及(如果適用)要傳輸的資料包的長度。
- 左側部分配置了實際的無線電參數,例如:載波頻率、資料速率、調變屬性、資料緩衝閾值和計時器。
- 右側的部分可以單獨啟用 CPU 中斷。為每個滴答中斷產生一個中斷處理程序。這基本上配置了 RFSEQ_IRQ_ENABLE 暫存器的內容。
有關各個無線電參數的含義,請參閱 STM32WL3x 參考手冊 [1]。
進階無線電配置
- 如果透過基本無線電設定標籤(第 3.2.2 節:基本無線電設定)顯示的設定選項不足,則進階 STM32WL3x 無線電設定標籤允許設定任意動態暫存器內容。透過勾選選項卡式設定介面右上角的「進階配置」複選框可以啟用進階配置標籤。
- 不能同時使用基本配置和進階配置,使用者必須選擇其中一個。但是,當然也可以隨後手動編輯生成的原始程式碼並添加可能缺少的配置選項。
全域配置對話框
- 可透過「全域設定」工具列按鈕存取「全域項目設定」對話方塊。此對話方塊包含靜態暫存器內容的設定選項以及附加項目設定。請注意,只有一小部分靜態暫存器配置選項可以透過此對話方塊進行設定。提供這些選項僅是為了加速使用 STM32CubeWiSE-RadioCodeGenerator 的應用程式原型設計應用程式。
- 通常期望靜態暫存器內容在應用程式手動編寫的原始程式碼中設定。
- 對話框本身解釋了其他項目設定的含義。
- 還可以提供在根據靜態暫存器內容建立全域配置 RAM 表之前插入的附加 C 程式碼。此欄位可用於設定無法透過提供的靜態暫存器配置遮罩存取的靜態暫存器值。
程式碼生成
透過按下工具列中的「生成程式碼」按鈕,可以將流程圖轉換為完整的專案 C 原始程式碼。產生的項目資料夾不包含項目 file適用於 IAR、Keil® 或 GCC。這些 file必須手動將其新增至 STMWL3x 專案中。
這是產生的專案資料夾結構:
項目文件夾
- 公司
- 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 example
將 STM32CubeWiSE-RadioCodeGenerator 產生的項目匯入 CubeMX example(MRSUBG_Skeleton),需要遵循以下步驟:
- 打開包含以下內容的文件夾 file由 STM32CubeWiSE-RadioCodeGenerator 產生並複製“Inc”和“Src”資料夾。
- 將這兩個資料夾貼到「MRSUBG_Skeleton」資料夾中,覆蓋現有的兩個資料夾。
- 在以下 IDE 之一中開啟「MRSUBG_Skeleton」專案:
- 溫暖
- MDK-ARM
- STM32CubeIDE
- 在“MRSUBG_Skeleton”專案中,新增“SequencerFlowghraph.c” file:
- 對於 EWARM 項目,新增的路徑 file 如下:MRSUBG_Skeleton\Application\User
- 對於 MDK-ARM 項目,新增的路徑 file 如下:MRSUBG_Skeleton\Application/User
- 對於 STM32CubeIDE 項目,新增的路徑 file 是一樣的:
MRSUBG_Skeleton\應用程式\用戶
- 對於 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 的路徑都是相同的。兩者 files 位於 Firmware\Drivers\STM32WL3x_HAL_Driver\Src。
- 要使用 COM 功能,stm32wl3x_nucleo_conf.h file,位於 Firmware\Projects\NUCLEOWL33CC\ Examples\MRSUBG\MRSUBG_Skeleton\Inc,必須修改設定 USE_BSP_COM_FEATURE 和 USE_COM_LOG 為 1U:
- 將以下程式碼複製到位於MRSUBG_Skeleton\Application\User的「stm32wl3x_it.c」中。
流量圖amp萊斯
- 四個前任amp流程圖與原始程式碼一起提供。這些前任amp可以透過點擊工具列中的「載入」按鈕將檔案載入到 STM32CubeWiSE-RadioCodeGenerator 中。
自動確認接收
- Auto-ACK 示範說明了兩個 STM32WL3x 裝置如何在定序器硬體的幫助下以最少的 CPU 介入自動相互通訊。
- 此流程圖實作了設備 A 的行為(Auto-Transmit-ACK)。在裝置 A 中,序列器在接收狀態(WaitForMessage)下初始化,等待訊息到達。
- 一旦有效訊息到達,序列器就會自動轉換到傳輸狀態 (TransmitACK),在該狀態中,將發送 ACK 封包作為回應,無需 CPU 幹預。一旦完成,序列器將重設為其初始的 WaitForMessage 狀態。
- 此流程圖實現與MRSUBG_SequencerAutoAck_Rx ex相同的行為amp來自 ExampSTM32Cube WL3 軟體包的 les\MRSUBG 資料夾。如果 AutoACK_RX 在一台裝置上閃爍
A、並且某個裝置上閃現 AutoACK_TX,B,兩個裝置來回發送訊息,就像乒乓球遊戲一樣。
自動確認發送
- 「Auto-ACK」示範說明了兩個 STM32WL3x 裝置如何在定序器硬體的幫助下以最少的 CPU 介入自動相互通訊。
- 此流程圖實現了設備 B 的行為(「自動等待確認」)。在裝置 B 中,序列器在傳輸狀態(TransmitMessage)下初始化,在該狀態中它會傳送訊息。一旦傳輸完成,它就會自動轉換到接收狀態,等待來自裝置 A 的確認(WaitForACK)。一旦有效確認到達,序列器將重設為其初始 TransmitMessage 狀態,並且整個過程重新開始。如果 4 秒內未收到 ACK,則會觸發逾時,且序列器無論如何都會回到 TransmitMessage 狀態。
- 此流程圖實作與「MRSUBG_SequencerAutoAck_Tx」範例相同的行為amp來自 ExampSTM32Cube WL3 軟體包的 les\MRSUBG 資料夾。如果一台裝置 A 上閃現 AutoACK_RX,而另一台裝置 B 上閃現 AutoACK_TX,則兩台裝置會像乒乓球遊戲一樣來回傳送訊息。
先聽後說 (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 義法半導體 – 保留所有權利
常問問題
- 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 無線電代碼產生器、無線電代碼產生器、代碼產生器、產生器 |