STMicroelectronics-LOGO

Generador de código de radio WiSE STM3399Cube UM32 de STMicroelectronics

Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-PRODUCT

Instrucciones de uso del producto

  • La aplicación STM32CubeWiSE-RadioCodeGenerator requiere al menos 2 Gbytes de RAM, puertos USB y Adobe Acrobat Reader 6.0.
  • Extraiga el contenido del archivo stm32wise-cgwin.zip file en un directorio temporal.
  • Ejecute STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe file y siga las instrucciones en pantalla.
  • El paquete SW STM32CubeWiSE-RadioCodeGenerator fileLos archivos se organizan en carpetas que incluyen 'aplicación' y 'ex'.amples'.
  • Para crear un diagrama de flujo en STM32CubeWiSE-RadioCodeGenerator:
  • Agregue SeqActions al diagrama de flujo usando la barra de herramientas o el menú global.
  • Conecte SeqActions al punto de entrada y entre sí dibujando flechas de transición de acción.
  • Navegue por el gráfico de flujo arrastrando acciones y agregando transiciones de acciones según sea necesario.

Introducción

  • Este documento describe el paquete SW STM32CubeWiSE-RadioCodeGenerator (STM32CubeWiSEcg) con el generador de código secuenciador MRSUBG STM32WL3x.
  • STM32CubeWiSE-RadioCodeGenerator es una aplicación para PC que se utiliza para crear un diagrama de flujo que define qué acciones del transceptor ejecutar bajo qué condición, utilizando el controlador del secuenciador MRSUBG.
  • La radio Sub-GHz STM32WL3x contiene este secuenciador, que es un mecanismo similar a una máquina de estados que permite la gestión autónoma de transferencias de RF, sin necesidad de intervención de la CPU.
  • Si se requiere la intervención de la CPU, se pueden definir interrupciones. Las acciones del transceptor se pueden organizar en un diagrama de flujo. En este documento, las acciones individuales del transceptor se denominan SeqActions.
  • Sin embargo, el código fuente no es la mejor representación de los diagramas de flujo, ya que oculta su estructura lógica y temporal.
  • STM32CubeWiSE-RadioCodeGenerator aborda este problema proporcionando un método gráfico para crear diagramas de flujo y luego exportando los diagramas de flujo generados como código fuente C para su integración en aplicaciones de usuario.
  • La definición del diagrama de flujo se almacena en la RAM del microcontrolador en forma de:
    • Un conjunto de tablas RAM de ActionConfiguration, enlazadas entre sí mediante punteros. Estos punteros definen las SeqActions, es decir, el tipo de acción (por ejemplo,ample, transmisión, recepción, aborto), así como parámetros de radio específicos de SeqAction y condiciones para transmisiones de acciones.
    • Una tabla RAM única de GlobalConfiguration. Esta define el punto de entrada del diagrama de flujo (la primera SeqAction que se ejecuta), así como algunos valores de indicadores predeterminados y parámetros de radio comunes.
  • Los parámetros de radio, configurables individualmente para cada SeqAction, se almacenan en uno de los registros dinámicos, cuyo contenido forma parte de la tabla RAM ActionConfiguration. Los parámetros de radio que se mantienen fijos durante toda la ejecución del diagrama de flujo (a menos que se modifiquen durante una interrupción de la CPU) se almacenan en registros estáticos, cuyo contenido forma parte de la tabla RAM de configuración global.

Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-1

información general

Licencias
Este documento describe el software que se ejecuta en el microcontrolador STM32WL3x basado en Arm® Cortex ® -M0+.
Nota: Arm es una marca registrada de Arm Limited (o sus subsidiarias) en los EE. UU. Y / o en otros lugares.

Documentos relacionados

Tabla 1. Referencias de documentos

Número Referencia Título
[1] 0511 RM MCU sub-GHz basados ​​en Arm® STM32WL30xx/31xx/33xx

Empezando

  • Esta sección describe todos los requisitos del sistema para ejecutar STM32CubeWiSE-RadioCodeGenerator.
  • También detalla el procedimiento de instalación del paquete de software.

Requisitos del sistema
La aplicación STM32CubeWiSE-RadioCodeGenerator tiene los siguientes requisitos mínimos:

  • PC con procesador Intel® o AMD® que ejecute el sistema operativo Microsoft® Windows 10
  • Al menos 2 Gbytes de RAM
  • Puertos USB
  • Lector Adobe Acrobat 6.0

