🛠 Registrar datos CAN FD en XIAO STM32C5

Seeed Studio XIAO STM32C5 · intermediaire · Configurez le bus CAN FD pour capturer et stocker des trames de données sur le stockage externe de la carte.

Objetivos

Este tutorial tiene como objetivo configurar el controlador CAN FD integrado (FDCAN2) de la XIAO STM32C5 para recibir tramas de datos y registrarlas en la memoria flash externa de 16 MB. Aprenderás a inicializar el bus CAN, gestionar interrupciones y usar el sistema de archivos para el almacenamiento persistente.

Material Necesario

Pasos

  1. Inicialización del Proyecto: Crea un nuevo proyecto en STM32CubeIDE seleccionando el microcontrolador STM32C5A3CG. Activa el reloj externo de 48 MHz para asegurar la precisión temporal requerida por CAN FD.
  1. Configuración de FDCAN2: En el configurador de dispositivos, habilita FDCAN2. Ten en cuenta que el transceptor TCAN3403-Q1 ya está conectado con una resistencia de terminación de 120 Ω. Configura la velocidad del bus (ej: 500 kbps para arbitraje, 2 Mbps para datos) y habilita las interrupciones de recepción.
  1. Gestión de Memoria Externa: La placa dispone de 16 MB de flash externa. Configura el controlador QSPI o SPI correspondiente en el código para acceder a esta memoria. Inicializa un sistema de archivos simple (como LittleFS) para estructurar los datos en archivos.
  1. Código de Recepción y Almacenamiento: Implementa la función de callback de interrupción CAN. En cada trama recibida, lee el ID y los datos. Escribe esta información en un archivo de texto o binario en la flash externa. Asegúrate de añadir una marca de tiempo para cada entrada.
  1. Compilación y Carga: Compila el proyecto y cárgalo en la placa a través del puerto USB-C. Abre el monitor serie para verificar los mensajes de depuración que indican la inicialización exitosa de CAN y del sistema de archivos.

Verificación

Conecta un dispositivo CAN al bus FDCAN2. Envía tramas de datos. Verifica en el monitor serie que las tramas son detectadas. Usa un comando de lectura de archivo para confirmar que los datos se persisten en la memoria externa tras reiniciar la placa.

Para Ir Más Allá

Explora el uso del sensor inercial LSM6DS3TR-C para enriquecer los datos CAN con mediciones de movimiento. Activa el circuito de calefacción programable por PWM para estabilizar las mediciones antes de registrarlas, creando un registro de alta precisión.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales