STMicroelectronics UM3399 STM32Cube WiSE Radio Kode Generator
Produkgebruiksinstruksies
- Die STM32CubeWiSE-RadioCodeGenerator-toepassing vereis ten minste 2 Ggrepe RAM, USB-poorte en Adobe Acrobat reader 6.0.
- Onttrek die inhoud van die stm32wise-cgwin.zip file in 'n tydelike gids.
- Begin die STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe file en volg die instruksies op die skerm.
- Die STM32CubeWiSE-RadioCodeGenerator SW-pakket files is georganiseer in dopgehou insluitend 'app' en 'examples'.
- Om 'n vloeigrafiek in STM32CubeWiSE-RadioCodeGenerator te bou:
- Voeg SeqActions by die vloeigrafiek deur die nutsbalk of globale kieslys te gebruik.
- Koppel SeqActions aan die toegangspunt en aan mekaar deur aksie-oorgangpyle te teken.
- Navigeer die vloeigrafiek deur aksies te sleep en aksie-oorgange by te voeg soos nodig.
Inleiding
- Hierdie dokument beskryf die STM32CubeWiSE-RadioCodeGenerator (STM32CubeWiSEcg) SW-pakket met die STM32WL3x MRSUBG sequencer-kodegenerator.
- STM32CubeWiSE-RadioCodeGenerator is 'n rekenaartoepassing wat gebruik word om 'n vloeigrafiek te bou wat definieer watter transceiver-aksies onder watter toestand uitgevoer moet word, met behulp van die MRSUBG-sekwenseerderbestuurder.
- STM32WL3x Sub-GHz-radio bevat hierdie opeenvolger, wat 'n toestand-masjienagtige meganisme is wat outonome bestuur van RF-oordragte moontlik maak, sonder dat SVE-ingryping nodig is.
- As SVE-ingryping vereis word, kan onderbrekings gedefinieer word. Transceiver-aksies kan in 'n vloeigrafiek gerangskik word. In hierdie dokument word na die individuele transceiver-aksies verwys as SeqActions.
- Bronkode is egter nie die beste voorstelling vir vloeidiagramme nie, aangesien dit hul logiese en tydelike struktuur verberg.
- STM32CubeWiSE-RadioCodeGenerator spreek hierdie probleem aan deur 'n grafiese metode te verskaf om vloeigrafieke te bou en dan die gegenereerde vloeidiagramme as C-bronkode uit te voer vir integrasie in gebruikertoepassings.
- Die vloeigrafiekdefinisie word in die mikrobeheerder-RAM gestoor in die vorm van:
- 'n Stel ActionConfiguration RAM-tabelle, met behulp van wysers aan mekaar gekoppel. Hierdie wysers definieer die SeqActions, dit wil sê die tipe aksie (bvample, transmissie, ontvangs, aborteer), sowel as SeqAction-spesifieke radioparameters en voorwaardes vir aksie-uitsendings.
- 'n Unieke GlobalConfiguration RAM-tabel. Dit definieer die toegangspunt van die vloeigrafiek (die eerste SeqAction om uit te voer), sowel as 'n paar verstekvlagwaardes en algemene radioparameters.
- Radioparameters, wat individueel vir elke SeqAction gekonfigureer kan word, word gestoor in een van die dinamiese registers, waarvan die inhoud deel is van die ActionConfiguration RAM-tabel. Radioparameters wat oor die hele uitvoering van die vloeigrafiek vasgestel is (tensy hulle tydens 'n SVE-onderbreking gewysig word), word in statiese registers gestoor, waarvan die inhoud deel is van die globale konfigurasie-RAM-tabel.
Algemene inligting
Lisensiëring
Hierdie dokument beskryf sagteware wat op die STM32WL3x Arm® Cortex ® -M0+ gebaseerde mikrobeheerder loop.
Let wel: Arm is 'n geregistreerde handelsmerk van Arm Limited (of sy filiale) in die VSA en/of elders.
Verwante dokumente
Tabel 1. Dokumentverwysings
Nommer | Verwysing | Titel |
[1] | R0511 | STM32WL30xx/31xx/33xx Arm®-gebaseerde sub-GHz MCU's |
Aan die gang
- Hierdie afdeling beskryf al die stelselvereistes om STM32CubeWiSE-RadioCodeGenerator te laat loop.
- Dit beskryf ook die installasieprosedure van die sagtewarepakket.
Stelselvereistes
Die STM32CubeWiSE-RadioCodeGenerator-toepassing het die volgende minimum vereistes:
- PC met 'n Intel®- of AMD®-verwerker wat die Microsoft® Windows 10-bedryfstelsel bestuur
- Ten minste 2 Gbyte RAM
- USB-poorte
- Adobe Acrobat Reader 6.0
STM32CubeWiSE-RadioCodeGenerator SW-pakketopstelling
Voer die volgende stappe uit:
- Onttrek die inhoud van die stm32wise-cgwin.zip file in 'n tydelike gids.
- Onttrek en begin die STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe file en volg die instruksies op die skerm.
STM32CubeWiSE-RadioCodeGenerator SW-pakket files
Die STM32CubeWiSE-RadioCodeGenerator SW-pakket files is georganiseer in die volgende dopgehou:
- app: bevat STM32CubeWiSE-RadioCodeGenerator.exe
- examples: hierdie vouer is in die volgende subgidse georganiseer:
- kode: hierdie lêergids bevat die vloeidiagramme bvample reeds uitgevoer as C-kode, gereed om in 'n toepassingsprojek ingespuit te word
- flowgraphs: hierdie gids stoor sommige bvamples scenario's van outonome MRSUBG-volgorder-operasies
Vrystellingsnotas en lisensie files is in die hoofmap geleë.
STM32CubeWiSE-RadioCodeGenerator sagteware beskrywing
- Hierdie afdeling beskryf die hooffunksies van die STM32CubeWiSE-RadioCodeGenerator-toepassing. Om hierdie program te laat loop, klik op die STM32CubeWiSE-RadioCodeGenerator-ikoon.
Na die bekendstelling van STM32CubeWiSE-RadioCodeGenerator, verskyn die hooftoepassingsvenster. Dit bestaan uit:
- 'n Globale spyskaart en nutsbalk
- Die visuele sleep-en-los voorstelling van die vloeigrafiek
- Die SeqAction-konfigurasie-afdeling (slegs sigbaar as 'n SeqAction tans gewysig word)
Bou 'n vloeigrafiek
Basiese beginsels
Vloeidiagramme word in twee stappe gebou:
- Voeg SeqActions by die vloeigrafiek. Dit kan gedoen word deur die "Voeg aksie by"-knoppie in die nutsbalk, deur die globale kieslys (Redigeer → Voeg aksie by) of met die "Ctrl+A"-kortpad te gebruik.
- Koppel SeqActions aan die toegangspunt en aan mekaar deur aksie-oorgangpyle te teken.
Die toestande waaronder hierdie oorgange plaasvind, word later gedefinieer (sien Afdeling 3.2.1: Beheervloei).
Navigeer die vloeigrafiek, sleep aksies
Deur die tjekbord-agtergrond van die vloeigrafiek met die muiswyser (linkskliek), die viewpoort op die vloeigrafiek kan verstel word. Die muis-rolwiel kan gebruik word om in en uit te zoem. Deur enige plek op 'n aksie te klik (behalwe vir die uitvoerpoorte, die delete-knoppie en die redigeerknoppie) om 'n handeling te kies. Aksies kan in die vloeigrafiek gerangskik word deur dit met die linkermuisknoppie te sleep.
Voeg aksie-oorgange by
- Soos getoon in Figuur 2, het elke aksie twee "uitsetpoorte", genaamd NextAction1 (NA1) en NextAction2 (NA2), wat gekoppel kan word aan SeqActions wat uitgevoer word nadat die aksie voltooi is. Byvoorbeeldample, NextAction1 kan gebruik word om een of ander aksie uit te voer as die huidige aksie suksesvol was en NextAction2 kan geaktiveer word in geval van mislukking.
- Om 'n aksie-oorgang te skep, beweeg die muiswyser oor een van die uitsetpoorte, druk die linkermuisknoppie en beweeg die muiswyser om 'n oorgangpyltjie te sleep. Beweeg die muiswyser oor die invoerpoort aan die linkerkant van 'n ander SeqAction en laat die linkermuisknoppie los om die verbinding permanent te maak. Om 'n aksie-oorgang te verwyder, herhaal net die stappe vir die skep van 'n aksie-oorgang, maar laat die linkermuisknoppie iewers oor die tjekbord-agtergrond los.
- As 'n uitset (VolgendeAksie1, VolgendeAksie2) ongekoppel gelaat word, beëindig die volgordehouer as hierdie volgende aksie geaktiveer word.
- Maak seker dat jy ook die “Ingangspunt” aan een of ander SeqAction se invoerpoort koppel. Hierdie SeqAction is die eerste wat uitgevoer word sodra die sequencer geaktiveer word.
Redigeer en verwyder aksies
- SeqActions kan geredigeer word deur op die potloodknoppie links bo van SeqAction te klik. Dit kan uitgevee word deur op die rooi kruis regs bo te klik (sien Figuur 3). Die uitvee van 'n SeqAction verwyder ook enige inkomende en uitgaande aksie-oorgange.
SeqAction-konfigurasie
SeqActions kan gekonfigureer word deur 'n oortjie-konfigurasie-koppelvlak wat toeganklik is deur die potloodknoppie links bo van elke aksie in die vloeigrafiek. Hierdie koppelvlak konfigureer in wese die inhoud van die ActionConfiguration RAM-tabel vir die spesifieke aksie, wat bestaan uit beide beheervloeiverwante konfigurasie-opsies sowel as die dinamiese registerinhoud. Die dinamiese registerinhoud kan óf met die hand gekonfigureer word met volledige beheer oor elke registerwaarde (sien Afdeling 3.2.3: Gevorderde radiokonfigurasie) óf deur 'n vereenvoudigde koppelvlak (sien Afdeling 3.2.2: Basiese radiokonfigurasie). Die vereenvoudigde koppelvlak behoort voldoende te wees vir byna alle gebruiksgevalle.
Beheer vloei
Die beheervloei-oortjie (sien Figuur 4) bevat 'n paar basiese konfigurasie-opsies soos aksienaam en aksie-uittelinterval. Die aksienaam word nie net vir vertoon in die vloeigrafiek gebruik nie, maar word ook oorgedra na die gegenereerde bronkode.
- Die beheervloei-oortjie (sien Figuur 4) bevat 'n paar basiese konfigurasie-opsies soos aksienaam en aksie-uittelinterval. Die aksienaam word nie net vir vertoon in die vloeigrafiek gebruik nie, maar word ook oorgedra na die gegenereerde bronkode.
- Die belangrikste is dat die beheervloei-oortjie die toestand konfigureer waarop 'n oorgang na NextAction1 / NextAction2 afhang, asook oorgangsinterval en vlae. Die oorgangstoestand kan gekonfigureer word deur op die knoppie gemerk "..." te klik, wat die maskerkeusedialoog wat in Figuur 5 gewys word, laat verskyn. Die oorgangsinterval het die NextAction1Interval / NextAction2Interval-eienskap van die RAM-tabel gewysig. Verwys na die STM32WL3x verwysingshandleiding [1] vir meer inligting oor die betekenis van hierdie interval en die betekenis van die SleepEn / ForceReload / ForceClear vlae.
- Verder kan 'n kort beskrywing van die SeqAction-blok op hierdie blad bygevoeg word. Hierdie beskrywing word slegs vir dokumentasiedoeleindes gebruik en oorgedra na die gegenereerde bronkode as 'n bronkode-kommentaar.
Basiese radiokonfigurasie
Die basiese radiokonfigurasie-oortjie kan in drie dele onderverdeel word:
- 'n Afdeling aan die bokant waar twee van die belangrikste parameters van enige aksie opgestel is: die opdrag om uit te voer (TX, RX, NOP, SABORT, ensovoorts) en, indien van toepassing, die lengte van die pakkie om oor te dra.
- 'n Gedeelte aan die linkerkant waar die werklike radioparameters soos: drafrekwensie, datatempo, modulasie-eienskappe, databufferdrempels en tydtellers opgestel is.
- 'n Afdeling aan die regterkant waar die SVE onderbreek kan individueel geaktiveer word. 'n Onderbreking hanteerder word gegenereer vir elk van die gemerkte onderbrekings. Dit konfigureer basies die inhoud van die RFSEQ_IRQ_ENABLE register.
Verwys na die STM32WL3x verwysingshandleiding [1] vir die betekenis van die verskillende radioparameters.
Gevorderde radiokonfigurasie
- As die konfigurasie-opsies wat deur die basiese radiokonfigurasie-oortjie (Afdeling 3.2.2: Basiese radiokonfigurasie) blootgestel word, onvoldoende is, laat die gevorderde STM32WL3x-radiokonfigurasie-oortjie die instelling van arbitrêre dinamiese registerinhoude toe. Die gevorderde konfigurasie-oortjie word geaktiveer deur die Gevorderde konfigurasie-merkblokkie regs bo van die oortjie-konfigurasie-koppelvlak te merk.
- Dit is nie moontlik om beide basiese en gevorderde konfigurasies op dieselfde tyd te gebruik nie, die gebruiker moet die een of die ander kies. Dit is egter natuurlik ook moontlik om die gegenereerde bronkode daarna handmatig te wysig en om moontlik ontbrekende konfigurasie-opsies by te voeg.
Globale konfigurasie dialoog
- Die dialoog "Globale projekinstellings" kan verkry word deur die "Globale instellings"-nutsbalkknoppie. Die dialoog bevat beide konfigurasie opsies vir die statiese register inhoud sowel as bykomende projek instellings. Let daarop dat slegs 'n klein fraksie van statiese registerkonfigurasie-opsies deur hierdie dialoog gekonfigureer kan word. Hierdie opsies word slegs verskaf om toepassingsprototiperingtoepassings met STM32CubeWiSE-RadioCodeGenerator te bespoedig.
- Daar word gewoonlik verwag dat die statiese registerinhoud in die toepassing se handgeskrewe bronkode opgestel word.
- Die betekenis van die ander projekinstellings word in die dialoog self verduidelik.
- Bykomende C-kode wat ingevoeg word net voor die skep van die Global Configuration RAM-tabel vanaf die statiese registerinhoud kan ook verskaf word. Hierdie veld kan gebruik word om statiese registerwaardes op te stel wat ontoeganklik is deur die verskafde statiese registerkonfigurasiemasker.
Kode generering
Die vloeigrafiek kan in 'n volledige projek C-bronkode vertaal word deur die Generate Code-knoppie in die nutsbalk te druk. Die gegenereerde projeklêer bevat nie projek nie files vir IAR, Keil® of GCC. Hierdie files moet handmatig by die STMWL3x-projek gevoeg word.
Dit is die gegenereerde projekvouerstruktuur:
Projekmap
- inc
- SequencerFlowgraph.h: kop file vir SequencerFlowgraph.c, staties. Moenie dit wysig nie.
- stm32wl3x_hal_conf.h: STM32WL3x HAL-konfigurasie file, staties.
- src
- SequencerFlowgraph.c: vloeigrafiekdefinisie. Dit is die belangrikste file wat die sequencer-bestuurder gebruik om die globale-konfigurasie en aksie-konfigurasie RAM-tabelle te definieer. Outo-gegenereer, moenie redigeer nie.
- hoof.c: Projek hoof file wat demonstreer hoe om die vloeigrafiekdefinisie te laai en toe te pas. Staties, wysig dit soos nodig.
- Om main.c of stm32wl3x_hal_conf.h te wysig, kies oorskryfgedrag Hou in die projekinstellings. Op hierdie manier word slegs SequencerFlowgraph.c oorgeskryf.
Hoe om gegenereerde kode in 'n CubeMX bvample
Om 'n projek gegenereer deur STM32CubeWiSE-RadioCodeGenerator in 'n CubeMX ex in te voerample (MRSUBG_Skeleton), is dit nodig om die volgende stappe te volg:
- Maak die gids oop wat die files gegenereer deur STM32CubeWiSE-RadioCodeGenerator en kopieer "Inc" en "Src" dopgehou.
- Plak die twee dopgehou op die "MRSUBG_Skeleton"-lêergids en oorskryf die twee wat reeds teenwoordig is.
- Maak die "MRSUBG_Skeleton"-projek oop in een van die volgende IDE's:
- EWARM
- MDK-ARM
- STM32CubeIDE
- Binne die "MRSUBG_Skeleton"-projek, voeg die "SequencerFlowghraph.c" by file:
- Vir 'n EWARM-projek, die pad om die by te voeg file is die volgende: MRSUBG_Skeleton\Application\User
- Vir 'n MDK-ARM-projek, die pad om die file is die volgende: MRSUBG_Skeleton\Application/User
- Vir 'n STM32CubeIDE-projek, die pad om die file is dieselfde:
MRSUBG_Skeleton\Application\Gebruiker
- Vir 'n EWARM-projek, die pad om die by te voeg file is die volgende: MRSUBG_Skeleton\Application\User
- Binne die MRSUBG_Skeleton-projek, voeg stm32wl3x_hal_uart.c en stm32wl3x_hal_uart_ex.c by files na die volgende pad: MRSUBG_Skeleton\Drivers\STM32WL3x_HAL_Driver. Die pad is dieselfde vir alle IDE's. Die twee files is geleë op Firmware\Drivers\STM32WL3x_HAL_Driver\Src.
- Om COM-kenmerke te gebruik, stm32wl3x_nucleo_conf.h file, geleë op Firmware\Projects\NUCLEOWL33CC\ Examples\MRSUBG\MRSUBG_Skeleton\Inc, moet gewysig word met die instelling van USE_BSP_COM_FEATURE en USE_COM_LOG na 1U:
- Kopieer die volgende kode na "stm32wl3x_it.c", geleë in MRSUBG_Skeleton\Application\User.
Vloeigrafiek bvamples
- Vier eksampLe vloeidiagramme word langs die bronkode verskaf. Hierdie exampLese kan in STM32CubeWiSE-RadioCodeGenerator gelaai word deur op die "Laai"-knoppie in die nutsbalk te klik.
AutoACK_RX
- Die Auto-ACK-demo illustreer hoe twee STM32WL3x-toestelle outomaties met mekaar kan praat met minimale SVE-ingryping, met behulp van die sequencer-hardeware.
- Hierdie vloeigrafiek implementeer die gedrag (Outo-oordrag-ACK) van toestel A. In toestel A word die volgordehouer geïnisialiseer in 'n ontvangtoestand (WaitForMessage), waarin dit wag vir 'n boodskap om te arriveer.
- Sodra 'n geldige boodskap aankom, gaan die sequencer outomaties oor na 'n oordragtoestand (TransmitACK), waarin 'n ACK-pakkie as 'n reaksie gestuur word, sonder SVE-ingryping. Sodra dit klaar is, word die sequencer teruggestel na sy aanvanklike WaitForMessage-toestand.
- Hierdie vloeigrafiek implementeer dieselfde gedrag as die MRSUBG_SequencerAutoAck_Rx example van die Examples\MRSUBG-lêergids van die STM32Cube WL3-sagtewarepakket. As AutoACK_RX op een toestel geflits word
A, en AutoACK_TX flits op een of ander toestel, B, die twee toestelle stuur boodskappe heen en weer, soos in 'n tafeltennisspeletjie.
AutoACK_TX
- Die “Auto-ACK”-demo illustreer hoe twee STM32WL3x-toestelle outomaties met mekaar kan praat met minimale SVE-ingryping met die hulp van die sequencer-hardeware.
- Hierdie vloeigrafiek implementeer die gedrag (“Auto-Wait-for-ACK”) van toestel B. In toestel B word die sekwenseerder geïnisialiseer in 'n oordragtoestand (TransmitMessage), waarin dit 'n boodskap uitstuur. Sodra die oordrag voltooi is, gaan dit outomaties oor na 'n ontvangstoestand waar dit wag vir 'n erkenning van toestel A (WaitForACK). Sodra 'n geldige erkenning aankom, word die sekwenser teruggestel na sy aanvanklike TransmitMessage-toestand en die hele proses begin weer. In die geval dat geen ACK binne 4 sekondes ontvang word nie, word 'n uitteltyd geaktiveer en die volgorder keer terug na die toestand TransmitMessage in elk geval.
- Hierdie vloeigrafiek implementeer dieselfde gedrag as die "MRSUBG_SequencerAutoAck_Tx" example van die Examples\MRSUBG-lêergids van die STM32Cube WL3-sagtewarepakket. As AutoACK_RX op een toestel geflits word, A, en AutoACK_TX op 'n ander toestel, B, geflits word, stuur die twee toestelle boodskappe heen en weer, soos in 'n tafeltennisspeletjie.
Luister voor praat (LBT)
- Hierdie example is geneem uit die STM32WL3x verwysingshandleiding [1]. Verwys na daardie handleiding vir verdere besonderhede van hierdie example.
Snuif modus
- Hierdie example is geneem uit die STM32WL3x verwysingshandleiding [1]. Verwys na daardie handleiding vir verdere besonderhede van hierdie example.
Hersieningsgeskiedenis
Tabel 2. Dokumenthersieningsgeskiedenis
Datum | Weergawe | Veranderinge |
21-Nov-2024 | 1 | Aanvanklike vrystelling. |
10-2025 Feb | 2 | Opgedateer toestelnaam na omvang STM32WL3x. |
BELANGRIKE KENNISGEWING – LEES SORGVULDIG
- STMicroelectronics NV en sy filiale (“ST”) behou die reg voor om enige tyd sonder kennisgewing veranderinge, regstellings, verbeterings, wysigings en verbeterings aan ST-produkte en/of hierdie dokument aan te bring. Kopers moet die nuutste relevante inligting oor ST-produkte bekom voordat hulle bestellings plaas. ST-produkte word verkoop ingevolge ST se verkoopsbepalings en -voorwaardes wat ten tyde van bestellingserkenning in plek is.
- Kopers is alleen verantwoordelik vir die keuse, seleksie en gebruik van ST-produkte en ST aanvaar geen aanspreeklikheid vir aansoekbystand of die ontwerp van kopers se produkte nie.
- Geen lisensie, uitdruklik of geïmpliseer, tot enige intellektuele eiendomsreg word hierin deur ST toegestaan nie.
- Herverkoop van ST-produkte met bepalings anders as die inligting wat hierin uiteengesit word, sal enige waarborg wat deur ST vir sodanige produk verleen word, nietig verklaar.
- ST en die ST-logo is handelsmerke van ST. Vir bykomende inligting oor ST-handelsmerke, verwys na www.st.com/trademarks. Alle ander produk- of diensname is die eiendom van hul onderskeie eienaars.
- Inligting in hierdie dokument vervang en vervang inligting wat voorheen in enige vorige weergawes van hierdie dokument verskaf is.
- © 2025 STMicroelectronics – Alle regte voorbehou
Gereelde vrae
- V: Wat is die minimum stelselvereistes vir STM32CubeWiSE-RadioCodeGenerator?
- A: Die minimum stelselvereistes sluit ten minste 2 Ggrepe RAM, USB-poorte en Adobe Acrobat reader 6.0 in.
- V: Hoe kan ek die STM32CubeWiSE-RadioCodeGenerator-sagtewarepakket opstel?
- A: Om die sagtewarepakket op te stel, onttrek die inhoud van die verskafde zip file in 'n tydelike gids en begin die uitvoerbare lêer file volg die instruksies op die skerm.
Dokumente / Hulpbronne
![]() |
STMicroelectronics UM3399 STM32Cube WiSE Radio Kode Generator [pdfGebruikershandleiding UM3399, UM3399 STM32 Cube WiSE Radio Code Generator, UM3399, STM32, Cube WiSE Radio Code Generator, Radio Code Generator, Kode Generator, Generator |