¿Cómo elegir un microcontrolador ARM Cortex M3?

25

Según mis requisitos aproximados de estar en el rango de 36 a 72 MHz, tener 16kb + SRAM, 128kb + flash, ser programable en C, he decidido que para mi aplicación quiero usar una MCU ARM Cortex M3.

La pregunta es, ¿qué criterios utilizan las personas para elegir qué versión de M3 usar? Hay muchos proveedores posibles, como TI, ST, NXP, Freescale, etc., etc.

Un diferenciador principal desde mi punto de vista sería la facilidad de programación. Lo ideal es que lo pruebe en una placa de desarrollo / ruptura, seguido de la implementación en mi propia PCB.

    
pregunta JDS

4 respuestas

19

Creo que @markt está en el lugar correcto: Cadena de herramientas, periféricos, paquetes, devkits.

Agregaré algunos, y tal vez me quitaré algunos. Toolchain es ciertamente importante, pero GRATIS puede o no serlo. A veces, trabajar sin un soporte real puede ser más costoso de lo que cree, y el uso de un paquete comercial razonable puede valer la pena para una situación determinada. A veces, también es importante poder aprobar una auditoría exhaustiva de la licencia, y el uso de una herramienta gratuita con una licencia restrictiva puede morderlo más adelante.

Una buena biblioteca CMSIS para soportar el microcontrolador es una necesidad para mí. CMSIS - Interfaz de software del microcontrolador Cortex - arm.com/ Productos / procesadores / cortex-m /… : es una capa de abstracción de hardware para microcontroladores de la serie Cortex-M. En teoría, si una biblioteca es compatible con CMSIS, es independiente del proveedor y es más fácil intercambiar familias diferentes, y no tiene que volver a aprender un entorno desde el principio para poder usar la biblioteca. Uno de los aspectos atractivos del entorno ARM Cortex es la capacidad de cambiar plataformas sin un montón de sudor. Si elige una plataforma que no se adhiere a la estructura de CMSIS, es posible que no pueda moverse tan cómodamente.

Para mí, los tableros de dispositivos de desarrollo baratos y convenientes son una necesidad, pero esto puede o no ser tan importante como otras cosas (creo que la serie STM32 tiene paneles de control increíbles). Si la familia tiene tablas de desarrollo muy convenientes y baratas, es más probable que encuentre ayuda de una base de usuarios más grande si la necesita. Además, estos chips tienden a estar en paquetes SMT. Cuando inevitablemente explota un chip, o un puerto en un chip, o un bit en un puerto en un chip, reemplazar el chip es un PITA que implica reelaboración SMD. Si puede comprar dos o tres tablas a $ 10 - $ 15 cada una, y reemplazarlas a medida que las rompa, ¡ni siquiera PENSARÁ en hacer esa revisión SMD!

Piensa en "Extras". Es posible que necesite algo más allá de lo que se considera un "periférico". Por ejemplo, tal vez tenga una gran necesidad de Bluetooth y podría optar por utilizar Nordic Semiconductor para ese tipo de soporte. Podría considerar algunas otras cosas, como lo fácil que es el arranque, etc.

Piensa en la documentación. Me ha impresionado un poco lo difícil que puede ser leer algunos de los documentos de STM.

    
respondido por el Scott Seidman
14
  1. Busque la cadena de herramientas gratuita , RTOS y el soporte de JTAG / SWD de bajo costo.
  2. Considere con qué paquetes puede / está dispuesto a trabajar; si DIP es una necesidad, descarte los proveedores de silicio que no ofrecen paquetes DIP.
  3. Observe qué periféricos se ofrecen y qué es probable que desee / necesite.
  4. Busque bang-for-buck: use uno o más de los sitios web de grandes proveedores de electrónica para comparar manzanas con manzanas.

Teniendo en cuenta su deseo de tablas de desarrollo, tenga en cuenta lo que está disponible allí.

Si viene desde otra plataforma (PIC, Atmel, etc.), acepte que habrá una curva de aprendizaje justa en muchas áreas en el movimiento hacia ARM, pero vale la pena it.

    
respondido por el markt
5

Si no tienes una preferencia fuerte (por ejemplo, precio, tamaño, poder, más lo que otros enumeran), entonces consideraría quién te apoya. Si el fabricante no responde a sus preguntas, eso podría ser un problema. ¿O tienen un distribuidor local con un FAE (Field Applciation Engineer) que puede preguntar? Eso es particularmente importante para las pequeñas empresas y los hobbists.

Es posible que algunas partes no estén disponibles en pequeñas cantidades. Por ejemplo, aquellos que tienen DRAM en el mismo paquete están dirigidos a grandes compradores (> 10 k unidades).

    
respondido por el Brian Carlton
2

Probablemente STM32L151VBT6 se adapte a sus necesidades. Incluso si lo usamos en nuestra empresa es tener un costo moderado y bueno en términos de consumo de energía. también obtendrá la mayoría de los recursos de diseño en enlace .

Las características clave de la MCU STM32L151VB son:

Plataforma de potencia ultrabaja Fuente de alimentación de 1,65 V a 3,6 V

Rango de temperatura de -40 ° C a 85 ° C / 105 ° C

Modo de espera de 0.3 μA (3 pines de activación)

0.9 μA en modo de espera + RTC

0.57 μA Modo de parada (16 líneas de activación)

1.2 μA Modo de parada + RTC

Modo de funcionamiento de baja potencia de 9 μA

Modo de ejecución de 214 μA / MHz

10 nA fugas de E / S ultra bajas

< 8 μs de tiempo de activación

Núcleo: ARM®Cortex ™ -M3 CPU de 32 bits

Desde 32 kHz hasta 32 MHz como máximo

33.3 pico DMIPS (Dhrystone 2.1)

Unidad de protección de memoria

Gestión de reinicio y suministro

BOR ultra seguro, de baja potencia (restablecimiento de reducción de tensión) con 5 umbrales seleccionables

POR / PDR de potencia ultra baja

Detector de voltaje programable (PVD)

Fuentes de reloj

Oscilador de cristal de 1 a 24 MHz

Oscilador de 32 kHz para RTC con calibración

RC interno con ajuste de fábrica de alta velocidad de 16 MHz (+/- 1%)

Baja potencia interna 37 kHz RC

Múltiples velocidades internas de baja potencia de 65 kHz a 4.2 MHz

PLL para reloj de CPU y USB (48 MHz)

gestor de arranque preprogramado

Admite USART

Soporte de desarrollo

Se admite depuración de cable serie

JTAG y rastreo compatibles

Hasta 83 E / S rápidas (73 E / S tolerantes a 5 V), todas asignables en 16 vectores de interrupción externos

Memories:

Hasta 128 KB Flash con ECC

Hasta 16 KB de RAM

Hasta 4 KB de EEPROM real con ECC

Registro de copia de seguridad de 80 bytes

Controlador LCD para segmentos de hasta 8x40

Ajuste de contraste de soporte

Admite el modo parpadeante

Convertidor elevador a bordo

Periféricos analógicos ricos (hasta 1.8 V)

ADC de 12 bits 1 Msps hasta 24 canales

Canales DAC 2 de 12 bits con buffers de salida

2x comparadores de potencia ultra baja (modo de ventana y capacidad de activación)

Controlador DMA 7x canales

interfaz de comunicación de periféricos 8x

1x USB 2.0 (interno 48 MHz PLL)

3x USART (ISO 7816, IrDA)

2x SPI 16 Mbits / s

2x I2C (SMBus / PMBus)

Temporizadores 10x: 6x 16 bits con hasta 4 canales IC / OC / PWM, temporizador básico 2x 16 bits, temporizadores de vigilancia 2x (independiente y ventana)

Hasta 20 canales de detección capacitivos compatibles con sensores táctiles, lineales y rotativos Unidad de cálculo CRC, ID única de 96 bits

    
respondido por el Myanju

Lea otras preguntas en las etiquetas