Sin detalles adicionales, como el número de pines GPIO y ADC necesarios, temporizadores, restricciones de paquete (¿el proyecto puede manejar ICs o BGA de escala de oblea?) y restricciones reales que definen "pequeño" (tamaño, conteo de pines, otros? ), una respuesta específica no es práctica.
Sin embargo, la identificación de un microcontrolador "pequeño" adecuado es un paso muy detestable pero esencial en muchos de mis diseños, así que aquí están algunos de los pasos típicos.
- enumerar todos los requisitos de pines, por ejemplo,
- Cuántos GPIOs necesitan
- cuántos pines ADC se necesitan
- cuántos de los GPIO deben asignarse directamente a los temporizadores
- Se necesitan pines serie de hardware (UART / USART / I2C / SPI): generalmente se asignan a pines específicos
- Los pines que requieren soporte de interrupción de cambio de estado de entrada (si la MCU tiene esto en absoluto)
- Se necesitan comparadores incorporados (si el MCU tiene esto)
- Pines de referencia analógicos internos (si la MCU tiene esto)
- Cualquier otro pinout específico necesario, por ejemplo, Pines DAC o PWM (si el MCU tiene estos en absoluto)
- Enumere todos los periféricos o la funcionalidad requerida dentro de la MCU, por ejemplo.
- temporizadores
- Temporizadores de alta resolución (16 bits o 32 bits)
- PWM de hardware
- Hardware UART / USART / SPI / I2C
- Fuente de reloj del oscilador RC interno
- comparador analógico
- ADC
- DAC
- USB PHY
- Reloj de tiempo real
- Modos de potencia baja / ultra baja
- Cantidad de almacenamiento en RAM, FLASH y EEPROM
- Listar las restricciones del paquete, por ejemplo,
- ¿Qué formatos son aceptables: BGA? Escala de obleas? ¿Chip en vidrio? VQFN? SOIC? ¿O solo DIP?
- ¿Cuál es el paso de pin mínimo que puede usar el proceso de producción? 0.5 mm? 0,25 mm? ¿O no menor de 1,27 mm?
- ¿La MCU debe estar disponible tanto en DIP (para prototipos) como en SMD (para producción)?
- ¿Debe el paquete admitir el uso de un zócalo de programación ZIF antes de insertarlo en las placas de producción?
- ¿Existe alguna restricción en el área del tablero físico que pueda requerir reducir la funcionalidad deseada solo para que quepa en el espacio disponible?
- ¿Cuáles son las restricciones de precios?
- Para volúmenes pequeños en un producto facturable por el cliente, esto puede no ser una restricción, pero para volúmenes enormes, una diferencia de precio de 1 centavo se suma a un poco.
- Además, los patrones de descuento para compras por volumen varían ampliamente entre las partes, incluso del mismo fabricante de MCU
- ¿Cuáles son las limitaciones del final de la vida útil?
- Para una ejecución de producción única garantizada, incluso una parte obsoleta puede ser viable si está disponible en stock antiguo.
- Para un producto que se espera vea producción en los próximos 10 años, el compromiso de un fabricante de la disponibilidad de piezas toma o rompe decisiones
- ¿Cuáles son las restricciones de tiempo de entrega?
- Algunas partes, especialmente productos o paquetes de nicho, y algunos fabricantes tienen grandes plazos de entrega, por lo que incluso si una primera ejecución de producción se puede cumplir con el stock existente, puede haber pesadillas logísticas en el futuro.
- Alternativas de segunda fuente o de retrabajo mínimo (compatible con el código)
- Las partes ARM de extremo inferior a veces permiten el cambio de fabricantes y piezas específicas con un esfuerzo razonablemente pequeño
- Algunas MCU compatibles con el 8051 se reemplazan mutuamente
- A veces, la compatibilidad del código es lo suficientemente buena como para permitir cambiar por completo la familia de productos sin un desarrollo masivo, por ejemplo. si se utiliza la plataforma Wiring (por ejemplo, Arduino, Energia), el cambio entre AVR y Tiva-C puede ser viable
Estoy seguro de que algunos de los incondicionales de este sitio pueden agregar una gran cantidad de otros parámetros, pero los puntos anteriores son un buen comienzo.
Una vez que se han definido todos estos parámetros, una búsqueda paramétrica en el sitio del fabricante es generalmente la mejor manera de reducir las opciones. Aun así, un estudio cuidadoso de las hojas de datos de los productos preseleccionados es esencial. Por ejemplo, las versiones DIP AtMEGA168 / 328 tienen 2 pines ADC menos que las versiones SMD, mientras que son internamente idénticas.
Después de analizar todos los parámetros anteriores, una decisión que no está ajustada a los parámetros definidos a menudo todavía tiene sentido. Por ejemplo:
El Atmel ATmega328 y el Texas Instruments MSP430G2553 son favoritos personales porque tienen paquetes DIP y SMD disponibles, cuentan con un buen número de GPIO cada uno, ambos tienen una cantidad decente de memoria y son ampliamente utilizados, lo que garantiza una disponibilidad extendida y excelente precios por volumen. Por lo tanto, hay algunos diseños en los que un paquete mucho más pequeño o un MCU más simple servirían ampliamente para este propósito, pero el costo NRE ahorrado al reutilizar el código de proyectos anteriores hace que valga la pena quedarse con uno u otro de estos.