Генератор радіокодів STMicroelectronics UM3399 STM32Cube WiSE
Інструкція з використання продукту
- Додаток STM32CubeWiSE-RadioCodeGenerator вимагає щонайменше 2 Гбайт оперативної пам’яті, USB-портів і Adobe Acrobat Reader 6.0.
- Витягніть вміст stm32wise-cgwin.zip file у тимчасовий каталог.
- Запустіть STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe file і дотримуйтесь інструкцій на екрані.
- Пакет програмного забезпечення STM32CubeWiSE-RadioCodeGenerator files упорядковано в папки, включаючи «app» і «exampлес'.
- Щоб побудувати потокову діаграму в STM32CubeWiSE-RadioCodeGenerator:
- Додайте SeqActions до потокової діаграми за допомогою панелі інструментів або глобального меню.
- З’єднайте SeqActions із точкою входу та один з одним, намалювавши стрілки переходу дій.
- Переміщайтеся по потоковому графіку, перетягуючи дії та додаючи за потреби переходи дій.
вступ
- У цьому документі описано програмний пакет STM32CubeWiSE-RadioCodeGenerator (STM32CubeWiSEcg) із генератором коду секвенсора STM32WL3x MRSUBG.
- STM32CubeWiSE-RadioCodeGenerator — це програма для ПК, яка використовується для створення блок-графа, який визначає, які дії трансивера виконувати за яких умов, за допомогою драйвера секвенсора MRSUBG.
- Радіостанція STM32WL3x Sub-GHz містить цей секвенсор, який є механізмом, схожим на кінцевий автомат, який дозволяє автономно керувати радіочастотними передачами без будь-якої необхідності втручання ЦП.
- Якщо потрібне втручання центрального процесора, можна визначити переривання. Дії трансивера можна впорядкувати у графі потоку. У цьому документі окремі дії трансивера називаються SeqActions.
- Однак вихідний код не є найкращим представленням потокових графів, оскільки він приховує їх логічну та часову структуру.
- STM32CubeWiSE-RadioCodeGenerator вирішує цю проблему, надаючи графічний метод для побудови потокових графіків, а потім експортуючи згенеровані потокові графіки як вихідний код C для інтеграції в програми користувача.
- Визначення потокового графіка зберігається в оперативній пам’яті мікроконтролера у вигляді:
- Набір таблиць RAM ActionConfiguration, пов’язаних одна з одною за допомогою вказівників. Ці покажчики визначають SeqActions, тобто тип дії (наприклад,ample, передача, прийом, переривання), а також специфічні для SeqAction радіопараметри та умови для передачі дій.
- Унікальна таблиця оперативної пам'яті GlobalConfiguration. Це визначає точку входу потокового графіка (першу SeqAction для виконання), а також деякі значення прапорців за замовчуванням і загальні радіопараметри.
- Радіопараметри, які можна налаштувати індивідуально для кожного SeqAction, зберігаються в одному з динамічних регістрів, вміст яких є частиною таблиці RAM ActionConfiguration. Радіопараметри, які фіксуються протягом усього виконання потокового графіка (якщо вони не змінені під час переривання процесора), зберігаються в статичних регістрах, вміст яких є частиною глобальної конфігураційної таблиці RAM.
Загальні відомості
Ліцензування
У цьому документі описано програмне забезпечення, яке працює на мікроконтролері STM32WL3x Arm® Cortex ® -M0+.
Примітка: Arm є зареєстрованою торговою маркою Arm Limited (або її дочірніх компаній) у США та/або в інших країнах.
Пов'язані документи
Таблиця 1. Посилання на документи
Номер | довідка | Назва |
[1] | RM0511 | STM32WL30xx/31xx/33xx Arm® на основі суб-ГГц MCU |
Початок роботи
- У цьому розділі описано всі системні вимоги для запуску STM32CubeWiSE-RadioCodeGenerator.
- Тут також детально описується процедура інсталяції програмного пакета.
Системні вимоги
Програма STM32CubeWiSE-RadioCodeGenerator має такі мінімальні вимоги:
- ПК із процесором Intel® або AMD® під керуванням операційної системи Microsoft® Windows 10
- Мінімум 2 Гбайт оперативної пам'яті
- порти USB
- Adobe Acrobat Reader 6.0
Налаштування програмного пакета STM32CubeWiSE-RadioCodeGenerator
Виконайте наступні дії:
- Витягніть вміст stm32wise-cgwin.zip file у тимчасовий каталог.
- Розпакуйте та запустіть STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe file і дотримуйтесь інструкцій на екрані.
Пакет програмного забезпечення STM32CubeWiSE-RadioCodeGenerator files
Пакет програмного забезпечення STM32CubeWiSE-RadioCodeGenerator files організовані в такі папки:
- додаток: містить 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, які виконуються після завершення дії. наприкладample, NextAction1 може використовуватися для виконання певної дії, якщо поточна дія була успішною, а NextAction2 може бути запущено у разі невдачі.
- Щоб створити перехід дії, наведіть вказівник миші на один із вихідних портів, натисніть ліву кнопку миші та перемістіть вказівник миші, щоб перетягнути стрілку переходу. Перемістіть вказівник миші на вхідний порт ліворуч від будь-якої іншої SeqAction і відпустіть ліву кнопку миші, щоб зробити з’єднання постійним. Щоб видалити перехід дії, просто повторіть кроки для створення переходу дії, але відпустіть ліву кнопку миші десь над фоном шахової дошки.
- Якщо вихід (NextAction1, NextAction2) залишається непідключеним, секвенсор завершує роботу, якщо ця наступна дія запускається.
- Обов’язково під’єднайте «Точку входу» до вхідного порту SeqAction. Ця SeqAction є першою, яка виконується, як тільки запускається секвенсор.
Дії редагування та видалення
- SeqActions можна редагувати, натиснувши кнопку олівця у верхньому лівому куті SeqAction. Його можна видалити, натиснувши на червоний хрестик у верхньому правому куті (див. Малюнок 3). Видалення SeqAction також видаляє будь-які вхідні та вихідні переходи дій.
Конфігурація SeqAction
SeqActions можна налаштувати через інтерфейс конфігурації з вкладками, доступний за допомогою кнопки олівця у верхньому лівому куті кожної дії на потоковій діаграмі. Цей інтерфейс, по суті, налаштовує вміст таблиці RAM ActionConfiguration для конкретної дії, що складається як з параметрів конфігурації, пов’язаних з потоком керування, так і з динамічного вмісту реєстру. Динамічний вміст регістру можна налаштувати вручну з повним контролем над кожним значенням регістру (див. Розділ 3.2.3: Розширена конфігурація радіозв’язку) або через спрощений інтерфейс (див. Розділ 3.2.2: Базова конфігурація радіозв’язку). Спрощеного інтерфейсу має бути достатньо майже для всіх випадків використання.
Контрольний потік
Вкладка потоку керування (див. малюнок 4) містить деякі базові параметри конфігурації, такі як назва дії та інтервал очікування дії. Ім’я дії використовується не лише для відображення у потоковій діаграмі, але також переноситься на згенерований вихідний код.
- Вкладка потоку керування (див. малюнок 4) містить деякі базові параметри конфігурації, такі як назва дії та інтервал очікування дії. Ім’я дії використовується не лише для відображення в потоковій графі, але також переноситься на згенерований вихідний код.
- Найважливіше те, що вкладка потоку керування налаштовує умову, від якої залежить перехід до NextAction1 / NextAction2, а також інтервал переходу та прапорці. Умову переходу можна налаштувати, клацнувши кнопку з позначкою «…», після чого з’явиться діалогове вікно вибору маски, показане на малюнку 5. Інтервал переходу змінив властивість NextAction1Interval / NextAction2Interval таблиці RAM. Зверніться до довідкового посібника STM32WL3x [1] для отримання додаткової інформації про значення цього інтервалу та значення прапорів SleepEn / ForceReload / ForceClear.
- Крім того, на цій вкладці можна додати короткий опис блоку SeqAction. Цей опис використовується лише для документації та переноситься на згенерований вихідний код як коментар до вихідного коду.
Базова конфігурація радіо
Вкладку базової конфігурації радіо можна розділити на три частини:
- Розділ у верхній частині, де налаштовуються два найважливіші параметри будь-якої дії: команда для виконання (TX, RX, NOP, SABORT тощо) і, якщо застосовно, довжина пакета для передачі.
- Розділ ліворуч, де налаштовуються фактичні радіопараметри, такі як: несуча частота, швидкість передачі даних, властивості модуляції, порогові значення буфера даних і таймери.
- Розділ праворуч, де можна окремо ввімкнути переривання ЦП. Обробник переривань генерується для кожного з позначених переривань. Це в основному налаштовує вміст реєстру RFSEQ_IRQ_ENABLE.
Значення різних радіопараметрів див. у довідковому посібнику STM32WL3x [1].
Розширена конфігурація радіо
- Якщо параметри конфігурації, доступні на вкладці базової конфігурації радіо (Розділ 3.2.2: Базова конфігурація радіо), недостатні, розширена вкладка конфігурації радіо STM32WL3x дозволяє налаштувати довільний вміст динамічного регістру. Щоб увімкнути вкладку розширеної конфігурації, установіть прапорець «Додаткова конфігурація» у верхньому правому куті інтерфейсу конфігурації з вкладками.
- Неможливо використовувати базову та розширену конфігурації одночасно, користувач повинен вибрати ту чи іншу. Однак, звичайно, також можна вручну відредагувати згенерований вихідний код згодом і додати потенційно відсутні параметри конфігурації.
Діалог глобального налаштування
- До діалогового вікна «Глобальні параметри проекту» можна отримати доступ за допомогою кнопки «Глобальні параметри» панелі інструментів. Діалогове вікно містить параметри конфігурації для вмісту статичного реєстру, а також додаткові параметри проекту. Зауважте, що лише невелику частину параметрів конфігурації статичних реєстрів можна налаштувати за допомогою цього діалогового вікна. Ці параметри надаються лише для прискорення створення прототипів програм за допомогою STM32CubeWiSE-RadioCodeGenerator.
- Зазвичай очікується, що вміст статичного реєстру налаштовано у вихідному коді програми, написаному вручну.
- Значення інших параметрів проекту пояснюється в самому діалоговому вікні.
- Також може бути наданий додатковий код C, який вставляється безпосередньо перед створенням таблиці глобальної конфігурації RAM із вмісту статичного реєстру. Це поле можна використовувати для встановлення значень статичних регістрів, які недоступні через надану маску конфігурації статичного регістру.
Генерація коду
Блок-схему можна перевести у повний вихідний код проекту C, натиснувши кнопку «Створити код» на панелі інструментів. Створена папка проекту не містить проекту files для IAR, Keil® або GCC. Ці files потрібно додати вручну до проекту STMWL3x.
Це створена структура папок проекту:
Папка проекту
- вкл
- SequencerFlowgraph.h: заголовок file для SequencerFlowgraph.c, статичний. Не редагуйте це.
- stm32wl3x_hal_conf.h: конфігурація STM32WL3x HAL file, статичний.
- src
- SequencerFlowgraph.c: визначення потокового графіка. Це головне file який використовує драйвер секвенсора для визначення таблиць RAM глобальної конфігурації та конфігурації дії. Створено автоматично, не редагувати.
- main.c: Основний проект file який демонструє, як завантажити та застосувати визначення потокового графіка. Статичний, змініть це за потреби.
- Щоб редагувати main.c або stm32wl3x_hal_conf.h, виберіть поведінку перезапису Зберегти в налаштуваннях проекту. Таким чином буде перезаписано лише SequencerFlowgraph.c.
Як імпортувати згенерований код у CubeMX example
Щоб імпортувати проект, згенерований STM32CubeWiSE-RadioCodeGenerator, у CubeMX example (MRSUBG_Skeleton), необхідно виконати наступні кроки:
- Відкрийте папку, що містить files, згенерований STM32CubeWiSE-RadioCodeGenerator, і скопіюйте папки «Inc» і «Src».
- Вставте дві папки в папку «MRSUBG_Skeleton», перезаписавши дві вже наявні.
- Відкрийте проект «MRSUBG_Skeleton» в одному з таких IDE:
- EWARM
- МДК-АРМ
- STM32CubeIDE
- Всередині проекту «MRSUBG_Skeleton» додайте «SequencerFlowghraph.c» file:
- Для проекту EWARM шлях для додавання file є наступним: MRSUBG_Skeleton\Application\User
- Для проекту MDK-ARM шлях для додавання file є наступним: MRSUBG_Skeleton\Application/User
- Для проекту STM32CubeIDE шлях для додавання file те саме:
MRSUBG_Skeleton\Application\User
- Для проекту EWARM шлях для додавання file є наступним: MRSUBG_Skeleton\Application\User
- У проект MRSUBG_Skeleton додайте stm32wl3x_hal_uart.c і stm32wl3x_hal_uart_ex.c files за таким шляхом: 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:
- Скопіюйте наведений нижче код у «stm32wl3x_it.c», що знаходиться в MRSUBG_Skeleton\Application\User.
Потоковий графік прampлес
- Чотири ексampпотокові діаграми файлів надаються разом із вихідним кодом. Ці ексampфайли можна завантажити в STM32CubeWiSE-RadioCodeGenerator, натиснувши кнопку «Завантажити» на панелі інструментів.
AutoACK_RX
- Демонстрація Auto-ACK ілюструє, як два пристрої STM32WL3x можуть автоматично спілкуватися один з одним з мінімальним втручанням ЦП за допомогою апаратного забезпечення секвенсора.
- Цей потоковий графік реалізує поведінку (Auto-Transmit-ACK) пристрою A. У пристрої A секвенсор ініціалізується в стані отримання (WaitForMessage), у якому він очікує на надходження повідомлення.
- Після надходження дійсного повідомлення секвенсор автоматично переходить у стан передачі (TransmitACK), у якому як відповідь надсилається пакет ACK без втручання ЦП. Після завершення цього секвенсор скидається до початкового стану WaitForMessage.
- Цей потоковий графік реалізує ту саму поведінку, що й MRSUBG_SequencerAutoAck_Rx example з Exampпапка les\MRSUBG пакета програмного забезпечення STM32Cube WL3. Якщо AutoACK_RX прошито на одному пристрої
A, і AutoACK_TX мигає на якомусь пристрої, B, два пристрої надсилають повідомлення туди-сюди, як у грі в пінг-понг.
AutoACK_TX
- Демонстрація «Auto-ACK» ілюструє, як два пристрої STM32WL3x можуть автоматично спілкуватися один з одним з мінімальним втручанням ЦП за допомогою апаратного забезпечення секвенсора.
- Цей потоковий графік реалізує поведінку («Автоматичне очікування ACK») пристрою B. У пристрої B секвенсор ініціалізується в стані передачі (TransmitMessage), у якому він передає повідомлення. Після завершення передачі він автоматично переходить у стан отримання, де очікує підтвердження від пристрою A (WaitForACK). Після надходження дійсного підтвердження секвенсор скидається до початкового стану TransmitMessage, і весь процес починається заново. Якщо протягом 4 секунд не отримано ACK, спрацьовує час очікування, і секвенсор все одно повертається до стану TransmitMessage.
- Цей потоковий графік реалізує ту саму поведінку, що й “MRSUBG_SequencerAutoAck_Tx” example з Exampпапка les\MRSUBG пакета програмного забезпечення STM32Cube WL3. Якщо AutoACK_RX мигає на одному пристрої, A, і AutoACK_TX мигає на іншому пристрої, B, два пристрої надсилають повідомлення вперед і назад, як у грі в пінг-понг.
Слухайте перед розмовою (LBT)
- Цей колишнійampфайл взято з довідкового посібника STM32WL3x [1]. Зверніться до цього посібника для отримання додаткової інформації про цей прикладample.
Режим нюхання
- Цей колишнійampфайл взято з довідкового посібника STM32WL3x [1]. Зверніться до цього посібника для отримання додаткової інформації про цей прикладample.
Історія переглядів
Таблиця 2. Історія перегляду документа
Дата | Версія | Зміни |
21-2024 листопада | 1 | Початковий випуск. |
10-лют-2025 | 2 | Оновлено назву пристрою для області STM32WL3x. |
ВАЖЛИВА ПРИМІТКА – ПРОЧИТАЙТЕ УВАЖНО
- STMicroelectronics NV та її дочірні компанії («ST») залишають за собою право вносити зміни, виправлення, покращення, модифікації та вдосконалення продуктів ST та/або цього документа в будь-який час без попереднього повідомлення. Покупці повинні отримати актуальну актуальну інформацію про продукти ST перед розміщенням замовлень. Продукти ST продаються відповідно до умов продажу ST, які діють на момент підтвердження замовлення.
- Покупці несуть виключну відповідальність за вибір, вибір і використання продуктів ST, а ST не несе відповідальності за допомогу в застосуванні чи дизайн продуктів покупців.
- Компанія ST не надає жодних ліцензій, явних чи неявних, на будь-які права інтелектуальної власності.
- Перепродаж продуктів ST з положеннями, відмінними від інформації, викладеної в цьому документі, анулює будь-яку гарантію, надану ST на такий продукт.
- ST і логотип ST є торговими марками ST. Для отримання додаткової інформації про торгові марки ST див. www.st.com/trademarks. Усі інші назви продуктів або послуг є власністю відповідних власників.
- Інформація в цьому документі замінює інформацію, надану раніше в будь-яких попередніх версіях цього документа.
- © 2025 STMicroelectronics – Усі права захищено
FAQ
- З: Які мінімальні системні вимоги для STM32CubeWiSE-RadioCodeGenerator?
- A: Мінімальні системні вимоги включають принаймні 2 Гбайт оперативної пам’яті, USB-порти та Adobe Acrobat Reader 6.0.
- З: Як я можу налаштувати програмний пакет STM32CubeWiSE-RadioCodeGenerator?
- A: Щоб налаштувати програмний пакет, розпакуйте вміст наданого архіву zip file у тимчасовий каталог і запустіть виконуваний файл file дотримуючись інструкцій на екрані.
Документи / Ресурси
![]() |
Генератор радіокодів STMicroelectronics UM3399 STM32Cube WiSE [pdfПосібник користувача UM3399, UM3399 STM32 Генератор радіокоду Cube WiSE, UM3399, STM32, Генератор радіокоду Cube WiSE, Генератор радіокоду, Генератор коду, Генератор |