¿Seguimos usando STM32 en proyectos pequeños o ya nos hemos pasado completamente a marcas chinas?

Recientemente, la empresa está definiendo su estrategia de selección de materiales para el próximo año, y la consigna de la dirección es: siempre que sea posible, priorizar componentes chinos. He revisado mis proyectos actuales, que en su mayoría son lotes pequeños (de cientos a unos pocos miles de unidades) y con requisitos de rendimiento moderados (es suficiente con niveles Cortex-M0+/M4).

Actualmente las opciones que estoy considerando son:

  • STM32G0/G4: Su ecosistema es maduro, pero el precio sigue siendo un 30-50% más alto que los chinos. Aunque los plazos de entrega han mejorado, me preocupa el riesgo geopolítico.

  • GD32F3/F4: Son compatibles pinta a pinta con STM32, pero he tenido problemas con la compatibilidad de USB y CAN; algunos registros de periféricos presentan diferencias.

  • CH32V307 (QinHeng Micro): Arquitectura RISC-V, el precio es realmente bueno, pero su ecosistema es muy débil; incluso me costó conseguir un depurador.

  • APM32 (Geek Semiconductor): Se dice que tienen buena compatibilidad con STM32, pero poca gente de mi entorno los usa y no me siento seguro.

  • N32 (National Technology): Su punto fuerte es la seguridad y cifrado, pero nosotros no lo necesitamos; su precio es intermedio.

Me gustaría conocer vuestras experiencias prácticas:

  1. ¿Qué marca你们 elegís actualmente para proyectos de bajo volumen (sin considerar los costes extremos de producción en serie)?

  2. Durante la sustitución con componentes chinos, ¿qué problemas no suelen mencionarse en los documentos?

  3. Si un cliente insiste en usar STM32, ¿cómo les convencéis para que opten por componentes chinos?

¡Muchas gracias por adelantado!

Ya casi no uso ST en lotes pequeños, a menos que el cliente insista mucho. Llevo más de un año utilizando la serie GD32F470, su rendimiento es bueno, pero tiene algunos problemas ocultos:

  1. Los ciclos de espera del Flash son diferentes a los de ST; al sobreclockear, es fácil entrar en HardFault, hay que ajustar manualmente la latencia del Flash.

  2. La tasa de muestreo del ADC se indica como 1 MSPS, pero en realidad tiene 1-2 bits menos de precisión efectiva que ST, tener cuidado al realizar capturas de alta precisión.

  3. Lo más molesto es que en algunos lotes de chips el I2C tiene un error: la temporización de la señal ACK es incorrecta y no funciona bien con ciertos sensores. Se recomienda probar primero con GD32 en lotes pequeños, pero asegurarse de dejar suficiente tiempo para depuración.

He probado el CH32V307, comentaré mi experiencia real:

  • El precio es realmente bajo, por unos pocos yuanes obtienes rendimiento a nivel M3

  • Pero el ecosistema de depuración de RISC-V es muy problemático, WCH-Link a menudo no se conecta y OpenOCD no está bien soportado

  • El estilo de sus funciones de biblioteca es completamente diferente al de HAL, lo que aumenta el coste de aprendizaje

  • La parte positiva es que los periféricos USB están bien implementados, hacer USB Device es sencillo

Resumen: adecuado para estudiantes o productos de consumo extremadamente sensibles al costo, pero mejor evitarlo para productos industriales, ya que si surge un problema es muy difícil de resolver.

Desde el punto de vista de un FAE, diré algunas cosas. En realidad, la diferencia principal de los microcontroladores nacionales chinos radica en la “calidad oculta”: con los chips de ST, si diseñas según el manual, el 99% de las veces no tendrás problemas; con los nacionales, quizás el 95% funcionen bien, pero ese 5% de casos límite te harán perder la cabeza depurando. Por ejemplo, el RTC de cierta marca nacional se desvía en bajas temperaturas; el PLL de otra marca tiende a perder el bloqueo cuando hay caídas de voltaje. Estos problemas no están escritos en los manuales y solo se revelan tras un uso masivo.

Se recomienda seleccionar microcontroladores nacionales para proyectos de baja escala, pero siempre asegurándose de:

  1. Realizar pruebas completas de temperatura alta y baja, EMC y ESD para sondeo

  2. Establecer contacto directo con el FAE del fabricante (añadir WeChat), para poder consultar directamente en caso de problemas

  3. Mantener un diseño de hardware compatible con STM32 (por ejemplo, reservar espacios para soldar las capacidades de carga del cristal oscilador con diferentes valores)

Honestamente, para lotes pequeños como unos cientos o un par de miles de placas, seguir con STM32 suele ser una decisión obvia. La dirección siempre mira el ahorro del 30% en el BOM, pero ignora por completo los costes NRE (Non-Recurring Engineering, costos no recurrentes de ingeniería).

Para responder a tus preguntas:

  1. Mi preferida: Sigo usando STM32G0/G4. Si ahorras $1 por chip en una producción de 1.000 unidades, ahorras $1.000. Pero si tu programador de firmware pasa dos semanas luchando contra un error extraño en una interrupción USB de un GD32, ya has perdido dinero solo en su salario.
  2. Las trampas ocultas: “Compatibilidad pin a pin” es la mayor mentira de la industria. Rara vez significa “compatibilidad con el firmware”. Con los chips nacionales, el núcleo y los GPIO estándar suelen funcionar bien, pero los periféricos analógicos (como los niveles de ruido del ADC) y las comunicaciones complejas (CAN/USB) te causarán problemas. Las memorias flash y las configuraciones del árbol de relojes también son ligeramente diferentes.
  3. Cómo tratar a los clientes: Si un cliente pide específicamente ST, no trato de convencerlos de lo contrario. Simplemente listo explícitamente el precio y el plazo de entrega del chip ST en la cotización. Si están dispuestos a pagar la prima, ¡que lo hagan! Si se quejan del precio, entonces ofrezco la alternativa nacional como opción para reducir costos. Que sea su elección.

Es una decisión complicada. En Occidente, solíamos llamarlos ‘clones’, pero ahora empresas como GigaDevice y Geehy son competidores serios. Sin embargo, para un lote pequeño, hay que tener cuidado.

  1. Mi elección: Normalmente opto por un diseño de doble huella. Diseño el PCB para que sea compatible tanto con STM32 como con un equivalente chino (como GD32). Para el primer lote pequeño, utilizo STM32 para asegurar que el firmware sea 100 % sólido. Una vez que el proyecto escala, cambiamos al chip chino para ahorrar costos.
  2. Las trampas: Las HAL/Bibliotecas. No confíes en que la ‘Biblioteca de Periféricos Estándar’ de los fabricantes chinos esté 100 % libre de errores. Hemos encontrado varios casos en los que la implementación de I2C en el silicio chino tiene comportamientos ligeramente diferentes en las banderas que pueden bloquear tu código si simplemente copias y pegas desde ST.
  3. Convencer a los clientes: Les muestro una comparación de plazos de entrega. Si puedo mostrarle al cliente que el STM32 tiene un plazo de ‘16 semanas’ y la alternativa china está ‘en stock’, generalmente dejan de importarles el nombre de la marca de inmediato. El flujo de caja es lo más importante.