Генератор на радио код STMicroelectronics UM3399 STM32Cube WiSE
Инструкции за употреба на продукта
- Приложението STM32CubeWiSE-RadioCodeGenerator изисква поне 2 Gbytes 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 с входната точка и един с друг, като нарисувате стрелки за преход на действие.
- Навигирайте в графиката на потока, като плъзгате действия и добавяте преходи на действие, ако е необходимо.
Въведение
- Този документ описва софтуерния пакет STM32CubeWiSE-RadioCodeGenerator (STM32CubeWiSEcg) с генератора на код за секвенсор STM32WL3x MRSUBG.
- STM32CubeWiSE-RadioCodeGenerator е компютърно приложение, което се използва за изграждане на потокова графика, която дефинира кои действия на трансивъра да се изпълняват при какви условия, използвайки драйвера за секвенсор MRSUBG.
- STM32WL3x Sub-GHz радио съдържа този секвенсер, който е подобен на държавна машина механизъм, който позволява автономно управление на RF трансфери, без никаква нужда от намеса на процесора.
- Ако е необходима намеса на процесора, могат да се дефинират прекъсвания. Действията на трансивъра могат да бъдат подредени в графика на потока. В този документ отделните действия на трансивъра се наричат SeqActions.
- Изходният код обаче не е най-доброто представяне на потокови графики, тъй като прикрива тяхната логическа и времева структура.
- STM32CubeWiSE-RadioCodeGenerator адресира този проблем, като предоставя графичен метод за изграждане на потокови графики и след това експортира генерираните потокови графики като C изходен код за интегриране в потребителски приложения.
- Дефиницията на потоковата графика се съхранява в RAM на микроконтролера под формата на:
- Набор от ActionConfiguration RAM таблици, свързани една с друга с помощта на указатели. Тези указатели дефинират SeqActions, тоест вида на действието (напрample, предаване, приемане, прекъсване), както и специфични за SeqAction радио параметри и условия за предаване на действие.
- Уникална RAM таблица на GlobalConfiguration. Това дефинира входната точка на графа на потока (първото SeqAction за изпълнение), както и някои стойности на флагове по подразбиране и общи радио параметри.
- Радиопараметрите, които могат да бъдат конфигурирани индивидуално за всяко SeqAction, се съхраняват в един от динамичните регистри, чието съдържание е част от RAM таблицата ActionConfiguration. Радио параметрите, които са фиксирани по време на цялото изпълнение на потоковата графика (освен ако не са модифицирани по време на прекъсване на процесора), се съхраняват в статични регистри, чието съдържание е част от глобалната конфигурационна RAM таблица.
Обща информация
Лицензиране
Този документ описва софтуер, който работи на STM32WL3x Arm® Cortex ® -M0+ базиран микроконтролер.
Забележка: Arm е регистрирана търговска марка на Arm Limited (или нейните дъщерни дружества) в САЩ и/или другаде.
Свързани документи
Таблица 1. Препратки към документи
Номер | справка | Заглавие |
[1] | RM0511 | STM32WL30xx/31xx/33xx Arm® базирани подGHz MCU |
Първи стъпки
- Този раздел описва всички системни изисквания за стартиране на STM32CubeWiSE-RadioCodeGenerator.
- Той също така описва процедурата за инсталиране на софтуерния пакет.
Системни изисквания
Приложението STM32CubeWiSE-RadioCodeGenerator има следните минимални изисквания:
- Компютър с процесор Intel® или AMD®, работещ с операционна система Microsoft® Windows 10
- Най-малко 2 Gbytes RAM
- USB портове
- Adobe Acrobat reader 6.0
Настройка на SW пакет STM32CubeWiSE-RadioCodeGenerator
Изпълнете следните стъпки:
- Извлечете съдържанието на stm32wise-cgwin.zip file във временна директория.
- Извлечете и стартирайте STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe file и следвайте инструкциите на екрана.
STM32CubeWiSE-RadioCodeGenerator SW пакет files
Пакетът STM32CubeWiSE-RadioCodeGenerator SW fileса организирани в следните папки:
- приложение: съдържа STM32CubeWiSE-RadioCodeGenerator.exe
- examples: тази папка е организирана в следните подпапки:
- код: тази папка съдържа потоковите графики напрampфайл вече е експортиран като C код, готов за инжектиране в приложен проект
- flowgraphs: тази папка съхранява някои examples сценарии на автономни операции на 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) остане несвързан, секвенсерът прекратява, ако това следващо действие бъде задействано.
- Уверете се също така, че сте свързали “Entry Point” към някой входен порт на SeqAction. Това SeqAction е първото, което се изпълнява веднага след задействане на секвенсера.
Действия за редактиране и изтриване
- SeqActions могат да се редактират чрез щракване върху бутона с молив в горния ляв ъгъл на SeqAction. Може да се изтрие, като щракнете върху червения кръст горе вдясно (вижте Фигура 3). Изтриването на SeqAction също премахва всички входящи и изходящи преходи на действие.
Конфигурация на SeqAction
SeqActions могат да бъдат конфигурирани чрез интерфейс за конфигуриране с раздели, достъпен чрез бутона с молив в горния ляв ъгъл на всяко действие в потоковата графика. Този интерфейс по същество конфигурира съдържанието на ActionConfiguration RAM таблицата за конкретното действие, състоящо се както от опции за конфигуриране, свързани с контролния поток, така и от съдържанието на динамичния регистър. Съдържанието на динамичния регистър може или да бъде конфигурирано ръчно с пълен контрол върху всяка стойност на регистъра (вижте Раздел 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), е необходимо да следвате следните стъпки:
- Отворете папката, съдържаща fileгенерирани от STM32CubeWiSE-RadioCodeGenerator и копиране на папки „Inc“ и „Src“.
- Поставете двете папки в папката „MRSUBG_Skeleton“, като презапишете двете вече налични.
- Отворете проекта „MRSUBG_Skeleton“ в една от следните IDE:
- EWARM
- 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\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.
Flowgraph exampлес
- Четири ексample flowgraphs са предоставени заедно с изходния код. Тези бивши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 и целият процес започва отново. В случай, че не бъде получено ACK в рамките на 4 секунди, се задейства таймаут и секвенсерът въпреки това се връща в състояние TransmitMessage.
- Тази потокова графика прилага същото поведение като „MRSUBG_SequencerAutoAck_Tx“ example от Exampпапка les\MRSUBG на софтуерния пакет STM32Cube WL3. Ако AutoACK_RX се мига на едно устройство, A, и AutoACK_TX се мига на друго устройство, B, двете устройства изпращат съобщения напред-назад, както в игра на пинг-понг.
Слушай преди да говориш (LBT)
- Този бившampфайлът е взет от справочното ръководство на STM32WL3x [1]. Обърнете се към това ръководство за повече подробности относно този примерampле.
Режим на подушване
- Този бившampфайлът е взет от справочното ръководство на STM32WL3x [1]. Обърнете се към това ръководство за повече подробности относно този примерampле.
История на ревизиите
Таблица 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 Gbytes RAM, 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, Генератор на радио код, Генератор на код, Генератор |