Configuración del paquete SW STM32CubeWiSE-RadioCodeGenerator
Realice los siguientes pasos:

  1. Extraiga el contenido del archivo stm32wise-cgwin.zip file en un directorio temporal.
  2. Extraiga y ejecute STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe file y siga las instrucciones en pantalla.

Paquete de software STM32CubeWiSE-RadioCodeGenerator files
El paquete SW STM32CubeWiSE-RadioCodeGenerator fileLos archivos se organizan en las siguientes carpetas:

  • aplicación: contiene STM32CubeWiSE-RadioCodeGenerator.exe
  • examples: esta carpeta está organizada en las siguientes subcarpetas:
  • código: esta carpeta contiene los diagramas de flujo ej.ampya exportado como código C, listo para ser inyectado en un proyecto de aplicación
  • Diagramas de flujo: esta carpeta almacena algunos ejemplosampLos escenarios de operaciones autónomas del secuenciador MRSUBG

Notas de la versión y licencia fileLos s se encuentran en la carpeta raíz.

Descripción del software STM32CubeWiSE-RadioCodeGenerator

  • Esta sección describe las funciones principales de la aplicación STM32CubeWiSE-RadioCodeGenerator. Para ejecutar esta utilidad, haga clic en el icono de STM32CubeWiSE-RadioCodeGenerator.

Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-2

Tras iniciar STM32CubeWiSE-RadioCodeGenerator, aparece la ventana principal de la aplicación. Esta consta de:

  • Un menú y una barra de herramientas globales
  • La representación visual de arrastrar y soltar del diagrama de flujo
  • La sección de configuración de SeqAction (solo visible si se está editando una SeqAction)

Construyendo un diagrama de flujo
Lo esencial
Los diagramas de flujo se construyen en dos pasos:

  1. Agregue SeqActions al diagrama de flujo. Puede hacerlo con el botón "Agregar acción" de la barra de herramientas, el menú global (Editar → Agregar acción) o el atajo de teclado "Ctrl+A".
  2. Conecte SeqActions al punto de entrada y entre sí dibujando flechas de transición de acción.

Las condiciones bajo las cuales ocurren estas transiciones se definen más adelante (ver Sección 3.2.1: Flujo de control).

Navegando por el diagrama de flujo, arrastrando acciones
Al arrastrar el fondo de tablero de ajedrez del diagrama de flujo con el puntero del mouse (clic izquierdo), viewEl puerto en el diagrama de flujo se puede ajustar. La rueda del ratón permite acercar y alejar la imagen. Al hacer clic en cualquier parte de una acción (excepto en los puertos de salida, el botón de eliminar y el botón de editar) se selecciona una acción. Las acciones se pueden organizar en el diagrama de flujo arrastrándolas con el botón izquierdo del ratón.

Agregar transiciones de acción

Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-3

  • Como se muestra en la Figura 2, cada acción tiene dos "puertos de salida", llamados NextAction1 (NA1) y NextAction2 (NA2), que pueden conectarse a SeqActions que se ejecutan una vez completada la acción. Por ejemplo:ampes decir, NextAction1 podría usarse para ejecutar alguna acción si la acción actual fue exitosa y NextAction2 podría activarse en caso de falla.
  • Para crear una transición de acción, coloque el puntero del ratón sobre uno de los puertos de salida, presione el botón izquierdo del ratón y arrastre la flecha de transición. Coloque el puntero del ratón sobre el puerto de entrada a la izquierda de otra SeqAction y suelte el botón izquierdo del ratón para que la conexión sea permanente. Para eliminar una transición de acción, repita los pasos para crearla, pero suelte el botón izquierdo del ratón en algún lugar sobre el fondo de tablero de ajedrez.
  • Si una salida (NextAction1, NextAction2) se deja sin conectar, el secuenciador finaliza si se activa esta siguiente acción.
  • Asegúrese de conectar también el "Punto de Entrada" al puerto de entrada de alguna SeqAction. Esta SeqAction es la primera en ejecutarse en cuanto se activa el secuenciador.

Editar y eliminar acciones

Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-4

  • Las SeqActions se pueden editar haciendo clic en el botón con forma de lápiz en la esquina superior izquierda. Se pueden eliminar haciendo clic en la cruz roja en la esquina superior derecha (ver Figura 3). Eliminar una SeqAction también elimina las transiciones de acción entrantes y salientes.

