Este informe comienza con un resumen conciso de datos y una metodología reproducible para ayudarle a evaluar el dispositivo bajo cargas representativas. Observaciones principales: el rendimiento de la CPU escala de forma casi lineal con la frecuencia de reloj, pero se ve limitado con frecuencia por paradas en la lectura de la memoria flash; el ancho de banda de la SRAM soporta cómodamente tareas de DSP de carga media; el rendimiento de los periféricos está condicionado por los patrones de las ISR y la configuración del DMA; el consumo de energía aumenta de forma no lineal bajo E/S sostenidas a máxima velocidad. Las siguientes secciones definen el alcance, las mediciones y los pasos repetibles para que usted mismo pueda reproducir y ampliar estos bancos de pruebas.
Antecedentes y plataforma de pruebas
Especificaciones clave del GD32F103ZET6 que debe conocer
Punto: Necesita la línea base del núcleo, la memoria y los periféricos antes de interpretar los resultados. Evidencia: El dispositivo es de clase Cortex-M3 con un solo núcleo, una frecuencia de reloj de CPU máxima nominal, flash en chip y SRAM en un paquete de densidad media, con periféricos comunes (ADC, temporizadores, USB FS, CAN, DMA). Explicación: La velocidad de reloj, los estados de espera de la flash y la interconexión del bus influyen más directamente en el tiempo de ejecución observado y en la latencia de las ISR.
Hardware de prueba, cadena de herramientas y configuración de medición
Punto: La reproducibilidad depende de un sistema de medición disciplinado. Evidencia: Las pruebas se realizaron en una placa de evaluación con cableado de E/S aislado, rieles de alimentación regulados e instrumentos de medición (multímetro, osciloscopio, analizador lógico, analizador de potencia); el firmware utilizó un compilador reciente con opciones -O2 y de tiempo de enlace. Explicación: Registre los ajustes de reloj, las compilaciones de depuración frente a las de producción y el aislamiento de las pruebas para que pueda coincidir con precisión con las cifras de potencia y tiempo.
Pruebas de rendimiento sintéticas de CPU y memoria
Rendimiento de la CPU: resultados de CoreMark / Dhrystone
Los bancos de pruebas sintéticos cuantifican el rendimiento de un solo hilo y el impacto de las ISR. Al ejecutar iteraciones con temporizadores de tiempo real y vectores de entrada repetibles, capturamos los bucles de CoreMark mientras alternamos los indicadores del compilador. Estos revelan cómo se comportan el rendimiento del bucle y los cambios de contexto en los bucles de control.
Rendimiento de memoria y flash: latencia y ancho de banda
El comportamiento del subsistema de memoria a menudo dicta el rendimiento en el mundo real. Medimos el ancho de banda de la RAM mediante micro-bancos de pruebas de transmisión tipo memcpy y la latencia de lectura de la flash con núcleos de obtención de instrucciones ajustados. Los bloqueos en la obtención de instrucciones pueden causar degradaciones de hasta un porcentaje de un solo dígito en bucles de control cerrados, e impactos mayores para el código que se ejecuta desde la flash sin caché.
Consejo profesional: Mueva las rutinas ISR críticas a la SRAM para eliminar la variabilidad de la latencia de la flash durante los cambios de alta velocidad.
Pruebas de rendimiento de periféricos y E/S
Análisis: La descarga por DMA suele ofrecer las mayores ganancias de rendimiento; sin DMA, el tiempo de servicio de la ISR limitará las tasas sostenidas de UART y aumentará el jitter para tareas de control críticas en el tiempo. Los periféricos orientados a bus como USB y CAN priorizan las decisiones de diseño, como el trabajo por hilos frente al trabajo diferido.
Pruebas de rendimiento en aplicaciones reales
Conmutación de tareas RTOS y latencia
Las cargas de trabajo reales revelan los efectos combinados del diseño de RTOS e ISR. Al evaluar las tareas de fusión de sensores y las ISR de control de motores, determinamos periodos de tarea seguros y presupuestos de ISR. Las trazas del analizador lógico ayudan a identificar dónde la preemción o la inversión de prioridad ponen en peligro los plazos.
Perfilado de potencia y térmico
El rendimiento sostenido está ligado a la potencia y la temperatura. Mida las corrientes en modo activo y de bajo consumo en cargas de trabajo representativas. Tenga en cuenta que las temperaturas más altas pueden obligar a ciclos de trabajo conservadores o al escalado del reloj en sistemas embebidos de larga duración.
Análisis comparativo y optimización
Verificación de las afirmaciones de la hoja de datos
Las cifras de la hoja de datos son una base, no una garantía. Las discrepancias suelen deberse a la frecuencia de reloj a nivel de placa, EMI o una ubicación del enlazador no ideal. Documentar estas divergencias permite realizar pruebas controladas para aislar las causas raíz.
Optimizaciones prácticas
Los límites comunes son procesables. El perfilado suele destacar los estados de espera de la flash y la contención del bus. Mover el código crítico a la RAM y ajustar las opciones del compilador suele dar como resultado ganancias de porcentaje de dos dígitos.
Lista de verificación para pruebas de rendimiento reproducibles
- ✔ Preparación del hardware (E/S aislada, fuente estable)
- ✔ Comandos exactos de compilación del firmware (Versión/indicadores del compilador)
- ✔ Verificación de los ajustes de reloj y alimentación
- ✔ Archivos de captura sin procesar (Osciloscopio/Analizador Lógico)
- ✔ Etiquetado de artefactos con ID de prueba y marcas de tiempo
- ✔ Instrucciones README para la validación de artefactos
Resumen
El comportamiento medido muestra que la frecuencia de reloj, los estados de espera de la flash y el diseño de IRQ/DMA dominan el rendimiento observado para el GD32F103ZET6; el rendimiento de los periféricos y la potencia escalan con las estrategias de descarga elegidas. Debe seguir la lista de verificación para reproducir las cifras, compararlas con las expectativas de la hoja de datos y aplicar optimizaciones incrementales mientras registra los artefactos para su verificación.
Optimice mediante la ubicación en RAM y el ajuste del compilador.
El DMA es esencial para UART, ADC y USB.
Condiciones consistentes aseguran comparaciones justas.
