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 для интеграции в пользовательские приложения.
- Определение потокового графа хранится в оперативной памяти микроконтроллера в виде:
- Набор таблиц ActionConfiguration RAM, связанных друг с другом с помощью указателей. Эти указатели определяют SeqActions, то есть тип действия (например,ample, передача, прием, прерывание), а также специфичные для SeqAction параметры радиосвязи и условия для передач действий.
- Уникальная таблица GlobalConfiguration RAM. Она определяет точку входа flowgraph (первый SeqAction для выполнения), а также некоторые значения флагов по умолчанию и общие параметры радиосвязи.
- Параметры радио, которые можно настроить индивидуально для каждого SeqAction, хранятся в одном из динамических регистров, содержимое которого является частью таблицы RAM ActionConfiguration. Параметры радио, которые фиксируются на протяжении всего выполнения flowgraph (если они не изменяются во время прерывания ЦП), хранятся в статических регистрах, содержимое которых является частью глобальной таблицы RAM конфигурации.
Общая информация
Лицензирование
В этом документе описывается программное обеспечение, работающее на микроконтроллере STM32WL3x Arm® Cortex ® -M0+.
Примечание: Arm является зарегистрированным товарным знаком Arm Limited (или его дочерних компаний) в США и / или в других странах.
Связанные документы
Таблица 1. Ссылки на документы
Число | Ссылка | Заголовок |
[1] | RM0511 | Микроконтроллеры STM32WL30xx/31xx/33xx на базе Arm® с тактовой частотой менее ГГц |
Начиная
- В этом разделе описываются все системные требования для запуска 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: эта папка состоит из следующих подпапок:
- код: эта папка содержит flowgraphs exampфайл уже экспортирован как код C, готовый к внедрению в проект приложения
- flowgraphs: в этой папке хранятся некоторые бывшиеampсценарии автономных операций секвенсора MRSUBG
Примечания к выпуску и лицензия files находятся в корневой папке.
Описание программного обеспечения STM32CubeWiSE-RadioCodeGenerator
- В этом разделе описываются основные функции приложения STM32CubeWiSE-RadioCodeGenerator. Для запуска этой утилиты щелкните по иконке STM32CubeWiSE-RadioCodeGenerator.
После запуска STM32CubeWiSE-RadioCodeGenerator появляется главное окно приложения, которое состоит из:
- Глобальное меню и панель инструментов
- Визуальное представление графа потока с помощью перетаскивания
- Раздел конфигурации SeqAction (отображается только в том случае, если SeqAction в данный момент редактируется)
Построение потокового графика
Основы
Поточные графики строятся в два этапа:
- Добавьте SeqActions в flowgraph. Это можно сделать с помощью кнопки «Добавить действие» на панели инструментов, с помощью глобального меню (Правка → Добавить действие) или с помощью сочетания клавиш «Ctrl+A».
- Соедините SeqActions с точкой входа и друг с другом, нарисовав стрелки перехода действий.
Условия, при которых происходят эти переходы, определены позже (см. Раздел 3.2.1: Поток управления).
Навигация по потоковой схеме, перетаскивание действий
Перетаскивая шахматный фон потокового графика с помощью указателя мыши (щелчок левой кнопкой мыши), viewпорт на flowgraph можно настроить. Колесо прокрутки мыши можно использовать для увеличения и уменьшения масштаба. Щелкните в любом месте действия (за исключением выходных портов, кнопки удаления и кнопки редактирования), чтобы выбрать действие. Действия можно упорядочить на flowgraph, перетаскивая их левой кнопкой мыши.
Добавление переходов действий
- Как показано на рисунке 2, каждое действие имеет два «выходных порта», называемых NextAction1 (NA1) и NextAction2 (NA2), которые могут быть подключены к SeqActions, которые выполняются после завершения действия. Напримерample, NextAction1 может использоваться для выполнения некоторого действия, если текущее действие было успешным, а NextAction2 может быть запущено в случае неудачи.
- Чтобы создать переход действия, наведите указатель мыши на один из выходных портов, нажмите левую кнопку мыши и переместите указатель мыши, чтобы перетащить стрелку перехода. Наведите указатель мыши на входной порт слева от какого-либо другого SeqAction и отпустите левую кнопку мыши, чтобы сделать соединение постоянным. Чтобы удалить переход действия, просто повторите шаги по созданию перехода действия, но отпустите левую кнопку мыши где-нибудь над фоном шахматной доски.
- Если выход (NextAction1, NextAction2) остается неподключенным, секвенсор завершает работу при запуске этого следующего действия.
- Не забудьте также подключить «Точку входа» к входному порту какого-либо SeqAction. Это SeqAction будет выполнено первым, как только будет запущен секвенсор.
Редактирование и удаление действий
- SeqActions можно редактировать, нажав на кнопку карандаша в левом верхнем углу SeqAction. Его можно удалить, нажав на красный крестик в правом верхнем углу (см. рисунок 3). Удаление SeqAction также удаляет все входящие и исходящие переходы действий.
Конфигурация SeqAction
SeqActions можно настроить через интерфейс с вкладками, доступный через кнопку карандаша в левом верхнем углу каждого действия в flowgraph. Этот интерфейс по сути настраивает содержимое таблицы ActionConfiguration RAM для конкретного действия, состоящей как из параметров конфигурации, связанных с потоком управления, так и из динамического содержимого регистра. Динамическое содержимое регистра можно настроить вручную с полным контролем над каждым значением регистра (см. Раздел 3.2.3: Расширенная конфигурация радио) или через упрощенный интерфейс (см. Раздел 3.2.2: Базовая конфигурация радио). Упрощенного интерфейса должно быть достаточно почти для всех случаев использования.
Контроль потока
Вкладка потока управления (см. Рисунок 4) содержит некоторые основные параметры конфигурации, такие как имя действия и интервал тайм-аута действия. Имя действия используется не только для отображения в flowgraph, но также переносится в сгенерированный исходный код.
- Вкладка потока управления (см. Рисунок 4) содержит некоторые основные параметры конфигурации, такие как имя действия и интервал тайм-аута действия. Имя действия не просто используется для отображения в flowgraph, но также переносится в сгенерированный исходный код.
- Самое важное, что вкладка потока управления настраивает условие, от которого зависит переход к 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, static. Не редактируйте это.
- stm32wl3x_hal_conf.h: конфигурация HAL STM32WL3x file, статичный.
- источник
- SequencerFlowgraph.c: определение flowgraph. Это важный file который использует драйвер секвенсора для определения таблиц глобальной конфигурации и конфигурации действий RAM. Автоматически сгенерировано, не редактировать.
- main.c: Основной проект file который демонстрирует, как загружать и применять определение flow-graph. Статично, измените его по мере необходимости.
- Чтобы редактировать main.c или stm32wl3x_hal_conf.h, выберите в настройках проекта overwrite behavior Keep. Таким образом, будет перезаписан только SequencerFlowgraph.c.
Как импортировать сгенерированный код в CubeMX example
Чтобы импортировать проект, созданный STM32CubeWiSE-RadioCodeGenerator, в CubeMX example (MRSUBG_Skeleton), необходимо выполнить следующие шаги:
- Откройте папку, содержащую files, сгенерированные STM32CubeWiSE-RadioCodeGenerator, и скопируйте папки «Inc» и «Src».
- Вставьте две папки в папку «MRSUBG_Skeleton», перезаписав две уже имеющиеся.
- Откройте проект «MRSUBG_Skeleton» в одной из следующих IDE:
- ЭВАРМ
- МДК-АРМ
- 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 files по следующему пути: MRSUBG_Skeleton\Drivers\STM32WL3x_HAL_Driver. Путь одинаков для всех IDE. Два fileнаходятся в 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.
Flowgraph exampле
- Четыре бывшихample flowgraphs предоставляются вместе с исходным кодом. Эти exampФайлы можно загрузить в STM32CubeWiSE-RadioCodeGenerator, нажав кнопку «Загрузить» на панели инструментов.
AutoACK_RX
- Демонстрация Auto-ACK иллюстрирует, как два устройства STM32WL3x могут автоматически взаимодействовать друг с другом с минимальным вмешательством ЦП с помощью аппаратного секвенсора.
- Эта потоковая диаграмма реализует поведение (Auto-Transmit-ACK) устройства A. В устройстве A секвенсор инициализируется в состоянии приема (WaitForMessage), в котором он ожидает поступления сообщения.
- После получения допустимого сообщения секвенсор автоматически переходит в состояние передачи (TransmitACK), в котором пакет ACK отправляется в качестве ответа без вмешательства ЦП. После завершения этого секвенсор сбрасывается в исходное состояние WaitForMessage.
- Этот потоковый граф реализует то же поведение, что и MRSUBG_SequencerAutoAck_Rx exampле от бывшегоampПапка les\MRSUBG пакета ПО STM32Cube WL3. Если AutoACK_RX прошит на одном устройстве
А) и на каком-то устройстве мигает AutoACK_TX; Б) два устройства обмениваются сообщениями, как при игре в пинг-понг.
AutoACK_TX
- Демонстрация «Auto-ACK» иллюстрирует, как два устройства STM32WL3x могут автоматически взаимодействовать друг с другом с минимальным вмешательством ЦП с помощью аппаратного секвенсора.
- Этот поток реализует поведение («Auto-Wait-for-ACK») устройства B. В устройстве B секвенсор инициализируется в состоянии передачи (TransmitMessage), в котором он передает сообщение. После завершения передачи он автоматически переходит в состояние приема, в котором он ждет подтверждения от устройства A (WaitForACK). После получения действительного подтверждения секвенсор сбрасывается в исходное состояние TransmitMessage, и весь процесс начинается заново. В случае, если в течение 4 секунд не получено ACK, запускается тайм-аут, и секвенсор в любом случае возвращается в состояние TransmitMessage.
- Этот потоковый граф реализует то же поведение, что и «MRSUBG_SequencerAutoAck_Tx» exampле из ExampПапка les\MRSUBG пакета программного обеспечения STM32Cube WL3. Если AutoACK_RX прошит на одном устройстве, A, а AutoACK_TX прошит на каком-то другом устройстве, B, два устройства отправляют сообщения друг другу, как в игре в пинг-понг.
Слушай, прежде чем говорить (LBT)
- Этот бывшийample взят из справочного руководства STM32WL3x [1]. Обратитесь к этому руководству для получения более подробной информации об этом exampле.
Режим обнюхивания
- Этот бывшийample взят из справочного руководства STM32WL3x [1]. Обратитесь к этому руководству для получения более подробной информации об этом exampле.
История изменений
Таблица 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 – Все права защищены
Часто задаваемые вопросы
- В: Каковы минимальные системные требования для 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 генератор радиокода, генератор радиокода, генератор кода, генератор |