Configuración de SeqAction
Las SeqActions se pueden configurar mediante una interfaz de configuración con pestañas, accesible mediante el botón de lápiz en la esquina superior izquierda de cada acción del diagrama de flujo. Esta interfaz configura el contenido de la tabla RAM ActionConfiguration para la acción en cuestión, que incluye tanto las opciones de configuración relacionadas con el flujo de control como el contenido de los registros dinámicos. Este contenido puede configurarse manualmente, con control total sobre cada valor de registro (véase la Sección 3.2.3: Configuración avanzada de radio), o mediante una interfaz simplificada (véase la Sección 3.2.2: Configuración básica de radio). Esta interfaz simplificada debería ser suficiente para casi todos los casos de uso.

Flujo de control
La pestaña de flujo de control (véase la Figura 4) contiene algunas opciones de configuración básicas, como el nombre de la acción y su intervalo de espera. El nombre de la acción no solo se utiliza para su visualización en el diagrama de flujo, sino que también se transfiere al código fuente generado.

Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-5Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-6

  • La pestaña de flujo de control (véase la Figura 4) contiene algunas opciones de configuración básicas, como el nombre de la acción y su intervalo de espera. El nombre de la acción no solo se utiliza para su visualización en el diagrama de flujo, sino que también se transfiere al código fuente generado.
  • Lo más importante es que la pestaña de flujo de control configura la condición de la que depende una transición a NextAction1 / NextAction2, así como el intervalo de transición y los indicadores. La condición de transición se puede configurar haciendo clic en el botón "...", que abre el cuadro de diálogo de selección de máscara que se muestra en la Figura 5. El intervalo de transición modificó la propiedad NextAction1Interval / NextAction2Interval de la tabla RAM. Consulte el manual de referencia de STM32WL3x [1] para obtener más información sobre el significado de este intervalo y la importancia de los indicadores SleepEn / ForceReload / ForceClear.
  • Además, se puede añadir una breve descripción del bloque SeqAction en esta pestaña. Esta descripción se utiliza únicamente con fines de documentación y se incluye en el código fuente generado como comentario.

Configuración básica de radio

Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-7

La pestaña de configuración básica de radio se puede subdividir en tres partes:

  1. Una sección en la parte superior donde se configuran dos de los parámetros más importantes de cualquier acción: el comando a ejecutar (TX, RX, NOP, SABORT, etc.) y, si aplica, la longitud del paquete a transferir.
  2. Una sección a la izquierda donde se configuran los parámetros de radio reales como: frecuencia portadora, velocidad de datos, propiedades de modulación, umbrales de búfer de datos y temporizadores.
  3. Una sección a la derecha donde se pueden habilitar individualmente las interrupciones de la CPU. Se genera un manejador de interrupciones para cada una de las interrupciones marcadas. Esto configura básicamente el contenido del registro RFSEQ_IRQ_ENABLE.

Consulte el manual de referencia STM32WL3x [1] para conocer el significado de los distintos parámetros de radio.

Configuración de radio avanzada

Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-8

  • Si las opciones de configuración de la pestaña de configuración básica de radio (Sección 3.2.2: Configuración básica de radio) son insuficientes, la pestaña de configuración avanzada de radio STM32WL3x permite configurar el contenido de cualquier registro dinámico. La pestaña de configuración avanzada se activa marcando la casilla "Configuración avanzada" en la esquina superior derecha de la interfaz de configuración con pestañas.
  • No es posible usar las configuraciones básica y avanzada simultáneamente; el usuario debe seleccionar una u otra. Sin embargo, también es posible editar manualmente el código fuente generado posteriormente y añadir opciones de configuración que puedan faltar.

Diálogo de configuración global

Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-9

  • Se puede acceder al cuadro de diálogo "Configuración global del proyecto" mediante el botón "Configuración global" de la barra de herramientas. Este cuadro de diálogo contiene opciones de configuración para el contenido del registro estático, así como ajustes adicionales del proyecto. Tenga en cuenta que solo una pequeña parte de las opciones de configuración del registro estático se pueden configurar a través de este cuadro de diálogo. Estas opciones se ofrecen únicamente para agilizar la creación de prototipos de aplicaciones con STM32CubeWiSE-RadioCodeGenerator.
  • Generalmente se espera que el contenido del registro estático se configure en el código fuente escrito manualmente de la aplicación.
  • El significado de las demás configuraciones del proyecto se explica en el propio cuadro de diálogo.
  • También se puede proporcionar código C adicional que se inserta justo antes de crear la tabla de RAM de configuración global a partir del contenido del registro estático. Este campo permite configurar valores de registros estáticos inaccesibles a través de la máscara de configuración de registros estáticos proporcionada.

Generación de código
El diagrama de flujo se puede traducir a un código fuente C completo del proyecto presionando el botón "Generar código" en la barra de herramientas. La carpeta del proyecto generada no contiene el proyecto. files para IAR, Keil® o GCC. Estos fileLos s deben agregarse manualmente al proyecto STMWL3x.
Esta es la estructura de carpetas del proyecto generada:

Carpeta de proyecto

  • SequencerFlowgraph.h: encabezado file Para SequencerFlowgraph.c, estático. No lo edite.
  • stm32wl3x_hal_conf.h: Configuración de HAL de STM32WL3x file, estático.
  • origen
  • SequencerFlowgraph.c: definición del diagrama de flujo. Este es el punto importante. file Que utiliza el controlador del secuenciador para definir las tablas RAM de configuración global y de configuración de acciones. Generado automáticamente, no editar.
  • main.c: Proyecto principal file Esto demuestra cómo cargar y aplicar la definición del gráfico de flujo. Estático; modifíquelo según sea necesario.
  • Para editar main.c o stm32wl3x_hal_conf.h, seleccione el comportamiento de sobrescritura "Mantener" en la configuración del proyecto. De esta forma, solo se sobrescribirá SequencerFlowgraph.c.

Cómo importar código generado a un CubeMX example
Para importar un proyecto generado por STM32CubeWiSE-RadioCodeGenerator a un CubeMX exampPara ejecutar el comando (MRSUBG_Skeleton), es necesario seguir los siguientes pasos:

  1. Abra la carpeta que contiene el files generado por STM32CubeWiSE-RadioCodeGenerator y copie las carpetas “Inc” y “Src”.
  2. Pegue las dos carpetas en la carpeta “MRSUBG_Skeleton” sobrescribiendo las dos ya presentes.
  3. Abra el proyecto “MRSUBG_Skeleton” en uno de los siguientes IDE:
    • CALIENTE
    • MDK-BRAZO
    • STM32CubeIDE
  4. Dentro del proyecto “MRSUBG_Skeleton”, agregue “SequencerFlowghraph.c” file:
    • Para un proyecto EWARM, la ruta para agregar el file es el siguiente: MRSUBG_Skeleton\Application\UserGenerador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-11
    • Para un proyecto MDK-ARM, la ruta para agregar el file es el siguiente: MRSUBG_Skeleton\Application/UserGenerador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-12
    • Para un proyecto STM32CubeIDE, la ruta para agregar el file es lo mismo:
      MRSUBG_Skeleton\Aplicación\UsuarioGenerador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-13
  5. Dentro del proyecto MRSUBG_Skeleton, agregue stm32wl3x_hal_uart.c y stm32wl3x_hal_uart_ex.c files a la siguiente ruta: MRSUBG_Skeleton\Drivers\STM32WL3x_HAL_Driver. La ruta es la misma para todos los IDE. Los dos fileLos s se encuentran en Firmware\Drivers\STM32WL3x_HAL_Driver\Src.Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-14
  6. Para utilizar las funciones COM, stm32wl3x_nucleo_conf.h file, ubicado en Firmware\Proyectos\NUCLEOWL33CC\ Examples\MRSUBG\MRSUBG_Skeleton\Inc, debe modificarse configurando USE_BSP_COM_FEATURE y USE_COM_LOG en 1U:Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-15
  7. Copie el siguiente código en “stm32wl3x_it.c”, ubicado en MRSUBG_Skeleton\Application\User.

Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-16Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-17

Diagrama de flujo exampLos

  • Cuatro exampLos diagramas de flujo se proporcionan junto con el código fuente. Estos ejemplosampLos archivos se pueden cargar en STM32CubeWiSE-RadioCodeGenerator haciendo clic en el botón “Cargar” en la barra de herramientas.

AutoACK_RX

Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-18

  • La demostración Auto-ACK ilustra cómo dos dispositivos STM32WL3x pueden comunicarse automáticamente entre sí con una mínima intervención de la CPU, con la ayuda del hardware del secuenciador.
  • Este diagrama de flujo implementa el comportamiento (Auto-Transmit-ACK) del dispositivo A. En el dispositivo A, el secuenciador se inicializa en un estado de recepción (WaitForMessage), en el que espera que llegue un mensaje.
  • Una vez recibido un mensaje válido, el secuenciador pasa automáticamente al estado de transmisión (TransmitACK), donde se envía un paquete ACK como respuesta, sin intervención de la CPU. Una vez finalizado, el secuenciador se restablece a su estado inicial de WaitForMessage.
  • Este diagrama de flujo implementa el mismo comportamiento que el ejemplo MRSUBG_SequencerAutoAck_Rxamparchivo del exampCarpeta les\MRSUBG del paquete de software STM32Cube WL3. Si se instala AutoACK_RX en un dispositivo
    A, y AutoACK_TX se actualiza en algún dispositivo, B, los dos dispositivos envían mensajes de ida y vuelta, como en un juego de ping-pong.

