Elija un microcontrolador [cerrado]

2

Planeo usar un microcontrolador en mi proyecto. Pero no sé cuál debo usar. Sé que las características que tendrá que tener el microcontrolador, pero muchos fabricantes pueden satisfacer mi necesidad.

¿Debo elegir TI, Microchip, Arm? ¿Cuál es la diferencia excepto el nivel de voltaje de operación?

    
pregunta Little Latch

5 respuestas

7
  

¿Debo elegir TI, Microchip, Arm?

ARM no hace ninguna ficha real. Simplemente licencian su diseño a fabricantes de chips. Microchip (Atmel) y TI (entre otros) hacen chips basados en la arquitectura ARM.

  

¿Cuál es la diferencia excepto el nivel de operación de voltaje?

Periféricos: diferentes fabricantes de chips incluirán diferentes combinaciones de periféricos en sus microcontroladores. Una u otra podría ser una mejor opción para su aplicación.

Herramientas: Cada fabricante de chips proporciona sus propias herramientas de desarrollo para sus chips. Las herramientas de terceros también están disponibles para muchos microcontroladores. Es posible que encuentre que le gusta un conjunto de herramientas mejor que los otros, lo que sería un punto a favor de usar los chips compatibles con esa herramienta. FWIW, la herramienta gratuita de TI se basa en Eclipse, mientras que Atmel (una subsidiaria de Microchip) se basa en Visual Studio. La herramienta de Microchip para sus partes heredadas (antes de la adquisición de Atmel) es (AFAIK, no la he usado) patentada.

Rendimiento: diferentes fabricantes de chips pueden ofrecer microcontroladores con mejor o peor rendimiento por alguna métrica, como frecuencia de reloj, consumo de energía, etc.

Arquitectura: Como se mencionó anteriormente, muchos fabricantes de chips producen chips basados en ARM, y estos son muy populares. Pero las arquitecturas propietarias también están todavía por ahí. Es posible que prefiera uno u otro, o que sea el más adecuado para su aplicación. La arquitectura PIC de Microchip, por ejemplo, es una arquitectura de Harvard, que tiene algunas ventajas para mantener el código y los datos separados (evitando que el código sea corrompido por instrucciones deshonestas destinadas a actuar sobre los datos).

Soporte: Algunos proveedores pueden facilitar el contacto con un ingeniero de aplicaciones para obtener ayuda cuando tenga problemas con sus piezas. Otros solo pueden proporcionar un sistema de tablón de anuncios donde los usuarios pueden ayudarse entre sí. Otros podrían proporcionar incluso menos.

Precio: los diferentes proveedores tienen diferentes estrategias para la fijación de precios y el marketing. Uno podría ofrecer precios muy bajos pero solo para clientes de muy alto volumen. Otros pueden tener precios más altos pero dar un buen soporte a los clientes más pequeños. Etc.

    
respondido por el The Photon
7

A menos que esté apuntando a una función específica, casi todos los microcontroladores son iguales.

El modo en que elija puede depender de usted, pero estas son algunas de las cosas que busco cuando selecciono un dispositivo o cuando busco un dispositivo.

  1. ¿Cuál es mi experiencia con el dispositivo? Si he usado un dispositivo antes, la experiencia de saber qué hacer (y qué no hacer) puede ahorrar tiempo. Además, si he usado el dispositivo anteriormente, es posible que ya tenga herramientas de desarrollador (programadores, depuradores, cadenas de herramientas, etc.) para ese dispositivo.

  2. ¿Cuánto soporte hay disponible? ¿Existe una comunidad grande a la que pueda pedir ayuda si la necesito? Los principales actores (TI, Microchip, ST, etc.) tienen buenas comunidades y hay muchos proyectos que los utilizan. Me encontré con un producto de Zilog, y no he oído hablar de Zilog en más de 10 años, y no conozco a nadie que use Zilog (excepto este producto).

  3. ¿Qué tan disponibles están las placas parts / dev? Obtener una placa de desarrollo le permite ponerse en marcha rápidamente o tener partes que se puedan soldar o emplanar fácilmente (¿es esto una palabra?) Hacer que el trabajo en marcha sea mucho más fácil que tener una placa personalizada o tener que esperar semanas / meses para obtener comenzado.

respondido por el efox29
2

Incluso si la mayoría de los fabricantes ofrecen la misma función, algunos microcontroladores tienen particularidades. Por ejemplo, el MSP430 de TI utiliza para consumir menos energía que ARM o PIC. Cada desarrollador también tiene preferencia, que puede tener lugar en la elección.

    
respondido por el M.Ferru
2

Si eres nuevo en la programación de MCU, en lugar de elegir un tipo de MCU, debes elegir una plataforma de desarrollo y un conjunto de herramientas viable y fácil de usar. Prácticamente todas las plataformas soportarán GCC, por lo que si su intención es aprender 'C', el rango es amplio. Si quisieras usar Python o BASIC, por ejemplo, tu rango de opciones disponibles es muy reducido.

Comience con las necesidades de su proyecto de alto nivel (idioma, almacenamiento, base de datos, conexión a Internet, servicios de Internet, USB (host), capacidad de respuesta ante interrupciones en tiempo real, etc., y esto le ayudará a tomar decisiones.

Por ejemplo, si desea proporcionar un controlador de proyecto que necesita suministrar servicios de Internet (servidor HTTP) y una base de datos para contener los datos adquiridos ... puede seleccionar un controlador de final superior, como la Raspberry Pi o ASUS Tinker. Estos ejecutan Linux y proporcionan una gran flexibilidad en el software (aplicaciones e idiomas) que puede utilizar para satisfacer las necesidades de su proyecto. Las plataformas pueden incluso proporcionar un entorno de desarrollo completamente independiente al que se puede conectar el mouse / teclado y la pantalla LCD.

Si su proyecto es mucho más pequeño y el microcontrolador no proporcionará servicios extensos o no necesitará alojar su propio entorno de desarrollo, la gama de soluciones es mucho más amplia. De particular importancia aquí es si necesita una respuesta en tiempo real a la E / S, cualquier cosa por encima del tiempo de bucle de 100-200 Hz puede ser un desafío para los lenguajes de alto nivel.

Si desea desarrollar en un escritorio PC / MAC / Linux, hay muchos conjuntos de herramientas / herramientas dev que pueden instalarse y permitir la conexión a placas de microcontroladores independientes.
Por ejemplo, las placas Arduino (una gran variedad) se conectan sin problemas a su entorno de desarrollo de escritorio mediante USB o mediante programadores específicamente para la gama de placas. Se convierte en una guerra un tanto religiosa en este punto con cada desarrollador seguro de que su rango más común es el mejor.

Mi sesgo es iniciar a la gente con Arduino Nano ... de muy bajo costo, desarrollo simple y con una amplia gama de tableros de soporte disponibles. Todo, desde controladores de motores paso a paso hasta E / S aisladas disponibles. El formato del Nano permite utilizarlo fácilmente como un componente de su PCB específico del proyecto si esa es su dirección.

    
respondido por el Jack Creasey
1

No hay diferencia, excepto con lo que te sientas cómodo. En mi opinión, TI es mejor, pero a muchas personas les gusta Arduino / Atmel e incluso algo como el ESP8266. Así que elige el que más te guste.

    
respondido por el Passerby

Lea otras preguntas en las etiquetas