STMicroelectronics UM3399 STM32Cube WiSE Radio Code Generator
Produkt Usage Ynstruksjes
- De STM32CubeWiSE-RadioCodeGenerator-applikaasje fereasket op syn minst 2 Gbytes RAM, USB-ports, en Adobe Acrobat reader 6.0.
- Útpakke de ynhâld fan de stm32wise-cgwin.zip file yn in tydlike map.
- Starte de STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe file en folgje de ynstruksjes op it skerm.
- It pakket STM32CubeWiSE-RadioCodeGenerator SW files wurde organisearre yn mappen ynklusyf 'app' en 'examples'.
- Om in flowgraph te bouwen yn STM32CubeWiSE-RadioCodeGenerator:
- Foegje SeqActions ta oan de flowgraph mei de arkbalke of it globale menu.
- Ferbine SeqActions oan it yngongspunt en mei elkoar troch aksje-oergongspylken te tekenjen.
- Navigearje troch de streamgrafyk troch aksjes te slepen en aksjetransysjes ta te foegjen as nedich.
Ynlieding
- Dit dokumint beskriuwt it STM32CubeWiSE-RadioCodeGenerator (STM32CubeWiSEcg) SW-pakket mei de STM32WL3x MRSUBG sequencer code generator.
- STM32CubeWiSE-RadioCodeGenerator is in PC-applikaasje dy't wurdt brûkt om in flowgraph te bouwen dy't definiearret hokker transceiver-aksjes moatte wurde útfierd ûnder hokker betingst, mei de MRSUBG-sekwinsjebestjoerder.
- STM32WL3x Sub-GHz radio befettet dizze sequencer, dat is in steat-masine-lykas meganisme dat soarget foar autonoom behear fan RF oerstappen, sûnder ferlet fan CPU yntervinsje.
- As CPU-yngripen nedich is, kinne interrupts wurde definieare. Transceiver-aksjes kinne wurde regele yn in streamgrafyk. Yn dit dokumint wurde de yndividuele transceiver-aksjes oantsjutten as SeqActions.
- Boarnekoade is lykwols net de bêste foarstelling foar flowgraphs, om't it har logyske en tydlike struktuer ferberget.
- STM32CubeWiSE-RadioCodeGenerator behannelet dit probleem troch in grafyske metoade te leverjen om flowgraphs te bouwen en dan de generearre flowgraphs te eksportearjen as C-boarnekoade foar yntegraasje yn brûkersapplikaasjes.
- De definysje fan flowgraph wurdt opslein yn 'e mikrocontroller RAM yn' e foarm fan:
- In set fan ActionConfiguration RAM tabellen, keppele oan elkoar mei help fan pointers. Dizze oanwizers definiearje de SeqActions, dat is, it type aksje (bygelyksample, transmissie, ûntfangst, ôfbrekke), likegoed as SeqAction-spesifike radio parameters en betingsten foar aksje transmissies.
- In unyk GlobalConfiguration RAM-tabel. Dit definiearret it yngongspunt fan 'e flowgraph (de earste SeqAction om út te fieren), lykas ek guon standert flaggewearden en mienskiplike radioparameters.
- Radio parameters, dat kin wurde konfigurearre yndividueel foar eltse SeqAction, wurde opslein yn ien fan 'e dynamyske registers, waans ynhâld is ûnderdiel fan de ActionConfiguration RAM tabel. Radioparameters dy't fêst binne oer de hiele útfiering fan 'e flowgraph (útsein as se wurde wizige tidens in CPU-ûnderbrekking), wurde opslein yn statyske registers, wêrfan de ynhâld diel útmakket fan' e globale konfiguraasje RAM-tabel.
Algemiene ynformaasje
Lisinsje
Dit dokumint beskriuwt software dy't rint op 'e STM32WL3x Arm® Cortex ® -M0+ basearre mikrocontroller.
Noat: Arm is in registrearre hannelsmerk fan Arm Limited (of har dochterûndernimmingen) yn 'e FS en/of earne oars.
Related dokuminten
Tabel 1. Dokumintreferinsjes
Nûmer | Referinsje | Titel |
[1] | RM0511 | STM32WL30xx/31xx/33xx Arm® basearre sub-GHz MCU's |
Te begjinnen
- Dizze seksje beskriuwt alle systeemeasken om STM32CubeWiSE-RadioCodeGenerator út te fieren.
- It beskriuwt ek de ynstallaasjeproseduere fan softwarepakket.
Systeem easken
De applikaasje STM32CubeWiSE-RadioCodeGenerator hat de folgjende minimale easken:
- PC mei in Intel®- as AMD®-prosessor mei it Microsoft® Windows 10 bestjoeringssysteem
- Op syn minst 2 Gbytes RAM
- USB havens
- Adobe Acrobat Reader 6.0
STM32CubeWiSE-RadioCodeGenerator SW pakket opset
Fier de folgjende stappen út:
- Útpakke de ynhâld fan de stm32wise-cgwin.zip file yn in tydlike map.
- Útpakke en lansearje de STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe file en folgje de ynstruksjes op it skerm.
STM32CubeWiSE-RadioCodeGenerator SW-pakket files
It pakket STM32CubeWiSE-RadioCodeGenerator SW files wurde organisearre yn de folgjende mappen:
- app: befettet STM32CubeWiSE-RadioCodeGenerator.exe
- examples: dizze map is organisearre yn de folgjende submappen:
- koade: dizze map befettet de flowgraphs example al eksportearre as C-koade, klear om te ynjeksje yn in applikaasjeprojekt
- flowgraphs: dizze map bewarret guon eksamples senario's fan autonome MRSUBG sequencer operaasjes
Release notysjes en lisinsje files lizze yn 'e root-map.
STM32CubeWiSE-RadioCodeGenerator software beskriuwing
- Dizze seksje beskriuwt de haadfunksjes fan 'e STM32CubeWiSE-RadioCodeGenerator-applikaasje. Om dit hulpprogramma út te fieren, klikje jo op it STM32CubeWiSE-RadioCodeGenerator ikoan.
Nei it starten fan STM32CubeWiSE-RadioCodeGenerator, ferskynt it haadapplikaasjefinster. It bestiet út:
- In wrâldwide menu en arkbalke
- De fisuele drag-en-drop-representaasje fan 'e flowgraph
- De seksje SeqAction-konfiguraasje (allinich sichtber as in SeqAction op it stuit wurdt bewurke)
It bouwen fan in flowgraph
Basics
Flowgraphs wurde boud yn twa stappen:
- Foegje SeqActions ta oan de flowgraph. Dit kin dien wurde mei de knop "Aksje tafoegje" yn 'e arkbalke, mei it globale menu (Bewurkje → Aksje tafoegje) of mei de fluchtoets "Ctrl+A".
- Ferbine SeqActions oan it yngongspunt en mei elkoar troch aksje-oergongspylken te tekenjen.
De betingsten wêryn't dizze oergongen foarkomme wurde letter definiearre (sjoch paragraaf 3.2.1: Kontrôlestream).
Navigearje troch de flowgraph, slepe aksjes
Troch it damboerd eftergrûn fan 'e flowgraph te slepen mei de mûsoanwizer (linksklik), de viewpoarte op 'e flowgraph kin oanpast wurde. It mûsrôlwiel kin brûkt wurde om yn- en út te zoomjen. Klikje oeral op in aksje (útsein de útfierpoarten, de wiskje knop en de bewurkje knop) om in aksje te selektearjen. Aksjes kinne wurde regele yn 'e flowgraph troch se te slepen mei de linker mûsknop.
It tafoegjen fan aksjetransysjes
- Lykas werjûn yn figuer 2, hat elke aksje twa "útfier haven", neamd NextAction1 (NA1) en NextAction2 (NA2), dat kin wurde ferbûn mei SeqActions dy't wurde útfierd neidat de aksje is foltôge. Bygelyksample, NextAction1 koe wurde brûkt om út te fieren wat aksje as de aktuele aksje wie suksesfol en NextAction2 koe wurde aktivearre yn gefal fan mislearjen.
- Foar in meitsje in aksje oergong, hoverje de mûsoanwizer oer ien fan de útfier havens, druk op de linker mûsknop en ferpleatse de mûsoanwizer te slepen in oergong pylk. Ferpleats de mûsoanwizer oer de ynfierpoarte oan 'e lofterkant fan in oare SeqAction en lit de loftermûsknop los om de ferbining permanint te meitsjen. Om in aksje-oergong te ferwiderjen, werhelje gewoan de stappen foar it meitsjen fan in aksje-oergong, mar loslitte de loftermûsknop earne oer it damboerd eftergrûn.
- As in útfier (NextAction1, NextAction2) net ferbûn wurdt litten, beëiniget de sequencer as dizze folgjende aksje wurdt aktivearre.
- Soargje derfoar dat jo it "Yngongspunt" ek ferbine mei de ynfierpoarte fan guon SeqAction. Dizze SeqAction is de earste dy't wurdt útfierd sa gau as de sequencer wurdt trigger.
Bewurkje en wiskje aksjes
- SeqActions kinne wurde bewurke troch te klikken op de potlead knop linksboppe fan SeqAction. It kin wiske wurde troch te klikken op it reade krús rjochtsboppe (sjoch figuer 3). It wiskjen fan in SeqAction ferwideret ek alle ynkommende en útgeande aksjetransysjes.
SeqAction konfiguraasje
SeqActions kinne wurde konfigurearre fia in ljepper konfiguraasje ynterface tagonklik fia de potlead knop op de boppe lofts fan elke aksje yn de flowgraph. Dizze ynterface konfigurearret yn wêzen de ynhâld fan 'e ActionConfiguration RAM-tabel foar de bepaalde aksje, besteande út sawol konfiguraasje-opsjes foar kontrôlestream as de dynamyske registerynhâld. De dynamyske registerynhâld kin of mei de hân konfigureare wurde mei folsleine kontrôle oer elke registerwearde (sjoch Seksje 3.2.3: Avansearre radiokonfiguraasje) of fia in ferienfâldige ynterface (sjoch Seksje 3.2.2: Basis radiokonfiguraasje ). De ferienfâldige ynterface soe genôch wêze moatte foar hast alle gebrûksgefallen.
Kontrôle flow
De kontrôle flow ljepper (sjoch figuer 4) befettet guon basis konfiguraasje opsjes lykas aksje namme en aksje timeout ynterval. De aksjenamme wurdt net allinich brûkt foar werjefte yn 'e flowgraph, mar wurdt ek oerbrocht nei de generearre boarnekoade.
- De kontrôle flow ljepper (sjoch figuer 4) befettet guon basis konfiguraasje opsjes lykas aksje namme en aksje timeout ynterval. De aksjenamme wurdt net allinich brûkt foar werjefte yn 'e flowgraph, mar ek oerbrocht nei de generearre boarnekoade.
- It wichtichste is dat it ljepblêd kontrôlestream de betingst konfigurearret wêrfan in oergong nei NextAction1 / NextAction2 hinget, lykas oergongsinterval en flaggen. De oergongsbetingst kin wurde konfigureare troch te klikken op de knop mei it label "...", wêrtroch it maskerseleksjedialooch werjûn yn figuer 5 ferskynt. It oergongsinterval feroare de eigenskip NextAction1Interval / NextAction2Interval fan 'e RAM-tabel. Ferwize nei de STM32WL3x referinsje hantlieding [1] foar mear ynformaasje oer de betsjutting fan dit ynterval en de betsjutting fan de SleepEn / ForceReload / ForceClear flaggen.
- Fierder kin in koarte beskriuwing fan it SeqAction-blok tafoege wurde op dit ljepblêd. Dizze beskriuwing wurdt allinich brûkt foar dokumintaasjedoelen en wurdt oerbrocht nei de oanmakke boarnekoade as in boarnekoadekommentaar.
Basis radio konfiguraasje
De basis ljepper foar radiokonfiguraasje kin ûnderferdield wurde yn trije dielen:
- In seksje oan 'e boppekant wêr't twa fan' e wichtichste parameters fan elke aksje binne konfigureare: it kommando om út te fieren (TX, RX, NOP, SABORT, ensfh.) en, as fan tapassing, de lingte fan it pakket om oer te dragen.
- In seksje links wêr't de eigentlike radioparameters lykas: dragerfrekwinsje, gegevensrate, modulaasjeeigenskippen, gegevensbuffer-drompels en timers binne konfigureare.
- In seksje rjochts wêr't de CPU ûnderbrekt kin yndividueel ynskeakele wurde. In interrupt handler wurdt oanmakke foar elk fan 'e ticked interrupts. Dit konfigurearret yn prinsipe de ynhâld fan it RFSEQ_IRQ_ENABLE register.
Ferwize nei de STM32WL3x referinsje hantlieding [1] foar de betsjutting fan de ferskate radio parameters.
Avansearre radio konfiguraasje
- As de konfiguraasjeopsjes bleatsteld troch de ljepper foar basisradiokonfiguraasje (Seksje 3.2.2: Basisradiokonfiguraasje) net genôch binne, lit de avansearre ljepper STM32WL3x radiokonfiguraasje it ynstellen fan willekeurige dynamyske registerynhâld. It ljepblêd avansearre konfiguraasje is ynskeakele troch it karfakje Avansearre konfiguraasje oan te vinkjen rjochtsboppe fan 'e ljepperkonfiguraasje-ynterface.
- It is net mooglik om sawol basis as avansearre konfiguraasjes tagelyk te brûken, de brûker moat ien of de oare selektearje. It is lykwols fansels ek mooglik om de oanmakke boarnekoade dêrnei mei de hân te bewurkjen en mooglik ûntbrekkende konfiguraasjeopsjes ta te foegjen.
Global konfiguraasje dialooch
- It dialoochfinster "Global Project Settings" kin tagonklik wurde fia de knop "Global Settings" arkbalke. It dialoochfinster befettet sawol konfiguraasjeopsjes foar de statyske registerynhâld as ekstra projektynstellingen. Tink derom dat mar in lyts fraksje fan konfiguraasjeopsjes foar statyske registers kinne wurde konfigureare fia dit dialooch. Dizze opsjes wurde allinich foarsjoen om applikaasjes foar prototyping fan applikaasjes te rapperjen mei STM32CubeWiSE-RadioCodeGenerator.
- It wurdt normaal ferwachte dat de statyske registerynhâld wurdt ynsteld yn 'e hân skreaune boarnekoade fan 'e applikaasje.
- De betsjutting fan 'e oare projektynstellingen wurdt útlein yn it dialoochfinster sels.
- Oanfoljende C-koade dy't wurdt ynfoege krekt foar it meitsjen fan de Global Configuration RAM-tabel út 'e statyske registerynhâld kin ek wurde levere. Dit fjild kin brûkt wurde om statyske registerwearden yn te stellen dy't net tagonklik binne fia it opjûne statyske registerkonfiguraasjemasker.
Koade generaasje
De flowgraph kin oerset wurde yn in folsleine projekt C boarnekoade troch te drukken op de Generate Code knop yn de arkbalke. De oanmakke projektmap befettet gjin projekt files foar IAR, Keil®, of GCC. Dizze files moatte wurde tafoege mei de hân oan de STMWL3x projekt.
Dit is de oanmakke projektmapstruktuer:
Projekt map
- inc
- SequencerFlowgraph.h: koptekst file foar SequencerFlowgraph.c, statysk. Dit net bewurkje.
- stm32wl3x_hal_conf.h: STM32WL3x HAL konfiguraasje file, statysk.
- src
- SequencerFlowgraph.c: flowgraph definysje. Dit is it wichtige file dat brûkt de sequencer bestjoerder foar in definiearje de globale-konfiguraasje en aksje-konfiguraasje RAM tabellen. Autogenerearre, net bewurkje.
- main.c: Projekt haad file dat toant hoe't jo de definysje fan 'e streamgrafyk laden en tapasse. Statysk, wizigje dit as nedich.
- Foar in bewurkje main.c of stm32wl3x_hal_conf.h, selektearje oerskriuwe gedrach Hâld yn de projekt ynstellings. Op dizze manier wurdt allinich SequencerFlowgraph.c oerskreaun.
Hoe kinne jo generearre koade ymportearje yn in CubeMX example
Om in projekt te ymportearjen generearre troch STM32CubeWiSE-RadioCodeGenerator yn in CubeMX eksample (MRSUBG_Skeleton), is it nedich om de folgjende stappen te folgjen:
- Iepenje de map mei de files oanmakke troch STM32CubeWiSE-RadioCodeGenerator en kopiearje "Inc" en "Src" mappen.
- Plak de twa mappen op de map "MRSUBG_Skeleton" oerskriuwe de twa al oanwêzich.
- Iepenje it projekt "MRSUBG_Skeleton" yn ien fan 'e folgjende IDE's:
- EWARM
- MDK-ARM
- STM32 CubeIDE
- Foegje de "SequencerFlowghraph.c" yn it "MRSUBG_Skeleton"-projekt ta file:
- Foar in EWARM projekt, it paad ta te foegjen de file is it folgjende: MRSUBG_Skeleton\Application\User
- Foar in MDK-ARM projekt, it paad ta te foegjen de file is it folgjende: MRSUBG_Skeleton\Application/User
- Foar in STM32CubeIDE projekt, it paad ta te foegjen de file is itselde:
MRSUBG_Skeleton\Application\User
- Foar in EWARM projekt, it paad ta te foegjen de file is it folgjende: MRSUBG_Skeleton\Application\User
- Foegje binnen it MRSUBG_Skeleton-projekt stm32wl3x_hal_uart.c en stm32wl3x_hal_uart_ex.c ta files nei it folgjende paad: MRSUBG_Skeleton\Drivers\STM32WL3x_HAL_Driver. It paad is itselde foar alle IDE's. De twa files lizze op Firmware\Drivers\STM32WL3x_HAL_Driver\Src.
- Foar in gebrûk COM funksjes, stm32wl3x_nucleo_conf.h file, leit op Firmware\Projects\NUCLEOWL33CC\ Examples\MRSUBG\MRSUBG_Skeleton\Inc, moat wizige wurde ynstelle USE_BSP_COM_FEATURE en USE_COM_LOG nei 1U:
- Kopiearje de folgjende koade yn "stm32wl3x_it.c", leit yn MRSUBG_Skeleton\Application\User.
Flowgraf bvamples
- Fjouwer eksample flowgraphs wurde levere neist de boarne koade. Dizze eksamples meie wurde laden yn STM32CubeWiSE-RadioCodeGenerator troch te klikken op de "Laad" knop yn de arkbalke.
AutoACK_RX
- De Auto-ACK-demo yllustrearret hoe't twa STM32WL3x-apparaten automatysk mei elkoar prate kinne mei minimale CPU-yntervinsje, mei help fan de sequencer-hardware.
- Dizze flowgraph ymplemintearret it gedrach (Auto-Transmit-ACK) fan apparaat A. Yn apparaat A wurdt de sequencer inisjalisearre yn in ûntfangende steat (WaitForMessage), wêryn it wachtet op in berjocht om te kommen.
- Sadree't in jildich berjocht oankomt, giet de sequencer automatysk oer yn in ferstjoerstatus (TransmitACK), wêryn in ACK-pakket as antwurd ferstjoerd wurdt, sûnder CPU-yntervinsje. Sadree't dit klear is, wurdt de sequencer weromset yn syn earste WaitForMessage-tastân.
- Dizze flowgraph ymplementearret itselde gedrach as de MRSUBG_SequencerAutoAck_Rx exampút examples\MRSUBG map fan it STM32Cube WL3-softwarepakket. As AutoACK_RX wurdt flashed op ien apparaat
A, en AutoACK_TX wurdt flashed op guon apparaat, B, de twa apparaten stjoere berjochten hinne en wer, lykas yn in ping-pong spultsje.
AutoACK_TX
- De "Auto-ACK" demo yllustrearret hoe't twa STM32WL3x apparaten kinne automatysk mei elkoar prate mei minimale CPU yntervinsje mei help fan de sequencer hardware.
- Dizze flowgraph ymplemintearret it gedrach ("Auto-Wait-for-ACK") fan apparaat B. Yn apparaat B, de sequencer wurdt inisjalisearre yn in transmitting steat (TransmitMessage), dêr't it stjoert in berjocht. As de oerdracht klear is, giet it automatysk oer nei in ûntfangende steat wêr't it wachtet op in erkenning fan apparaat A (WaitForACK). Sadree't der in jildige erkenning komt, wurdt de sequencer weromset yn syn earste TransmitMessage-tastân en it hiele proses begjint wer. Yn it gefal dat gjin ACK wurdt ûntfongen binnen 4 sekonden, wurdt in time-out aktivearre en komt de sequencer yn elts gefal werom nei steat TransmitMessage.
- Dizze flowgraph ymplementearret itselde gedrach as de "MRSUBG_SequencerAutoAck_Tx" eksampút examples\MRSUBG map fan it STM32Cube WL3-softwarepakket. As AutoACK_RX wurdt flitset op ien apparaat, A, en AutoACK_TX wurdt flashed op in oar apparaat, B, de twa apparaten stjoere berjochten hinne en wer, lykas yn in ping-pong spultsje.
Harkje foar petear (LBT)
- Dizze eksample is nommen út de STM32WL3x referinsje hantlieding [1]. Ferwize nei dat hânboek foar fierdere details fan dit eksample.
Sniff modus
- Dizze eksample is nommen út de STM32WL3x referinsje hantlieding [1]. Ferwize nei dat hânboek foar fierdere details fan dit eksample.
Revision skiednis
Tabel 2. Document revyzje skiednis
Datum | Ferzje | Feroarings |
21-Nov-2024 | 1 | Inisjele release. |
10 febrewaris 2025 | 2 | Bywurke apparaatnamme om STM32WL3x te berikken. |
WICHTICH NOTICE - LÊS FERGESE
- STMicroelectronics NV en har dochterûndernimmingen ("ST") behâlde it rjocht foar om feroarings, korreksjes, ferbetterings, oanpassings en ferbetterings oan ST-produkten en / of oan dit dokumint op elk momint sûnder notice te meitsjen. Keapers moatte de lêste relevante ynformaasje krije oer ST-produkten foardat se oarders pleatse. ST-produkten wurde ferkocht yn oerienstimming mei ST's ferkeapbetingsten en -betingsten yn plak op it momint fan bestellingserkenning.
- Keapers binne allinich ferantwurdlik foar de kar, seleksje en gebrûk fan ST-produkten en ST nimt gjin oanspraaklikens oan foar help by oanfraach of it ûntwerp fan produkten fan keapers.
- Gjin lisinsje, útdruklik of ymplisearre, foar in yntellektueel eigendomsrjocht wurdt hjiryn ferliend troch ST.
- Wederferkeap fan ST-produkten mei bepalingen dy't ferskille fan 'e ynformaasje dy't hjiryn oanjûn binne, sil gjin garânsje ferliend troch ST foar sa'n produkt ûnjildich meitsje.
- ST en it ST-logo binne hannelsmerken fan ST. Foar oanfoljende ynformaasje oer ST hannelsmerken, ferwize nei www.st.com/trademarks. Alle oare nammen fan produkten of tsjinsten binne it eigendom fan har respektive eigners.
- Ynformaasje yn dit dokumint ferfangt en ferfangt ynformaasje earder levere yn alle eardere ferzjes fan dit dokumint.
- © 2025 STMicroelectronics - Alle rjochten foarbehâlden
FAQ
- F: Wat binne de minimale systeemeasken foar STM32CubeWiSE-RadioCodeGenerator?
- A: De minimale systeemeasken omfetsje op syn minst 2 Gbytes RAM, USB-ports, en Adobe Acrobat reader 6.0.
- F: Hoe kin ik it softwarepakket STM32CubeWiSE-RadioCodeGenerator ynstelle?
- A: Om it softwarepakket yn te stellen, ekstrahearje de ynhâld fan 'e levere zip file yn in tydlike map en starte de útfierbere file folgje de ynstruksjes op it skerm.
Dokuminten / Resources
![]() |
STMicroelectronics UM3399 STM32Cube WiSE Radio Code Generator [pdf] Brûkershânlieding UM3399, UM3399 STM32 Cube WiSE Radio Code Generator, UM3399, STM32, Cube WiSE Radio Code Generator, Radio Code Generator, Code Generator, Generator |