La familia de microcontroladores STM32

La firma ST ofrece un amplio abanico de microcontroladores para las mas variadas aplicaciones, con distintas especificaciones de consumo, capacidad y prestaciones. Estos micros se agrupan en distintas familias, con numerosos integrantes según sus características específicas. En este artículo hare una breve introducción y un recorrido por la familia STM32, que se caracteriza por sus altas prestaciones a un costo bastante accesible.

ST Microelectronics es una empresa de larga trayectoria en el mercado que fabrica una gran variedad de componentes electrónicos, entre los que destacan distintas líneas de microcontroladores, sensores, dispositivos para RF y electrónica de potencia entre otros.

Dentro del campo específico de los microcontroladores, en la actualidad ST ofrece dos grandes familias, constituidas por una gran cantidad de dispositivos adaptados a distintas aplicaciones: STM8 y STM32, de 8 bits y 32 bits respectivamente.

Dejando de lado por el momento la familia STM8, que ofrece soluciones muy interesantes para aplicaciones simples a un bajo costo, nos enfocaremos por ahora en los microcontroladores pertenecientes a la familia STM32.

STM32 Cortex

Microcontroladores STM32

La familia de microcontroladores STM32 está basada en núcleos ARM Cortex-M de 32 bits licenciados por la empresa Advanced RISC Machines Holdings Limited (ARM). Dentro de la misma familia podemos encontrar modelos que cuentan con un núcleo M0 hasta M7, con distintos periféricos y distintas cantidades de memoria RAM y Flash, con distintas prestaciones y por lo tanto, distintos precios, para utilizar en proyectos Maker o hobby, hasta las aplicaciones profesionales mas exigentes (si quieres ampliar un poco más sobre los micros ARM Cortex puedes leer este otro artículo).

Todos estos micros se pueden agrupar en cuatro grupos, que reúnen a distintas series, con características comunes que pueden contener variaciones de periféricos o cantidad de memoria Flash y RAM:

High Performance: Ofrece altas prestaciones para aplicaciones exigentes. Integrada por micros con núcleo M3, M4 y M7 o dos núcleos (M4 + M7) con velocidades entre 84 y 550 MHz y capacidades de memoria de hasta 2 MB de Flash y 1 MB de RAM, aceleración de gráficos, posibilidad de emplear memoria externa y funciones de procesamiento de señales (DSP) entre otras características. Dentro de este grupo encontramos las series STM32F2, F4, F7 y H7.

Mainstream: Son los modelos mas populares, para aplicaciones múltiples. En este grupo encontramos micros de propósito general con núcleos M0, M0+, M3 y M4, con velocidades desde 48 hasta 170 MHz, 16 KB hasta 1 MB de Flash y 4 KB hasta 128 KB de memoria RAM. En este grupo hay un amplio abanico de dispositivos, incluyendo algunos con periféricos analógicos (comparadores, amplificadores operaciones, DAC), interface USB, encriptado por hardware, aceleradores matemáticos, DSP, ADC de 12 bits, conversores sigma-delta de 16 bits, timers de alta resolución, funciones para control de motores, bus CAN, Ethernet y tensiones de alimentación desde 1.8 Voltios para aplicaciones de muy bajo consumo. Aquí podemos hallar las series F0, F1, F3, G0 y G4.

Ultra low power: Para aplicaciones donde el consumo de energía es muy importante. Este grupo está formado por micros con núcleos M0+, M3, M4 y M33, con velocidades de operación entre 32 y 160 MHz, hasta 2 MB de Flash, 786 KB de SRAM, DSP, FPU y funciones avanzadas de seguridad. En este grupo se encuentran las series L0, L1, L4, L4+, L5 y U5.

Wireless: Micros destinados al mercado de los dispositivos inalámbricos. Incluyen modelos con núcleo M0+ y distintos periféricos específicos como Bluetooth, ZigBee, modulación (G)FSK, (G)MSK y funciones avanzadas de seguridad. Este grupo contiene sólo dos series, la WL y WB.

Placa con el STM32F103C8T6  popularmente conocida como “Blue Pill”

Denominación

A los fines de identificar correctamente un micro dentro de la gran cantidad de dispositivos disponibles, cada uno recibe una denominación cuyas partes denotan las distintas características.

Tomemos como ejemplo el STM32F103C8T6 , que se incluye en la conocida placa “Blue Pill”.

STM32: Familia

F: Grupo (F: Mainstream, L: Low power, H: High Performance, W: Wireless)

1: Tipo de core (0: M0, 1: M3, 2: M3, 3: M4, 4: M4, 7: M7)

03: Línea de micro (define la velocidad, periféricos, etc)

C: Cantidad de pines (F: 20, G: 28, K: 32, T: 36, S: 44, C: 48, R: 64,66, V: 100, Z: 144, I: 176)

8: Tamaño de la memoria Flash (4: 16, 6: 32, 8: 64, B: 128, C: 256, D: 384, E: 512, F: 768, G: 1024, H: 1536, I: 2048 KB)

T: Encapsulado (P: TSOOP, H: BGA, U: VFQFPN, T: LQFP, Y: WLCSP)

6: Tango de temperatura (6: -40°C to 85°C, 7: -40°C to 105°C)

Herramientas de desarrollo

Para desarrollar exitosamente una solución con un microcontrolador (STM32 o cualquier otro) debemos contar con las herramientas de desarrollo, tanto de software como de hardware adecuadas.

Una de las ventajas de utilizar un diseño que es un estándar en la industria como el de ARM es que es utilizado por numerosos fabricantes, lo que asegura la disponibilidad de muchas herramientas, con una gran variedad de funciones y costos.

Herramientas de software

Como herramientas de desarrollo de software podemos encontrar compiladores de distintos lenguajes (C/C++, Python, Micropython, BASIC o FORTH) que pueden utilizarse en entornos de desarrollo (IDEs) como Eclipse o el IDE de Arduino, generadores automáticos de código, ensambladores y simuladores, Kernels y Sistemas operativos en Tiempo Real (RTOS), entre otros, muchos de ellos gratuitos y otros comerciales.

Cube IDE de ST

Herramientas de hardware

También existen numerosas herramientas de hardware que simplifican el desarrollo, como programadores, depuradores y placas de evaluación. Los micros STM32 incluyen módulos JTAG y SWD (single-wire debug) que permiten la depuración empleando herramientas de muy bajo costo.

Placa de evaluación STM32 Nucleo

Programador y debugger ST-LINK V3 (izq) y ST-Link V2 compatible de bajo costo (der)

Conclusión

Se presentó la familia de microcontroladores STM32, algunas de sus características mas importantes, las distintas series y las herramientas de desarrollo disponibles, ofreciendo un panorama general para luego ir describiendo con mas detalle algunos micros en particular y sus aplicaciones.

Espero que el artículo les haya sido de utilidad, en las próximas semanas iré publicando mas tutoriales y proyectos sobre distintos micros de esta familia. Cualquier duda o sugerencia pueden dejarla en la sección de comentarios mas abajo.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: