STMicroelectronics UM3399 STM32Cube WiSE Radio Code Generator
Produktbrugsvejledning
- STM32CubeWiSE-RadioCodeGenerator-applikationen kræver mindst 2 Gbyte RAM, USB-porte og Adobe Acrobat reader 6.0.
- Udpak indholdet af stm32wise-cgwin.zip file ind i en midlertidig mappe.
- Start STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe file og følg instruktionerne på skærmen.
- STM32CubeWiSE-RadioCodeGenerator SW-pakken files er organiseret i mapper, herunder 'app' og 'examples'.
- Sådan bygger du en flowgraf i STM32CubeWiSE-RadioCodeGenerator:
- Tilføj SeqActions til flowgrafen ved hjælp af værktøjslinjen eller den globale menu.
- Forbind SeqActions til indgangspunktet og til hinanden ved at tegne handlingsovergangspile.
- Naviger i flowgrafen ved at trække handlinger og tilføje handlingsovergange efter behov.
Indledning
- Dette dokument beskriver STM32CubeWiSE-RadioCodeGenerator (STM32CubeWiSEcg) SW-pakken med STM32WL3x MRSUBG sequencer-kodegenerator.
- STM32CubeWiSE-RadioCodeGenerator er en pc-applikation, der bruges til at bygge en flowgraf, der definerer, hvilke transceiverhandlinger, der skal udføres under hvilke forhold, ved hjælp af MRSUBG sequencer-driveren.
- STM32WL3x Sub-GHz radio indeholder denne sequencer, som er en tilstandsmaskine-lignende mekanisme, der giver mulighed for autonom styring af RF-overførsler uden behov for CPU-intervention.
- Hvis CPU-intervention er påkrævet, kan interrupts defineres. Transceiverhandlinger kan arrangeres i en flowgraf. I dette dokument omtales de individuelle transceiverhandlinger som SeqActions.
- Kildekoden er dog ikke den bedste repræsentation for flowgrafer, da den skjuler deres logiske og tidsmæssige struktur.
- STM32CubeWiSE-RadioCodeGenerator løser dette problem ved at levere en grafisk metode til at bygge flowgrafer og derefter eksportere de genererede flowgrafer som C-kildekode til integration i brugerapplikationer.
- Flowgrafdefinitionen gemmes i mikrocontrollerens RAM i form af:
- Et sæt ActionConfiguration RAM-tabeller, knyttet til hinanden ved hjælp af pointere. Disse pointere definerer SeqActions, det vil sige typen af handling (f.eksample, transmission, modtagelse, afbrydelse), samt SeqAction-specifikke radioparametre og betingelser for handlingstransmissioner.
- En unik GlobalConfiguration RAM-tabel. Dette definerer indgangspunktet for flowgrafen (den første SeqAction, der skal udføres), såvel som nogle standard flagværdier og almindelige radioparametre.
- Radioparametre, som kan konfigureres individuelt for hver SeqAction, er gemt i et af de dynamiske registre, hvis indhold er en del af ActionConfiguration RAM-tabellen. Radioparametre, der er faste over hele udførelsen af flowgrafen (medmindre de ændres under en CPU-afbrydelse), lagres i statiske registre, hvis indhold er en del af den globale konfigurations-RAM-tabel.
Generel information
Licensering
Dette dokument beskriver software, der kører på den STM32WL3x Arm® Cortex ® -M0+ baserede mikrocontroller.
Note: Arm er et registreret varemærke tilhørende Arm Limited (eller dets datterselskaber) i USA og/eller andre steder.
Relaterede dokumenter
Tabel 1. Dokumentreferencer
Antal | Reference | Titel |
[1] | RM0511 | STM32WL30xx/31xx/33xx Arm®-baserede sub-GHz MCU'er |
Kom godt i gang
- Dette afsnit beskriver alle systemkravene for at køre STM32CubeWiSE-RadioCodeGenerator.
- Den beskriver også installationsproceduren for softwarepakken.
Systemkrav
STM32CubeWiSE-RadioCodeGenerator-applikationen har følgende minimumskrav:
- PC med en Intel®- eller AMD®-processor, der kører Microsoft® Windows 10-operativsystemet
- Mindst 2 Gbyte RAM
- USB-porte
- Adobe Acrobat reader 6.0
STM32CubeWiSE-RadioCodeGenerator SW-pakkeopsætning
Udfør følgende trin:
- Udpak indholdet af stm32wise-cgwin.zip file ind i en midlertidig mappe.
- Udpak og start STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe file og følg instruktionerne på skærmen.
STM32CubeWiSE-RadioCodeGenerator SW-pakke files
STM32CubeWiSE-RadioCodeGenerator SW-pakken files er organiseret i følgende mapper:
- app: indeholder STM32CubeWiSE-RadioCodeGenerator.exe
- examples: denne mappe er organiseret i følgende undermapper:
- kode: denne mappe indeholder flowgraferne f.eksample allerede eksporteret som C-kode, klar til at blive injiceret i et applikationsprojekt
- flowgraphs: denne mappe gemmer nogle exampLes scenarier med autonome MRSUBG-sequencer-operationer
Udgivelsesbemærkninger og licens files er placeret i rodmappen.
STM32CubeWiSE-RadioCodeGenerator softwarebeskrivelse
- Dette afsnit beskriver hovedfunktionerne i STM32CubeWiSE-RadioCodeGenerator-applikationen. For at køre dette værktøj skal du klikke på STM32CubeWiSE-RadioCodeGenerator-ikonet.
Efter lancering af STM32CubeWiSE-RadioCodeGenerator, vises hovedprogramvinduet. Den består af:
- En global menu og værktøjslinje
- Den visuelle træk-og-slip-repræsentation af flowgrafen
- SeqAction-konfigurationssektionen (kun synlig, hvis en SeqAction er ved at blive redigeret)
Opbygning af en flowgraf
Grundlæggende
Flowgrafer er bygget i to trin:
- Tilføj SeqActions til flowgrafen. Dette kan gøres ved at bruge knappen "Tilføj handling" på værktøjslinjen, ved at bruge den globale menu (Rediger → Tilføj handling) eller med genvejen "Ctrl+A".
- Forbind SeqActions til indgangspunktet og til hinanden ved at tegne handlingsovergangspile.
De betingelser, hvorunder disse overgange sker, defineres senere (se afsnit 3.2.1: Kontrolflow).
Navigering i flowgrafen, træk i handlinger
Ved at trække skakternet baggrunden af flowgrafen med musemarkøren (venstre klik), viewport på flowgrafen kan justeres. Musens rullehjul kan bruges til at zoome ind og ud. Klik hvor som helst på en handling (bortset fra output-portene, sletknappen og redigeringsknappen) for at vælge en handling. Handlinger kan arrangeres i flowgrafen ved at trække dem med venstre museknap.
Tilføjelse af handlingsovergange
- Som vist i figur 2 har hver handling to "outputporte", kaldet NextAction1 (NA1) og NextAction2 (NA2), som kan forbindes til SeqActions, der udføres efter handlingen er fuldført. F.eksample, NextAction1 kunne bruges til at udføre en handling, hvis den aktuelle handling var vellykket, og NextAction2 kunne udløses i tilfælde af fejl.
- For at oprette en handlingsovergang skal du holde musemarkøren over en af outputportene, trykke på venstre museknap og flytte musemarkøren for at trække en overgangspil. Flyt musemarkøren over inputporten til venstre for en anden SeqAction, og slip venstre museknap for at gøre forbindelsen permanent. For at fjerne en handlingsovergang skal du blot gentage trinene for at oprette en handlingsovergang, men slippe venstre museknap et sted hen over skakternbaggrunden.
- Hvis et output (NextAction1, NextAction2) efterlades uden forbindelse, afsluttes sequenceren, hvis denne næste handling udløses.
- Sørg for også at tilslutte "Entry Point" til en eller anden SeqActions inputport. Denne SeqAction er den første, der udføres, så snart sequenceren udløses.
Redigering og sletning af handlinger
- SeqActions kan redigeres ved at klikke på blyantknappen øverst til venstre i SeqAction. Den kan slettes ved at klikke på det røde kryds øverst til højre (se figur 3). Sletning af en SeqAction fjerner også alle indgående og udgående handlingsovergange.
SeqAction-konfiguration
SeqActions kan konfigureres via en fanebaseret konfigurationsgrænseflade, der er tilgængelig via blyantknappen øverst til venstre for hver handling i flowgrafen. Denne grænseflade konfigurerer i det væsentlige indholdet af ActionConfiguration RAM-tabellen for den bestemte handling, bestående af både kontrolflow-relaterede konfigurationsmuligheder såvel som det dynamiske registerindhold. Det dynamiske registerindhold kan enten konfigureres manuelt med fuld kontrol over hver registerværdi (se Afsnit 3.2.3: Avanceret radiokonfiguration) eller gennem en forenklet grænseflade (se Afsnit 3.2.2: Grundlæggende radiokonfiguration). Den forenklede grænseflade burde være tilstrækkelig til næsten alle brugssager.
Styr flow
Kontrolflow-fanen (se figur 4) indeholder nogle grundlæggende konfigurationsmuligheder såsom handlingsnavn og handlingstimeout-interval. Handlingsnavnet bruges ikke kun til visning i flowgrafen, men overføres også til den genererede kildekode.
- Kontrolflow-fanen (se figur 4) indeholder nogle grundlæggende konfigurationsmuligheder såsom handlingsnavn og handlingstimeout-interval. Handlingsnavnet bruges ikke kun til visning i flowgrafen, men overføres også til den genererede kildekode.
- Vigtigst er det, at kontrolflow-fanen konfigurerer den betingelse, som en overgang til NextAction1 / NextAction2 afhænger af, samt overgangsinterval og flag. Overgangsbetingelsen kan konfigureres ved at klikke på knappen mærket "...", som får dialogen til valg af maske vist i figur 5 til at vises. Overgangsintervallet ændrede egenskaben NextAction1Interval / NextAction2Interval i RAM-tabellen. Se STM32WL3x referencemanualen [1] for mere information om betydningen af dette interval og betydningen af SleepEn / ForceReload / ForceClear flagene.
- Desuden kan en kort beskrivelse af SeqAction-blokken tilføjes på denne fane. Denne beskrivelse bruges kun til dokumentationsformål og overføres til den genererede kildekode som en kildekodekommentar.
Grundlæggende radiokonfiguration
Fanen grundlæggende radiokonfiguration kan opdeles i tre dele:
- Et afsnit øverst, hvor to af de vigtigste parametre for enhver handling er konfigureret: kommandoen til at udføre (TX, RX, NOP, SABORT, og så videre) og, hvis det er relevant, længden af pakken, der skal overføres.
- Et afsnit til venstre, hvor de faktiske radioparametre såsom: bærefrekvens, datahastighed, modulationsegenskaber, databuffertærskler og timere er konfigureret.
- Et afsnit til højre, hvor CPU-afbrydelser kan aktiveres individuelt. En interrupt-handler genereres for hver af de afkrydsede interrupts. Dette konfigurerer grundlæggende indholdet af RFSEQ_IRQ_ENABLE-registret.
Se STM32WL3x referencemanualen [1] for betydningen af de forskellige radioparametre.
Avanceret radiokonfiguration
- Hvis konfigurationsmulighederne, der er afsløret gennem fanen grundlæggende radiokonfiguration (Afsnit 3.2.2: Grundlæggende radiokonfiguration) er utilstrækkelige, tillader den avancerede STM32WL3x radiokonfigurationsfane indstilling af vilkårligt dynamisk registerindhold. Fanen avanceret konfiguration aktiveres ved at markere afkrydsningsfeltet Avanceret konfiguration øverst til højre på konfigurationsgrænsefladen med faner.
- Det er ikke muligt at bruge både grundlæggende og avancerede konfigurationer på samme tid, brugeren skal vælge den ene eller den anden. Det er dog selvfølgelig også muligt at redigere den genererede kildekode manuelt efterfølgende og tilføje potentielt manglende konfigurationsmuligheder.
Global konfigurationsdialog
- Dialogen "Globale projektindstillinger" kan tilgås via knappen "Globale indstillinger" på værktøjslinjen. Dialogen indeholder både konfigurationsmuligheder for det statiske registerindhold samt yderligere projektindstillinger. Bemærk, at kun en lille del af konfigurationsmulighederne for statiske register kan konfigureres gennem denne dialog. Disse muligheder er kun tilvejebragt for at fremskynde applikationsprototypeapplikationer med STM32CubeWiSE-RadioCodeGenerator.
- Det forventes normalt, at det statiske registerindhold er sat op i applikationens manuelt skrevne kildekode.
- Betydningen af de øvrige projektindstillinger er forklaret i selve dialogen.
- Yderligere C-kode, der indsættes lige før oprettelse af Global Configuration RAM-tabellen fra det statiske registerindhold, kan også leveres. Dette felt kan bruges til at opsætte statiske registerværdier, der er utilgængelige via den medfølgende statiske registerkonfigurationsmaske.
Kodegenerering
Flowgrafen kan oversættes til en komplet projekt C-kildekode ved at trykke på knappen Generer kode på værktøjslinjen. Den genererede projektmappe indeholder ikke projekt files for IAR, Keil® eller GCC. Disse files skal tilføjes manuelt til STMWL3x-projektet.
Dette er den genererede projektmappestruktur:
Projektmappe
- inkl
- SequencerFlowgraph.h: overskrift file for SequencerFlowgraph.c, statisk. Rediger ikke dette.
- stm32wl3x_hal_conf.h: STM32WL3x HAL-konfiguration file, statisk.
- src
- SequencerFlowgraph.c: flowgrafdefinition. Dette er det vigtige file der bruger sequencer-driveren til at definere RAM-tabellerne for global konfiguration og handlingskonfiguration. Autogenereret, rediger ikke.
- main.c: Projekt hoved file der viser, hvordan man indlæser og anvender flow-grafdefinitionen. Statisk, rediger dette efter behov.
- For at redigere main.c eller stm32wl3x_hal_conf.h skal du vælge overskrivningsadfærd Behold i projektindstillingerne. På denne måde er det kun SequencerFlowgraph.c, der bliver overskrevet.
Sådan importeres genereret kode til en CubeMX example
For at importere et projekt genereret af STM32CubeWiSE-RadioCodeGenerator til en CubeMX example (MRSUBG_Skeleton), er det nødvendigt at følge følgende trin:
- Åbn mappen, der indeholder files genereret af STM32CubeWiSE-RadioCodeGenerator og kopier "Inc" og "Src" mapper.
- Indsæt de to mapper på mappen "MRSUBG_Skeleton" og overskriv de to allerede tilstedeværende.
- Åbn "MRSUBG_Skeleton"-projektet i en af følgende IDE'er:
- EWARM
- MDK-ARM
- STM32CubeIDE
- Inde i "MRSUBG_Skeleton"-projektet skal du tilføje "SequencerFlowghraph.c" file:
- For et EWARM-projekt, stien til at tilføje file er følgende: MRSUBG_Skeleton\Application\User
- For et MDK-ARM-projekt er stien til at tilføje file er følgende: MRSUBG_Skeleton\Application/User
- For et STM32CubeIDE-projekt, stien til at tilføje file er det samme:
MRSUBG_Skeleton\Application\User
- For et EWARM-projekt, stien til at tilføje file er følgende: MRSUBG_Skeleton\Application\User
- Tilføj stm32wl3x_hal_uart.c og stm32wl3x_hal_uart_ex.c inde i MRSUBG_Skeleton-projektet files til følgende sti: MRSUBG_Skeleton\Drivers\STM32WL3x_HAL_Driver. Stien er den samme for alle IDE'er. De to files er placeret på Firmware\Drivers\STM32WL3x_HAL_Driver\Src.
- For at bruge COM-funktioner, stm32wl3x_nucleo_conf.h file, placeret på Firmware\Projects\NUCLEOWL33CC\ Examples\MRSUBG\MRSUBG_Skeleton\Inc, skal ændres ved at indstille USE_BSP_COM_FEATURE og USE_COM_LOG til 1U:
- Kopier følgende kode ind i "stm32wl3x_it.c", placeret i MRSUBG_Skeleton\Application\User.
Flowgraf examples
- Fire exampLe flowgraphs leveres sammen med kildekoden. Disse exampfiler kan indlæses i STM32CubeWiSE-RadioCodeGenerator ved at klikke på knappen "Load" på værktøjslinjen.
AutoACK_RX
- Auto-ACK-demoen illustrerer, hvordan to STM32WL3x-enheder automatisk kan tale med hinanden med minimal CPU-intervention, ved hjælp af sequencer-hardwaren.
- Denne flowgraf implementerer adfærden (Auto-Transmit-ACK) af enhed A. I enhed A initialiseres sequenceren i en modtagende tilstand (WaitForMessage), hvor den venter på, at en besked ankommer.
- Når en gyldig besked ankommer, skifter sequenceren automatisk til en sendetilstand (TransmitACK), hvor en ACK-pakke sendes som et svar uden CPU-indblanding. Når dette er afsluttet, nulstilles sequenceren til sin oprindelige WaitForMessage-tilstand.
- Denne flowgraf implementerer den samme adfærd som MRSUBG_SequencerAutoAck_Rx example fra Examples\MRSUBG-mappen i STM32Cube WL3-softwarepakken. Hvis AutoACK_RX blinker på én enhed
A, og AutoACK_TX blinker på en eller anden enhed, B, de to enheder sender beskeder frem og tilbage, som i et ping-pong-spil.
AutoACK_TX
- "Auto-ACK"-demoen illustrerer, hvordan to STM32WL3x-enheder automatisk kan tale med hinanden med minimal CPU-intervention ved hjælp af sequencer-hardwaren.
- Denne flowgraf implementerer adfærden ("Auto-Wait-for-ACK") for enhed B. I enhed B initialiseres sequenceren i en sendetilstand (TransmitMessage), hvor den transmitterer en besked. Når transmissionen er færdig, går den automatisk over i en modtagende tilstand, hvor den venter på en bekræftelse fra enhed A (WaitForACK). Når en gyldig bekræftelse ankommer, nulstilles sequenceren til sin oprindelige TransmitMessage-tilstand, og hele processen starter igen. Hvis der ikke modtages nogen ACK inden for 4 sekunder, udløses en timeout, og sequenceren vender alligevel tilbage til tilstanden TransmitMessage.
- Denne flowgraf implementerer den samme adfærd som "MRSUBG_SequencerAutoAck_Tx" ex.ample fra Examples\MRSUBG-mappen i STM32Cube WL3-softwarepakken. Hvis AutoACK_RX blinker på én enhed, A, og AutoACK_TX blinker på en anden enhed, B, sender de to enheder beskeder frem og tilbage, som i et ping-pong-spil.
Lyt før snak (LBT)
- Denne example er taget fra STM32WL3x referencemanualen [1]. Se denne manual for yderligere detaljer om dette f.eksample.
Sniff mode
- Denne example er taget fra STM32WL3x referencemanualen [1]. Se denne manual for yderligere detaljer om dette f.eksample.
Revisionshistorie
Tabel 2. Dokumentrevisionshistorik
Dato | Version | Ændringer |
21. nov. 2024 | 1 | Første udgivelse. |
10. februar 2025 | 2 | Opdateret enhedsnavn til scope STM32WL3x. |
VIGTIG MEDDELELSE – LÆS OMHYGGELIGT
- STMicroelectronics NV og dets datterselskaber ("ST") forbeholder sig retten til at foretage ændringer, rettelser, forbedringer, modifikationer og forbedringer af ST-produkter og/eller dette dokument til enhver tid uden varsel. Købere bør indhente de seneste relevante oplysninger om ST-produkter, før de afgiver ordre. ST-produkter sælges i henhold til STs salgs- og salgsbetingelser på tidspunktet for ordrebekræftelse.
- Købere er alene ansvarlige for valg, udvælgelse og brug af ST-produkter, og ST påtager sig intet ansvar for ansøgningsassistance eller design af købers produkter.
- Ingen licens, hverken udtrykkelig eller underforstået, til nogen intellektuel ejendomsret er givet af ST heri.
- Videresalg af ST-produkter med andre bestemmelser end de oplysninger, der er angivet heri, annullerer enhver garanti givet af ST for et sådant produkt.
- ST og ST-logoet er varemærker tilhørende ST. For yderligere information om ST-varemærker henvises til www.st.com/trademarks. Alle andre produkt- eller tjenestenavne tilhører deres respektive ejere.
- Oplysningerne i dette dokument erstatter og erstatter oplysninger, der tidligere er leveret i alle tidligere versioner af dette dokument.
- © 2025 STMicroelectronics – Alle rettigheder forbeholdes
FAQ
- Q: Hvad er minimums systemkravene til STM32CubeWiSE-RadioCodeGenerator?
- A: Minimum systemkrav omfatter mindst 2 Gbyte RAM, USB-porte og Adobe Acrobat reader 6.0.
- Q: Hvordan kan jeg konfigurere STM32CubeWiSE-RadioCodeGenerator-softwarepakken?
- A: For at konfigurere softwarepakken skal du udtrække indholdet af den medfølgende zip file ind i en midlertidig mappe og start den eksekverbare file ved at følge instruktionerne på skærmen.
Dokumenter/ressourcer
![]() |
STMicroelectronics UM3399 STM32Cube WiSE Radio Code Generator [pdfBrugermanual UM3399, UM3399 STM32 Cube WiSE Radio Code Generator, UM3399, STM32, Cube WiSE Radio Code Generator, Radio Code Generator, Kode Generator, Generator |