AutoACK_TX

Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-19

  • La demostración “Auto-ACK” ilustra cómo dos dispositivos STM32WL3x pueden comunicarse automáticamente entre sí con una mínima intervención de la CPU con la ayuda del hardware del secuenciador.
  • Este diagrama de flujo implementa el comportamiento ("Espera automática de acuse de recibo") del dispositivo B. En el dispositivo B, el secuenciador se inicializa en estado de transmisión (TransmitMessage), donde transmite un mensaje. Una vez finalizada la transmisión, pasa automáticamente a estado de recepción, donde espera un acuse de recibo del dispositivo A (WaitForACK). Una vez que llega un acuse de recibo válido, el secuenciador se restablece a su estado inicial de TransmitMessage y todo el proceso se reinicia. Si no se recibe un acuse de recibo en 4 segundos, se activa un tiempo de espera y el secuenciador vuelve al estado de TransmitMessage.
  • Este diagrama de flujo implementa el mismo comportamiento que el ejemplo “MRSUBG_SequencerAutoAck_Tx”ample del ExampCarpeta les\MRSUBG del paquete de software STM32Cube WL3. Si se instala AutoACK_RX en un dispositivo (A) y AutoACK_TX en otro (B), ambos dispositivos intercambian mensajes, como en una partida de ping-pong.

Escuchar antes de hablar (LBT)

Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-20

  • Este exampEl archivo se ha extraído del manual de referencia del STM32WL3x [1]. Consulte dicho manual para obtener más detalles sobre este ejemplo.ampel.

Modo olfateo

Generador de código de radio WiSE STM3399Cube de STMicroelect-onics-UM32-FIG-21

  • Este exampEl archivo se ha extraído del manual de referencia del STM32WL3x [1]. Consulte dicho manual para obtener más detalles sobre este ejemplo.ampel.

Historial de revisiones

Tabla 2. Historial de revisión del documento

Fecha Versión Cambios
21 de noviembre de 2024 1 Lanzamiento inicial.
10 de febrero de 2025 2 Se actualizó el nombre del dispositivo para incluir el alcance STM32WL3x.

AVISO IMPORTANTE – LEER ATENTAMENTE

  • STMicroelectronics NV y sus subsidiarias (“ST”) se reservan el derecho de realizar cambios, correcciones, mejoras, modificaciones y mejoras a los productos de ST y/o a este documento en cualquier momento y sin previo aviso. Los compradores deben obtener la información relevante más reciente sobre los productos de ST antes de realizar pedidos. Los productos de ST se venden de conformidad con los términos y condiciones de venta de ST vigentes al momento de la confirmación del pedido.
  • Los compradores son los únicos responsables de la elección, selección y uso de los productos de ST y ST no asume ninguna responsabilidad por la asistencia en la aplicación o el diseño de los productos de los compradores.
  • ST no concede aquí ninguna licencia, expresa o implícita, sobre ningún derecho de propiedad intelectual.
  • La reventa de productos ST con disposiciones diferentes a la información aquí establecida anulará cualquier garantía otorgada por ST para dicho producto.
  • ST y el logotipo de ST son marcas comerciales de ST. Para obtener información adicional sobre las marcas comerciales de ST, consulte www.st.com/trademarks. Todos los demás nombres de productos o servicios son propiedad de sus respectivos dueños.
  • La información contenida en este documento reemplaza la información proporcionada previamente en cualquier versión anterior de este documento.
  • © 2025 STMicroelectronics – Todos los derechos reservados

Preguntas frecuentes

  • P: ¿Cuáles son los requisitos mínimos del sistema para STM32CubeWiSE-RadioCodeGenerator?
    • A: Los requisitos mínimos del sistema incluyen al menos 2 Gbytes de RAM, puertos USB y Adobe Acrobat Reader 6.0.
  • P: ¿Cómo puedo configurar el paquete de software STM32CubeWiSE-RadioCodeGenerator?
    • A: Para configurar el paquete de software, extraiga el contenido del zip proporcionado file en un directorio temporal y ejecutar el ejecutable file siguiendo las instrucciones en pantalla.

Documentos / Recursos

Generador de código de radio WiSE STM3399Cube UM32 de STMicroelectronics [pdf] Manual del usuario
Generador de código de radio UM3399, UM3399 STM32 Cube WiSE, UM3399, STM32, generador de código de radio Cube WiSE, generador de código de radio, generador de código, generador

Referencias

Deja un comentario

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados *