STMicroelectronics-LOGO

Générateur de code radio STMicroelectronics UM3399 STM32Cube WiSE

STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur de code radio-PRODUIT

Instructions d'utilisation du produit

  • L'application STM32CubeWiSE-RadioCodeGenerator nécessite au moins 2 Go de RAM, des ports USB et Adobe Acrobat Reader 6.0.
  • Extraire le contenu du stm32wise-cgwin.zip file dans un répertoire temporaire.
  • Lancez le fichier STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe file et suivez les instructions à l'écran.
  • Le package logiciel STM32CubeWiSE-RadioCodeGenerator fileLes s sont organisés en dossiers comprenant « app » et « examples'.
  • Pour créer un diagramme de flux dans STM32CubeWiSE-RadioCodeGenerator :
  • Ajoutez des SeqActions au diagramme de flux à l'aide de la barre d'outils ou du menu global.
  • Connectez les SeqActions au point d'entrée et entre elles en dessinant des flèches de transition d'action.
  • Naviguez dans le graphique de flux en faisant glisser les actions et en ajoutant des transitions d'action selon vos besoins.

Introduction

  • Ce document décrit le package logiciel STM32CubeWiSE-RadioCodeGenerator (STM32CubeWiSEcg) avec le générateur de code séquenceur STM32WL3x MRSUBG.
  • STM32CubeWiSE-RadioCodeGenerator est une application PC utilisée pour créer un organigramme définissant les actions de l'émetteur-récepteur à exécuter dans quelles conditions, à l'aide du pilote séquenceur MRSUBG.
  • La radio Sub-GHz STM32WL3x contient ce séquenceur, qui est un mécanisme de type machine à états qui permet une gestion autonome des transferts RF, sans aucune intervention du processeur.
  • Si une intervention du processeur est requise, des interruptions peuvent être définies. Les actions de l'émetteur-récepteur peuvent être organisées sous forme de graphe de flux. Dans ce document, les actions individuelles de l'émetteur-récepteur sont appelées SeqActions.
  • Cependant, le code source n’est pas la meilleure représentation des graphes de flux, car il masque leur structure logique et temporelle.
  • STM32CubeWiSE-RadioCodeGenerator résout ce problème en fournissant une méthode graphique pour créer des graphes de flux, puis en exportant les graphes de flux générés sous forme de code source C pour l'intégration dans les applications utilisateur.
  • La définition du diagramme de flux est stockée dans la RAM du microcontrôleur sous la forme :
    • Un ensemble de tables RAM ActionConfiguration, liées entre elles par des pointeurs. Ces pointeurs définissent les SeqActions, c'est-à-dire le type d'action (par exemple).ample, transmission, réception, annulation), ainsi que les paramètres radio et conditions spécifiques à SeqAction pour les transmissions d'actions.
    • Une table RAM GlobalConfiguration unique. Elle définit le point d'entrée du graphe (la première SeqAction à exécuter), ainsi que certaines valeurs d'indicateurs par défaut et des paramètres radio courants.
  • Les paramètres radio, configurables individuellement pour chaque SeqAction, sont stockés dans un registre dynamique, dont le contenu fait partie de la table RAM ActionConfiguration. Les paramètres radio, fixes pendant toute l'exécution du graphe (sauf modification lors d'une interruption CPU), sont stockés dans des registres statiques, dont le contenu fait partie de la table RAM de configuration globale.

STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-1

informations générales

Licences
Ce document décrit le logiciel qui s'exécute sur le microcontrôleur basé sur Arm® Cortex ® -M32+ STM3WL0x.
Note: Arm est une marque déposée d'Arm Limited (ou de ses filiales) aux États-Unis et/ou ailleurs.

Documents connexes

Tableau 1. Références des documents

Nombre Référence Titre
[1] RM0511 Microcontrôleurs sub-GHz basés sur Arm® STM32WL30xx/31xx/33xx

Commencer

  • Cette section décrit toutes les exigences système pour exécuter STM32CubeWiSE-RadioCodeGenerator.
  • Il détaille également la procédure d'installation du progiciel.

Configuration requise
L'application STM32CubeWiSE-RadioCodeGenerator a les exigences minimales suivantes :

  • PC avec un processeur Intel® ou AMD® exécutant le système d'exploitation Microsoft® Windows 10
  • Au moins 2 Go de RAM
  • Ports USB
  • Adobe Acrobat Reader 6.0

