STMicroelectronics UM3399 STM32Cube WiSE rádiós kódgenerátor
A termék használati útmutatója
- Az STM32CubeWiSE-RadioCodeGenerator alkalmazás legalább 2 Gbyte RAM-ot, USB-portokat és Adobe Acrobat Reader 6.0-t igényel.
- Bontsa ki az stm32wise-cgwin.zip fájl tartalmát file egy ideiglenes könyvtárba.
- Indítsa el az STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe fájlt file és kövesse a képernyőn megjelenő utasításokat.
- Az STM32CubeWiSE-RadioCodeGenerator SW csomag files mappákba vannak rendezve, beleértve az „app” és „plamples'.
- Folyamábra létrehozása az STM32CubeWiSE-RadioCodeGenerator programban:
- Adja hozzá a SeqActions műveleteket a folyamatgráfhoz az eszköztár vagy a globális menü segítségével.
- Csatlakoztassa a SeqActiont a belépési ponthoz és egymáshoz művelet-átmeneti nyilak rajzolásával.
- A műveletek húzásával és szükség szerinti művelet-átmenetek hozzáadásával navigálhat a folyamatdiagramon.
Bevezetés
- Ez a dokumentum az STM32CubeWiSE-RadioCodeGenerator (STM32CubeWiSEcg) SW csomagot írja le az STM32WL3x MRSUBG szekvenszer kódgenerátorral.
- Az STM32CubeWiSE-RadioCodeGenerator egy olyan PC-alkalmazás, amely egy folyamatgráf létrehozására szolgál, amely meghatározza, hogy mely adó-vevő műveleteket milyen feltételek mellett kell végrehajtani, az MRSUBG szekvenszer-illesztőprogram segítségével.
- Az STM32WL3x Sub-GHz rádió tartalmazza ezt a szekvenszert, amely egy állapotgép-szerű mechanizmus, amely lehetővé teszi az RF átvitelek autonóm kezelését, CPU beavatkozás nélkül.
- Ha CPU beavatkozásra van szükség, megszakítások definiálhatók. Az adó-vevő műveletei folyamatgrafikonba rendezhetők. Ebben a dokumentumban az egyes adó-vevő műveletekre SeqActions néven hivatkozunk.
- A forráskód azonban nem a legjobb reprezentáció a folyamatgráfokhoz, mivel elfedi logikai és időbeli struktúrájukat.
- Az STM32CubeWiSE-RadioCodeGenerator úgy oldja meg ezt a problémát, hogy grafikus módszert biztosít a folyamatábrák létrehozásához, majd a generált folyamatábrák exportálását C-forráskódként a felhasználói alkalmazásokba való integráláshoz.
- A folyamatábra meghatározása a mikrokontroller RAM-jában tárolódik a következő formában:
- ActionConfiguration RAM-táblázatok készlete, amelyek mutatók segítségével kapcsolódnak egymáshoz. Ezek a mutatók határozzák meg a SeqActions-t, azaz a művelet típusát (plample, adás, vétel, megszakítás), valamint a SeqAction-specifikus rádióparaméterek és az akcióátvitel feltételei.
- Egyedülálló GlobalConfiguration RAM tábla. Ez határozza meg a folyamatgráf belépési pontját (az első végrehajtandó SeqAction), valamint néhány alapértelmezett jelzőértéket és általános rádióparamétert.
- Az egyes SeqAction-ekhez egyedileg konfigurálható rádióparaméterek az egyik dinamikus regiszterben tárolódnak, amelynek tartalma az ActionConfiguration RAM tábla részét képezi. A folyamatgráf teljes végrehajtása során rögzített rádióparaméterek (kivéve, ha a CPU megszakítása során módosulnak) statikus regiszterekben tárolódnak, amelyek tartalma a globális konfigurációs RAM tábla részét képezi.
Általános információk
Engedélyezés
Ez a dokumentum az STM32WL3x Arm® Cortex ® -M0+ alapú mikrokontrolleren futó szoftvereket írja le.
Jegyzet: Az Arm az Arm Limited (vagy leányvállalatai) bejegyzett védjegye az Egyesült Államokban és/vagy másutt.
Kapcsolódó dokumentumok
1. táblázat: Dokumentumhivatkozások
Szám | Referencia | Cím |
[1] | 0511 RM | STM32WL30xx/31xx/33xx Arm® alapú szubGHz-es MCU-k |
Kezdő lépések
- Ez a szakasz leírja az STM32CubeWiSE-RadioCodeGenerator futtatásához szükséges összes rendszerkövetelményt.
- A szoftvercsomag telepítési eljárását is részletezi.
Rendszerkövetelmények
Az STM32CubeWiSE-RadioCodeGenerator alkalmazás a következő minimális követelményekkel rendelkezik:
- Microsoft® Windows 10 operációs rendszert futtató Intel® vagy AMD® processzorral rendelkező számítógép
- Legalább 2 Gbyte RAM
- USB portok
- Adobe Acrobat Reader 6.0
STM32CubeWiSE-RadioCodeGenerator SW csomag beállítása
Hajtsa végre a következő lépéseket:
- Bontsa ki az stm32wise-cgwin.zip fájl tartalmát file egy ideiglenes könyvtárba.
- Bontsa ki és indítsa el az STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe fájlt file és kövesse a képernyőn megjelenő utasításokat.
STM32CubeWiSE-RadioCodeGenerator SW csomag files
Az STM32CubeWiSE-RadioCodeGenerator SW csomag filea következő mappákba vannak rendezve:
- alkalmazás: STM32CubeWiSE-RadioCodeGenerator.exe fájlt tartalmaz
- examples: ez a mappa a következő almappákba van rendezve:
- kód: ez a mappa tartalmazza a folyamatgráfokat plample már exportálva C kódként, készen arra, hogy beillesszék egy alkalmazásprojektbe
- flowgraphs: ez a mappa néhány plampAz autonóm MRSUBG szekvenszerműveletek forgatókönyvei
Kiadási megjegyzések és licenc files a gyökérmappában találhatók.
STM32CubeWiSE-RadioCodeGenerator szoftver leírása
- Ez a rész az STM32CubeWiSE-RadioCodeGenerator alkalmazás fő funkcióit írja le. A segédprogram futtatásához kattintson az STM32CubeWiSE-RadioCodeGenerator ikonra.
Az STM32CubeWiSE-RadioCodeGenerator elindítása után megjelenik az alkalmazás főablakja. A következőkből áll:
- Globális menü és eszköztár
- A folyamatábra vizuális fogd és vidd ábrázolása
- A SeqAction konfigurációs szakasz (csak akkor látható, ha egy SeqAction éppen szerkesztés alatt áll)
Folyamábra készítése
Alapok
A folyamatábrák két lépésben készülnek:
- Adja hozzá a SeqActions elemet a folyamatábrázhoz. Ezt megteheti az eszköztár „Művelet hozzáadása” gombjával, a globális menüvel (Szerkesztés → Művelet hozzáadása) vagy a „Ctrl+A” billentyűkombinációval.
- Csatlakoztassa a SeqActiont a belépési ponthoz és egymáshoz művelet-átmeneti nyilak rajzolásával.
A feltételek, amelyek mellett ezek az átmenetek bekövetkeznek, később kerülnek meghatározásra (lásd a 3.2.1. szakaszt: Szabályozási folyamat).
Navigálás a folyamatábrán, műveletek húzása
A folyamatgráf sakktáblájának hátterét az egérmutatóval húzva (bal klikk) a viewA flowgraph portja állítható. Az egér görgetőkerekével lehet nagyítani és kicsinyíteni. Kattintson bárhová egy műveletre (kivéve a kimeneti portokat, a törlés gombot és a szerkesztés gombot) egy művelet kiválasztásához. A műveletek a folyamatábrán elrendezhetők a bal egérgombbal történő húzással.
Művelet-átmenetek hozzáadása
- A 2. ábrán látható módon minden műveletnek két „kimeneti portja” van, a NextAction1 (NA1) és a NextAction2 (NA2) néven, amelyek a művelet befejezése után végrehajtott SeqAction-ekhez kapcsolhatók. Plample, a NextAction1 használható bizonyos műveletek végrehajtására, ha az aktuális művelet sikeres volt, és a NextAction2 elindítható sikertelenség esetén.
- Műveletátmenet létrehozásához vigye az egérmutatót az egyik kimeneti port fölé, nyomja meg a bal egérgombot, és mozgassa az egérmutatót egy átmenet nyíl húzásához. Vigye az egérmutatót egy másik SeqAction bal oldalán lévő bemeneti portra, és engedje fel a bal egérgombot, hogy a kapcsolat állandó legyen. Műveletátmenet eltávolításához ismételje meg a művelet átmenet létrehozásának lépéseit, de engedje fel a bal egérgombot valahol a sakktábla háttere fölött.
- Ha egy kimenetet (NextAction1, NextAction2) nem csatlakoztatunk, a szekvenszer leáll, ha ez a következő művelet elindul.
- Győződjön meg arról, hogy az „Entry Point”-ot is csatlakoztatta valamelyik SeqAction bemeneti portjához. Ez a SeqAction az első, amely végrehajtódik, amint a szekvenszer aktiválódik.
Műveletek szerkesztése és törlése
- A SeqActions a SeqAction bal felső sarkában található ceruzagombra kattintva szerkeszthető. A jobb felső sarokban lévő piros keresztre kattintva törölhető (lásd 3. ábra). A SeqAction törlése eltávolítja a bejövő és kimenő műveletek átmeneteit is.
SeqAction konfiguráció
A SeqActions egy füles konfigurációs felületen keresztül konfigurálható, amely a folyamatábra egyes műveleteinek bal felső sarkában található ceruzagombbal érhető el. Ez az interfész lényegében az ActionConfiguration RAM tábla tartalmát konfigurálja az adott művelethez, amely mind a vezérlési folyamathoz kapcsolódó konfigurációs lehetőségekből, mind a dinamikus regiszter tartalmából áll. A dinamikus regiszter tartalma vagy manuálisan konfigurálható minden regiszterérték teljes vezérlésével (lásd: 3.2.3. szakasz: Speciális rádiókonfiguráció), vagy egy egyszerűsített interfészen keresztül (lásd: 3.2.2. szakasz: Alapvető rádiókonfiguráció). Az egyszerűsített felület szinte minden felhasználási esetre elegendő.
Az áramlás szabályozása
A vezérlési folyamat lap (lásd: 4. ábra) tartalmaz néhány alapvető konfigurációs lehetőséget, például a művelet nevét és a művelet időtúllépési időközét. A művelet neve nem csak a folyamatábra megjelenítésére szolgál, hanem a generált forráskódba is átkerül.
- A vezérlési folyamat lap (lásd: 4. ábra) tartalmaz néhány alapvető konfigurációs lehetőséget, például a művelet nevét és a művelet időtúllépési időközét. A művelet nevét nem csak a folyamatábra megjelenítésére használják, hanem átviszik a generált forráskódba is.
- A legfontosabb, hogy a vezérlőfolyamat lap konfigurálja azt a feltételt, amelytől függ a NextAction1 / NextAction2-re való áttérés, valamint az átmeneti intervallumot és a jelzőket. Az átmenet feltétele a „…” feliratú gombra kattintva konfigurálható, amitől az 5. ábrán látható maszkválasztó párbeszédablak jelenik meg. Az átmeneti intervallum módosította a RAM-tábla NextAction1Interval / NextAction2Interval tulajdonságát. Ennek az intervallumnak a jelentésével és a SleepEn / ForceReload / ForceClear jelzők jelentőségével kapcsolatos további információkért tekintse meg az STM32WL3x referencia kézikönyvet [1].
- Ezen a lapon a SeqAction blokk rövid leírása is hozzáadható. Ezt a leírást csak dokumentációs célokra használjuk, és forráskód megjegyzésként átviszik a generált forráskódba.
Alap rádiókonfiguráció
Az alapvető rádiókonfigurációs lap három részre osztható:
- Egy szakasz a tetején, ahol minden művelet két legfontosabb paramétere be van állítva: a végrehajtandó parancs (TX, RX, NOP, SABORT stb.) és adott esetben az átvinni kívánt csomag hossza.
- Egy rész a bal oldalon, ahol a tényleges rádióparaméterek, például: vivőfrekvencia, adatsebesség, modulációs tulajdonságok, adatpuffer küszöbértékek és időzítők vannak konfigurálva.
- A jobb oldali rész, ahol a CPU megszakítások egyedileg engedélyezhető. Minden bejelölt megszakításhoz egy megszakításkezelő generálódik. Ez alapvetően az RFSEQ_IRQ_ENABLE regiszter tartalmát konfigurálja.
A különböző rádióparaméterek jelentését az STM32WL3x referencia kézikönyvben [1] találja.
Speciális rádiókonfiguráció
- Ha az alapvető rádiókonfigurációs lapon keresztül elérhető konfigurációs lehetőségek (3.2.2. szakasz: Alapvető rádiókonfiguráció) nem elegendőek, a továbbfejlesztett STM32WL3x rádiókonfigurációs lap lehetővé teszi tetszőleges dinamikus regisztertartalom beállítását. A speciális konfigurációs lapot a Speciális konfiguráció jelölőnégyzet bejelölésével engedélyezheti a füles konfigurációs felület jobb felső sarkában.
- Az alap és a haladó konfigurációk egyidejű használata nem lehetséges, a felhasználónak kell választania az egyiket vagy a másikat. Természetesen lehetőség van a generált forráskód utólagos manuális szerkesztésére és az esetlegesen hiányzó konfigurációs opciók hozzáadására is.
Globális konfigurációs párbeszédpanel
- A „Globális projektbeállítások” párbeszédpanel a „Globális beállítások” eszköztár gombjával érhető el. A párbeszédpanel tartalmazza a statikus regiszter tartalmának konfigurációs opcióit, valamint további projektbeállításokat. Vegye figyelembe, hogy a statikus regiszter konfigurációs opcióinak csak egy kis része konfigurálható ezen a párbeszédpanelen. Ezek az opciók csak az STM32CubeWiSE-RadioCodeGenerator segítségével történő alkalmazásprototípus-alkalmazások felgyorsítására szolgálnak.
- Általában elvárható, hogy a statikus regiszter tartalma az alkalmazás kézzel írt forráskódjában legyen beállítva.
- A többi projektbeállítás jelentését maga a párbeszédpanel magyarázza el.
- A statikus regiszter tartalmából közvetlenül a globális konfigurációs RAM-tábla létrehozása előtt beszúrt további C-kód is megadható. Ez a mező használható statikus regiszterértékek beállítására, amelyek nem érhetők el a mellékelt statikus regiszter konfigurációs maszkján keresztül.
Kódgenerálás
A folyamatábra lefordítható egy teljes projekt C forráskódjává az eszköztár Kód generálása gombjának megnyomásával. A létrehozott projektmappa nem tartalmaz projektet files IAR, Keil® vagy GCC esetén. Ezek files-t manuálisan kell hozzáadni az STMWL3x projekthez.
Ez a létrehozott projektmappastruktúra:
Projekt mappa
- inc
- SequencerFlowgraph.h: fejléc file a SequencerFlowgraph.c számára, statikus. Ne szerkessze ezt.
- stm32wl3x_hal_conf.h: STM32WL3x HAL konfiguráció file, statikus.
- src
- SequencerFlowgraph.c: flowgraph definíció. Ez a fontos file amely a szekvenszer-illesztőprogramot használja a globális konfigurációs és a műveletkonfigurációs RAM-táblázatok meghatározásához. Automatikusan generált, ne szerkessze.
- main.c: Projekt fő file amely bemutatja, hogyan kell betölteni és alkalmazni a folyamatábra-definíciót. Statikus, szükség szerint módosítsa.
- A main.c vagy az stm32wl3x_hal_conf.h szerkesztéséhez válassza a felülírási viselkedés Megtartás lehetőséget a projektbeállításokban. Így csak a SequencerFlowgraph.c kerül felülírásra.
A generált kód importálása CubeMX example
STM32CubeWiSE-RadioCodeGenerator által generált projekt importálása CubeMX ex-beample (MRSUBG_Skeleton), a következő lépéseket kell követni:
- Nyissa meg a mappát, amely a files az STM32CubeWiSE-RadioCodeGenerator által generált, és másolja az „Inc” és „Src” mappákat.
- Illessze be a két mappát az „MRSUBG_Skeleton” mappába, felülírva a már meglévő kettőt.
- Nyissa meg az „MRSUBG_Skeleton” projektet a következő IDE-k egyikében:
- EWARM
- MDK-ARM
- STM32CubeIDE
- Az „MRSUBG_Skeleton” projekten belül adja hozzá a „SequencerFlowghraph.c” fájlt file:
- EWARM-projekt esetén a hozzáadásának elérési útja file a következő: MRSUBG_Skeleton\Application\User
- MDK-ARM projekt esetén a hozzáadásának elérési útja file a következő: MRSUBG_Skeleton\Application/User
- STM32CubeIDE projekt esetén a hozzáadandó elérési út file ugyanaz:
MRSUBG_Skeleton\Application\User
- EWARM-projekt esetén a hozzáadásának elérési útja file a következő: MRSUBG_Skeleton\Application\User
- Az MRSUBG_Skeleton projekten belül adja hozzá az stm32wl3x_hal_uart.c és az stm32wl3x_hal_uart_ex.c fájlokat files a következő elérési útra: MRSUBG_Skeleton\Drivers\STM32WL3x_HAL_Driver. Az elérési út minden IDE-nél ugyanaz. A kettő files a Firmware\Drivers\STM32WL3x_HAL_Driver\Src helyen találhatók.
- A COM-szolgáltatások használatához az stm32wl3x_nucleo_conf.h file, a Firmware\Projects\NUCLEOWL33CC\Examples\MRSUBG\MRSUBG_Skeleton\Inc, módosítani kell a USE_BSP_COM_FEATURE és USE_COM_LOG értékét 1U értékre állítva:
- Másolja a következő kódot az „stm32wl3x_it.c” fájlba, amely az MRSUBG_Skeleton\Application\User mappában található.
Flowgraph plamples
- Négy voltampA folyamatábrák a forráskód mellett találhatók. Ezek az exampAz eszköztáron a „Betöltés” gombra kattintva tölthetők be az STM32CubeWiSE-RadioCodeGenerator programba.
AutoACK_RX
- Az Auto-ACK demó azt szemlélteti, hogyan tud két STM32WL3x eszköz automatikusan beszélni egymással minimális CPU beavatkozással, a szekvenszer hardver segítségével.
- Ez a folyamatábra az A eszköz viselkedését (Auto-Transmit-ACK) valósítja meg. Az A eszközben a szekvenszer vételi állapotban van inicializálva (WaitForMessage), amelyben üzenet érkezésére vár.
- Amint egy érvényes üzenet megérkezik, a szekvenszer automatikusan átviteli állapotba (TransmitACK) vált át, amelyben válaszként egy ACK csomagot küld, a CPU beavatkozása nélkül. Ha ez befejeződött, a szekvenszer visszaáll a kezdeti WaitForMessage állapotba.
- Ez a folyamatábra ugyanazt a viselkedést valósítja meg, mint az MRSUBG_SequencerAutoAck_Rx example az ExampAz STM32Cube WL3 szoftvercsomag les\MRSUBG mappája. Ha az AutoACK_RX villog egy eszközön
Az A, és az AutoACK_TX villog néhány eszközön, B, a két eszköz oda-vissza küld üzeneteket, mint egy ping-pong játékban.
AutoACK_TX
- Az „Auto-ACK” demó azt szemlélteti, hogyan tud két STM32WL3x eszköz automatikusan beszélni egymással minimális CPU beavatkozással a szekvenszer hardver segítségével.
- Ez a folyamatábra a B eszköz viselkedését („Auto-Wait-for-ACK”) valósítja meg. A B eszközben a szekvenszer átviteli állapotban (TransmitMessage) van inicializálva, amelyben üzenetet küld. Az átvitel befejezése után automatikusan vételi állapotba vált, ahol az A eszköztől érkező nyugtára vár (WaitForACK). Amint egy érvényes nyugtázás megérkezik, a szekvenszer visszaáll a kezdeti TransmitMessage állapotába, és az egész folyamat újraindul. Abban az esetben, ha 4 másodpercen belül nem érkezik ACK, időtúllépés lép fel, és a szekvenszer úgyis visszatér TransmitMessage állapotba.
- Ez a folyamatábra ugyanazt a viselkedést valósítja meg, mint az „MRSUBG_SequencerAutoAck_Tx” example az ExampAz STM32Cube WL3 szoftvercsomag les\MRSUBG mappája. Ha az AutoACK_RX villog az egyik eszközön, az A, és az AutoACK_TX egy másik eszközön, a B, akkor a két eszköz oda-vissza küld üzeneteket, mint egy ping-pong játékban.
Hallgass beszélgetés előtt (LBT)
- Ez az example az STM32WL3x referencia kézikönyvből [1] származik. További részletekért tekintse meg ezt a kézikönyvetample.
Szippantás mód
- Ez az example az STM32WL3x referencia kézikönyvből [1] származik. További részletekért tekintse meg ezt a kézikönyvetample.
Revíziótörténet
2. táblázat: Dokumentum felülvizsgálati előzmények
Dátum | Változat | Változások |
21-nov. 2024 | 1 | Kezdeti kiadás. |
10-február 2025 | 2 | Az eszköznév frissítve az STM32WL3x hatókörre. |
FONTOS MEGJEGYZÉS – OLVASSA EL FIGYELMESEN
- Az STMicroelectronics NV és leányvállalatai („ST”) fenntartják a jogot, hogy bármikor, előzetes értesítés nélkül módosítsák, javítsák, bővítsék, módosítsák és tökéletesítsék az ST-termékeket és/vagy ezt a dokumentumot. A vásárlóknak meg kell szerezniük a legfrissebb releváns információkat az ST-termékekről a rendelés leadása előtt. Az ST termékek értékesítése a megrendelés visszaigazolásakor érvényes ST értékesítési feltételek szerint történik.
- Kizárólag a vásárlók felelősek az ST-termékek kiválasztásáért, kiválasztásáért és használatáért, és az ST nem vállal felelősséget az alkalmazási segítségért vagy a vásárlók termékeinek tervezéséért.
- Az ST jelen dokumentumban semmilyen szellemi tulajdonjogra nem ad kifejezett vagy hallgatólagos licencet.
- Az ST-termékeknek az itt leírtaktól eltérő rendelkezésekkel történő viszonteladása érvénytelenít minden, az ST által az ilyen termékre adott garanciát.
- Az ST és az ST logó az ST védjegyei. Az ST védjegyekkel kapcsolatos további információkért látogasson el a www.st.com/trademarks webhelyre. Az összes többi termék- vagy szolgáltatásnév a megfelelő tulajdonosok tulajdona.
- A jelen dokumentumban szereplő információk felülírják és felváltják a jelen dokumentum bármely korábbi verziójában korábban megadott információkat.
- © 2025 STMicroelectronics – Minden jog fenntartva
GYIK
- K: Melyek az STM32CubeWiSE-RadioCodeGenerator minimális rendszerkövetelményei?
- A: A minimális rendszerkövetelmények közé tartozik legalább 2 Gbyte RAM, USB-portok és Adobe Acrobat Reader 6.0.
- K: Hogyan állíthatom be az STM32CubeWiSE-RadioCodeGenerator szoftvercsomagot?
- A: A szoftvercsomag beállításához bontsa ki a mellékelt ZIP-fájl tartalmát file egy ideiglenes könyvtárba, és indítsa el a végrehajtható fájlt file követve a képernyőn megjelenő utasításokat.
Dokumentumok / Források
![]() |
STMicroelectronics UM3399 STM32Cube WiSE rádiós kódgenerátor [pdf] Felhasználói kézikönyv UM3399, UM3399 STM32 Cube WiSE rádiókódgenerátor, UM3399, STM32, Cube WiSE rádiókódgenerátor, rádiókódgenerátor, kódgenerátor, generátor |