Configuration du package logiciel STM32CubeWiSE-RadioCodeGenerator
Effectuez les étapes suivantes :

  1. Extraire le contenu du stm32wise-cgwin.zip file dans un répertoire temporaire.
  2. Extraire et lancer le fichier STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe file et suivez les instructions à l'écran.

Pack logiciel STM32CubeWiSE-RadioCodeGenerator files
Le package logiciel STM32CubeWiSE-RadioCodeGenerator files sont organisés dans les dossiers suivants :

  • application : contient STM32CubeWiSE-RadioCodeGenerator.exe
  • examples : ce dossier est organisé dans les sous-dossiers suivants :
  • code : ce dossier contient les organigrammes example déjà exporté sous forme de code C, prêt à être injecté dans un projet d'application
  • organigrammes : ce dossier stocke certains examples scénarios d'opérations autonomes du séquenceur MRSUBG

Notes de publication et licence files sont situés dans le dossier racine.

Description du logiciel STM32CubeWiSE-RadioCodeGenerator

  • Cette section décrit les principales fonctions de l'application STM32CubeWiSE-RadioCodeGenerator. Pour exécuter cet utilitaire, cliquez sur l'icône STM32CubeWiSE-RadioCodeGenerator.

STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-2

Après avoir lancé STM32CubeWiSE-RadioCodeGenerator, la fenêtre principale de l'application apparaît. Elle comprend :

  • Un menu global et une barre d'outils
  • La représentation visuelle par glisser-déposer du diagramme de flux
  • La section de configuration SeqAction (visible uniquement si une SeqAction est en cours d'édition)

Construire un organigramme
Notions de base
Les organigrammes sont construits en deux étapes :

  1. Ajoutez des SeqActions au diagramme. Pour ce faire, utilisez le bouton « Ajouter une action » de la barre d'outils, le menu général (Édition → Ajouter une action) ou le raccourci clavier « Ctrl+A ».
  2. Connectez les SeqActions au point d'entrée et entre elles en dessinant des flèches de transition d'action.

Les conditions dans lesquelles ces transitions se produisent sont définies plus loin (voir Section 3.2.1 : Flux de contrôle).

Navigation dans le diagramme de flux, actions de glissement
En faisant glisser l'arrière-plan en damier du diagramme de flux avec le pointeur de la souris (clic gauche), le viewLes ports du diagramme peuvent être ajustés. La molette de la souris permet de zoomer et dézoomer. Cliquez n'importe où sur une action (sauf sur les ports de sortie, les boutons Supprimer et Modifier) ​​pour la sélectionner. Les actions peuvent être organisées dans le diagramme en les faisant glisser avec le bouton gauche de la souris.

Ajout de transitions d'action

STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-3

  • Comme le montre la figure 2, chaque action possède deux ports de sortie, appelés NextAction1 (NA1) et NextAction2 (NA2), qui peuvent être connectés à des SeqActions exécutées une fois l'action terminée. Par exempleample, NextAction1 pourrait être utilisé pour exécuter une action si l'action en cours a réussi et NextAction2 pourrait être déclenché en cas d'échec.
  • Pour créer une transition d'action, survolez l'un des ports de sortie, appuyez sur le bouton gauche et déplacez le pointeur pour tracer une flèche de transition. Déplacez le pointeur sur le port d'entrée à gauche d'une autre SeqAction et relâchez le bouton gauche pour rendre la connexion permanente. Pour supprimer une transition d'action, répétez les étapes de création, mais relâchez le bouton gauche de la souris au-dessus du fond en damier.
  • Si une sortie (NextAction1, NextAction2) n'est pas connectée, le séquenceur se termine si cette action suivante est déclenchée.
  • Assurez-vous également de connecter le « Point d'entrée » au port d'entrée d'une SeqAction. Cette SeqAction est la première à être exécutée dès le déclenchement du séquenceur.

Actions de modification et de suppression

STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-4

  • Les SeqActions peuvent être modifiées en cliquant sur le crayon en haut à gauche. Elles peuvent être supprimées en cliquant sur la croix rouge en haut à droite (voir figure 3). La suppression d'une SeqAction supprime également toutes les transitions d'action entrantes et sortantes.

Configuration de SeqAction
Les SeqActions peuvent être configurées via une interface de configuration à onglets, accessible via le bouton crayon en haut à gauche de chaque action du diagramme. Cette interface configure le contenu de la table RAM ActionConfiguration pour l'action concernée, comprenant à la fois les options de configuration liées au flux de contrôle et le contenu des registres dynamiques. Ce contenu peut être configuré manuellement avec un contrôle total sur chaque valeur de registre (voir Section 3.2.3 : Configuration radio avancée) ou via une interface simplifiée (voir Section 3.2.2 : Configuration radio de base). Cette interface simplifiée devrait convenir à la plupart des cas d'utilisation.

Flux de contrôle
L'onglet « Flux de contrôle » (voir figure 4) contient quelques options de configuration de base, telles que le nom de l'action et son délai d'expiration. Le nom de l'action est non seulement utilisé pour l'affichage dans le diagramme de flux, mais également dans le code source généré.

STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-5STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-6

  • L'onglet Flux de contrôle (voir Figure 4) contient quelques options de configuration de base, telles que le nom de l'action et son délai d'expiration. Le nom de l'action n'est pas seulement utilisé pour l'affichage dans le diagramme de flux, mais également pour le code source généré.
  • Plus important encore, l'onglet de flux de contrôle configure la condition de transition vers NextAction1 / NextAction2, ainsi que l'intervalle et les indicateurs de transition. La condition de transition peut être configurée en cliquant sur le bouton « … », ce qui fait apparaître la boîte de dialogue de sélection de masque illustrée à la figure 5. L'intervalle de transition modifie la propriété NextAction1Interval / NextAction2Interval de la table RAM. Consultez le manuel de référence STM32WL3x [1] pour plus d'informations sur la signification de cet intervalle et des indicateurs SleepEn / ForceReload / ForceClear.
  • De plus, une brève description du bloc SeqAction peut être ajoutée dans cet onglet. Cette description est uniquement utilisée à des fins de documentation et est reprise dans le code source généré sous forme de commentaire.

Configuration radio de base

STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-7

L'onglet de configuration radio de base peut être subdivisé en trois parties :

  1. Une section en haut où sont configurés deux des paramètres les plus importants de toute action : la commande à exécuter (TX, RX, NOP, SABORT, etc.) et, le cas échéant, la longueur du paquet à transférer.
  2. Une section sur la gauche où les paramètres radio réels tels que : la fréquence porteuse, le débit de données, les propriétés de modulation, les seuils de tampon de données et les minuteries sont configurés.
  3. Une section à droite permet d'activer individuellement les interruptions du processeur. Un gestionnaire d'interruption est généré pour chaque interruption cochée. Cela configure le contenu du registre RFSEQ_IRQ_ENABLE.

Reportez-vous au manuel de référence STM32WL3x [1] pour connaître la signification des différents paramètres radio.

Configuration radio avancée

STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-8

  • Si les options de configuration proposées via l'onglet de configuration radio de base (Section 3.2.2 : Configuration radio de base) sont insuffisantes, l'onglet de configuration radio avancée du STM32WL3x permet de définir le contenu des registres dynamiques de manière arbitraire. Pour activer l'onglet de configuration avancée, cochez la case « Configuration avancée » en haut à droite de l'interface de configuration à onglets.
  • Il n'est pas possible d'utiliser simultanément les configurations de base et avancées ; l'utilisateur doit choisir l'une ou l'autre. Cependant, il est bien sûr possible de modifier manuellement le code source généré ultérieurement et d'ajouter des options de configuration éventuellement manquantes.

Boîte de dialogue de configuration globale

STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-9

  • La boîte de dialogue « Paramètres globaux du projet » est accessible via le bouton « Paramètres globaux » de la barre d'outils. Elle contient des options de configuration pour le contenu des registres statiques, ainsi que des paramètres de projet supplémentaires. Notez que seule une petite partie des options de configuration des registres statiques peut être configurée via cette boîte de dialogue. Ces options sont uniquement fournies pour accélérer le prototypage d'applications avec STM32CubeWiSE-RadioCodeGenerator.
  • On s'attend généralement à ce que le contenu du registre statique soit configuré dans le code source écrit manuellement de l'application.
  • La signification des autres paramètres du projet est expliquée dans la boîte de dialogue elle-même.
  • Un code C supplémentaire, inséré juste avant la création de la table RAM de configuration globale à partir du contenu du registre statique, peut également être fourni. Ce champ permet de définir des valeurs de registre statique inaccessibles via le masque de configuration fourni.

Génération de code
Le diagramme de flux peut être converti en code source C complet en cliquant sur le bouton « Générer le code » de la barre d'outils. Le dossier du projet généré ne contient pas de projet. files pour IAR, Keil® ou GCC. Ceux-ci files doit être ajouté manuellement au projet STMWL3x.
Voici la structure du dossier de projet généré :

Dossier de projet

  • Inc.
  • SequencerFlowgraph.h : en-tête file Pour SequencerFlowgraph.c, statique. Ne pas modifier.
  • stm32wl3x_hal_conf.h : configuration HAL STM32WL3x file, statique.
  • source
  • SequencerFlowgraph.c : définition du graphe de flux. C'est l'élément important. file qui utilise le pilote du séquenceur pour définir les tables RAM de configuration globale et de configuration d'action. Généré automatiquement, ne pas modifier.
  • main.c : Projet principal file Cela montre comment charger et appliquer la définition du graphe de flux. Statique, à modifier selon vos besoins.
  • Pour modifier le fichier main.c ou le fichier stm32wl3x_hal_conf.h, sélectionnez « Conserver » dans les paramètres du projet. Ainsi, seul le fichier SequencerFlowgraph.c sera écrasé.

Comment importer le code généré dans un CubeMX example
Pour importer un projet généré par STM32CubeWiSE-RadioCodeGenerator dans un CubeMX example (MRSUBG_Skeleton), il faut suivre les étapes suivantes :

  1. Ouvrez le dossier contenant le files généré par STM32CubeWiSE-RadioCodeGenerator et copiez les dossiers « Inc » et « Src ».
  2. Collez les deux dossiers dans le dossier « MRSUBG_Skeleton » en écrasant les deux déjà présents.
  3. Ouvrez le projet « MRSUBG_Skeleton » dans l’un des IDE suivants :
    • CHAUD
    • MDK-ARM
    • STM32CubeIDE
  4. Dans le projet « MRSUBG_Skeleton », ajoutez le fichier « SequencerFlowghraph.c » file:
    • Pour un projet EWARM, le chemin pour ajouter le file est le suivant : MRSUBG_Skeleton\Application\UserSTMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-11
    • Pour un projet MDK-ARM, le chemin pour ajouter le file est le suivant : MRSUBG_Skeleton\Application/UserSTMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-12
    • Pour un projet STM32CubeIDE, le chemin pour ajouter le file c'est le même:
      MRSUBG_Skeleton\Application\UtilisateurSTMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-13
  5. Dans le projet MRSUBG_Skeleton, ajoutez stm32wl3x_hal_uart.c et stm32wl3x_hal_uart_ex.c files vers le chemin suivant : MRSUBG_Skeleton\Drivers\STM32WL3x_HAL_Driver. Ce chemin est identique pour tous les IDE. Les deux files sont situés dans Firmware\Drivers\STM32WL3x_HAL_Driver\Src.STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-14
  6. Pour utiliser les fonctionnalités COM, stm32wl3x_nucleo_conf.h file, situé sur Firmware\Projects\NUCLEOWL33CC\ Examples\MRSUBG\MRSUBG_Skeleton\Inc, doit être modifié en définissant USE_BSP_COM_FEATURE et USE_COM_LOG sur 1U :STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-15
  7. Copiez le code suivant dans « stm32wl3x_it.c », situé dans MRSUBG_Skeleton\Application\User.

STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-16STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-17

Diagramme de flux examples

  • Quatre exampLes organigrammes sont fournis avec le code source. Ces exemplesampLes fichiers peuvent être chargés dans STM32CubeWiSE-RadioCodeGenerator en cliquant sur le bouton « Charger » dans la barre d'outils.

AutoACK_RX

STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-18

  • La démonstration Auto-ACK illustre comment deux périphériques STM32WL3x peuvent communiquer automatiquement entre eux avec une intervention minimale du processeur, à l'aide du matériel du séquenceur.
  • Ce diagramme de flux implémente le comportement (Auto-Transmit-ACK) du périphérique A. Dans le périphérique A, le séquenceur est initialisé dans un état de réception (WaitForMessage), dans lequel il attend l'arrivée d'un message.
  • Dès réception d'un message valide, le séquenceur passe automatiquement en mode transmission (TransmitACK), où un paquet ACK est envoyé en réponse, sans intervention du processeur. Une fois cette étape terminée, le séquenceur revient à son état initial WaitForMessage.
  • Ce diagramme de flux implémente le même comportement que l'ex MRSUBG_SequencerAutoAck_Rxample de l'ExampDossier les\MRSUBG du progiciel STM32Cube WL3. Si AutoACK_RX est flashé sur un périphérique
    A, et AutoACK_TX est flashé sur un appareil, B, les deux appareils envoient des messages dans les deux sens, comme dans un jeu de ping-pong.

AutoACK_TX

STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-19

  • La démonstration « Auto-ACK » illustre comment deux appareils STM32WL3x peuvent communiquer automatiquement entre eux avec une intervention minimale du processeur à l'aide du matériel du séquenceur.
  • Ce diagramme implémente le comportement (« Auto-Wait-for-ACK ») du périphérique B. Dans ce périphérique, le séquenceur est initialisé en état de transmission (TransmitMessage), où il transmet un message. Une fois la transmission terminée, il passe automatiquement en état de réception, où il attend un accusé de réception du périphérique A (WaitForACK). Dès réception d'un accusé de réception valide, le séquenceur est réinitialisé à son état initial TransmitMessage et le processus recommence. Si aucun accusé de réception n'est reçu dans les 4 secondes, un délai d'attente est déclenché et le séquenceur revient quand même à l'état TransmitMessage.
  • Ce diagramme de flux implémente le même comportement que l'exemple « MRSUBG_SequencerAutoAck_Tx »ample de l'ExampDossier les\MRSUBG du package logiciel STM32Cube WL3. Si AutoACK_RX est flashé sur un périphérique (A) et AutoACK_TX sur un autre périphérique (B), les deux périphériques échangent des messages, comme dans une partie de ping-pong.

Écouter avant de parler (LBT)

STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-20

  • Cet exampLe code est tiré du manuel de référence du STM32WL3x [1]. Consultez ce manuel pour plus de détails sur cet exemple.ample.

Mode reniflement

STMicroelect-onics-UM3399-STM32Cube-WiSE-Générateur-de-code-radio-FIG-21

  • Cet exampLe code est tiré du manuel de référence du STM32WL3x [1]. Consultez ce manuel pour plus de détails sur cet exemple.ample.

Historique des révisions

Tableau 2. Historique des révisions du document

Date Version Changements
21er novembre 2024 1 Version initiale.
10-févr.-2025 2 Nom de l'appareil mis à jour pour couvrir STM32WL3x.

AVIS IMPORTANT – À LIRE ATTENTIVEMENT

  • STMicroelectronics NV et ses filiales (« ST ») se réservent le droit d'apporter des modifications, des corrections, des améliorations et des perfectionnements aux produits ST et/ou au présent document à tout moment et sans préavis. Les acheteurs doivent se procurer les dernières informations pertinentes sur les produits ST avant de passer commande. Les produits ST sont vendus conformément aux conditions générales de vente de ST en vigueur au moment de l'accusé de réception de la commande.
  • Les acheteurs sont seuls responsables du choix, de la sélection et de l'utilisation des produits ST et ST n'assume aucune responsabilité pour l'assistance à l'application ou la conception des produits des acheteurs.
  • Aucune licence, expresse ou implicite, sur aucun droit de propriété intellectuelle n'est accordée par ST ici.
  • La revente de produits ST avec des dispositions différentes des informations énoncées dans le présent document annulera toute garantie accordée par ST pour ce produit.
  • ST et le logo ST sont des marques déposées de ST. Pour plus d'informations sur les marques ST, consultez www.st.com/trademarks. Tous les autres noms de produits ou de services sont la propriété de leurs propriétaires respectifs.
  • Les informations contenues dans ce document remplacent et annulent les informations précédemment fournies dans toutes les versions antérieures de ce document.
  • © 2025 STMicroelectronics – Tous droits réservés

FAQ

  • Q : Quelle est la configuration système minimale requise pour STM32CubeWiSE-RadioCodeGenerator ?
    • A: La configuration minimale requise comprend au moins 2 Go de RAM, des ports USB et Adobe Acrobat Reader 6.0.
  • Q : Comment puis-je configurer le progiciel STM32CubeWiSE-RadioCodeGenerator ?
    • A: Pour installer le progiciel, extrayez le contenu du zip fourni file dans un répertoire temporaire et lancez l'exécutable file en suivant les instructions à l'écran.

Documents / Ressources

Générateur de code radio STMicroelectronics UM3399 STM32Cube WiSE [pdf] Manuel de l'utilisateur
Générateur de code radio UM3399, UM3399 STM32 Cube WiSE, UM3399, STM32, Cube WiSE, Générateur de code radio, Générateur de code, Générateur

Références

Laisser un commentaire

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués *