¿Cuáles son las ventajas de usar ATmega32 que otros microcontroladores? ¿Es mejor que PIC, ARM y 8051?Ventajas de atmega32
Respuesta
Depende ... En primer lugar, debe saber qué desea del microprocesador.
En general:
PIC:
- la arquitectura antigua. Esto significa que es ya sea caro o lento
- Objetivos único mercado de gama baja (< pocos MHz)
- Hay una gran cantidad de código escrito para que
ARM
- escalable
- rápido/barato
Atmega está en algún lugar entre
Algunas de sus críticas a las piezas de PIC no son válidas para todas las partes del rango. PIC24/dsPIC y PIC32 son partes muy capaces. No es que quiera ser un fanático de Microchip: desagradables y caros compiladores, y un IDE torpe sería mi crítica. – Clifford
También lo es AVR32, pero nadie se quejó de que no se mencionara. – avra
@avra: Mi crítica tanto a AVR32 como a PIC32 sería "demasiado tarde, ARM ya tiene ese mercado cosido con una gama más amplia de opciones de proveedores, conjuntos de periféricos y rendimiento". – Clifford
Bueno, no es fácil de responder. Depende principalmente de lo que usaste antes. Si ya eres usuario de AVR, entonces es bueno usarlo. Por otro lado, puede encontrar PIC con capacidades similares, por lo que diría que es sobre todo preferencia personal. Creo que la mayoría de los ARM son más capaces que las series de atmega32. Si quiere un buen consejo, díganos para qué lo va a utilizar.
Los AVR tienen un modelo de memoria plana y tienen herramientas de desarrollo gratuitas y hardware de desarrollo barato disponible para ellos.
No sé lo suficiente sobre 8051 para comentar.
Ah, y si estás pensando en atmega32 original, diría que es una mala idea. Va a ser obsoleto pronto, por lo que es posible que desee considerar los modelos más nuevos de la serie atmega32.
Mientras haga la mayor parte de su código en C, la transferencia de un chip atmega a otro es bastante sencillo. prototipo de lo que tenga a mano y optimice más tarde. – SingleNegationElimination
En este extremo del espectro, solo hay realmente dos factores que marcan la diferencia. En primer lugar, en cantidades más pequeñas, lo único que importa en absoluto es qué arquitectura se adapta mejor a sus necesidades de desarrollo. Si ya está familiarizado con el PIC, no tiene mucho sentido aprender avr o viceversa. Elija una arquitectura que le guste, luego clasifique las opciones en esa arquitectura para ver qué modelo se ajusta a sus necesidades particulares.
En cantidad (digamos, 20 o más unidades), puede beneficiarse eligiendo la plataforma adecuada que coincida exactamente con las necesidades de sus dispositivos, para mantener los costos lo más bajos posible.
En general, las plataformas Pic y avr son buenas para dispositivos sencillos de una sola función, donde se usa armado en casos donde se necesita una pila completa de sistema operativo como QNX o Linux para cosas como TCP o tiempo real con servicios del sistema operativo.
Ventajas
- aún se ejecuta en 5 V, por lo que el legado 5 V interfaces de cosas más limpio
- pesar de que es 5 V capaz, partes más nuevas pueden correr a 1,8 V. Esta amplia gama es muy raro .
- Bonito conjunto de instrucciones, muy buen rendimiento de la instrucción en comparación con otros procesadores (HCS08, PIC12/16/18).
- Puerto GCC de alta calidad (sin compiladores maliciosos patentados)
- Las variantes "PA" tienen buenas capacidades de modo de suspensión, en microamperios.
- bien redondeado conjunto de periféricos capacidad
- QTouch
Desventajas
- Todavía 8 bits. Un ARM es un caballo de batalla de 16/32 bits y empujará una buena cantidad de datos más, con velocidades de reloj mucho más altas que cualquier otro de 8 bits.
- Costo. Puede ser costoso en comparación con HCS08 u otros procesadores de oferta de 8 bits.
- La cadena de herramientas GCC tiene peculiaridades, como el modelo de memoria dividida y punteros de 16 bits limitados.
- Atmel no es el mejor proveedor en el planeta (por lo menos no son Maxim ...)
En resumen, son un lugar muy limpio y fácil de trabajar con un microcontrolador de 8 bits.
Un 8051 es heredado: las herramientas son transitables, la arquitectura es extraña (funciones de ida-? Xdata? Non-reentrant en la mayoría de los compiladores por defecto?).
PIC antes de PIC24 es también extraño (registro de banca) y deficiente reloj-> rendimiento de la instrucción. No hay un compilador de C de código abierto de primera clase tampoco.
PIC32 compite con ARM7TDMI y ARM Cortex-M3, basado en un núcleo MIPS adaptado, y tiene un puerto GCC (no forrado).
AVR32 compite con Cortex-M3, y ofrece una muy buena relación calidad-precio, especialmente en el área de baja potencia.
MSP430 es el rey para dispositivos de muy baja potencia, y tiene un puerto GCC pasable (si no tiene como objetivo 430X).
HCS08 es muy barato, pero el rendimiento de las instrucciones es deficiente. Los periféricos varían bastante.
ARM solía ser un punto de entrada de mayor costo, pero con la introducción de la arquitectura Cortex-M3, el precio ha ido disminuyendo en comparación con un 8-bit. Por ejemplo, la serie LPC13xx es comparable a un ATmega32 de muchas maneras. Luminary (TI) tiene un conjunto periférico bastante impresionante.
que encontrar a la familia PIC (antes de la versión MIPS) para tener el conjunto de instrucciones más doloroso de todo, lo que significa ensamblador es el idioma de su elección si desea conservar el espacio, obtener un rendimiento, tener el control, etc.
El 8051 es un poco menos doloroso, tiene más registros, pero aún necesita un puñado de instrucciones para hacer algo útil (lo que significa que no puede compararlos con otros chips desde una perspectiva de MHz). Me gusta AVR de muchas maneras, adoptan la comunidad homebrew y developer, o si no directamente hay una familia de desarrolladores mucho mejor que la competencia. No me gusta el conjunto de instrucciones, pero está décadas por delante del PIC y el 8051. Me gusta bastante el conjunto de instrucciones MSP430, es uno de los mejores conjuntos de instrucciones para el ensamblador de enseñanza, TI no es tan amigable para los desarrolladores, puede ser una luchaEl eZ430 estaba en el camino correcto, pero el goodfet es mejor ya que no lo hace fallando al trabajar en cualquier otra versión del núcleo.
MSP430 y ARM tienen los mejores conjuntos de instrucciones en lo que a mí respecta, lo que conduce tanto al buen ensamblador como a las buenas herramientas de compilación. Puede encontrar herramientas comerciales para todo lo anterior y, sin duda, para herramientas gratuitas 8051, MSP430 y ARM (MSP430 y ARM pueden usar GCC, 8051 no, buscar SDCC). Por ahora mspgcc4.sf.net y CodeSourcery son el lugar para herramientas basadas en GCC para MSP430 y ARM. LLVM es compatible con ambos, pude obtener LLVM 27 para vencer al último GCC en un dhrystone test, pero esa es una prueba, LLVM está detrás en rendimiento pero está mejorando.
En cuanto a la búsqueda y creación de compiladores cruzados gratuitos, veo que LLVM ya es el más fácil de obtener y usar, y en el futuro solo se mejorará. Lamentablemente, el puerto MSP430 para LLVM era un vistazo a lo que podía hacer en una presentación de PowerPoint por la tarde y no en un puerto serio.
Mi respuesta es que depende de lo que estés haciendo, y te recomiendo que pruebes todas. En estos días, los consejos de evaluación se encuentran en el rango inferior a los US $ 50 y algunos en el rango inferior a los US $ 30. Incluso dentro de la familia ARM (ST, Atmel, Stellaris, LPC, etc.) hay una amplia variedad de características y peculiaridades que solo encontrará si las prueba. Evite los cebadores LPCexpresso, mbed2 y STM32. Evite LPC en general y evite Cortex-M3 en general hasta que haya cortado sus dientes con un ARM7. Mira SparkFun para Olimex y otras tablas. Aunque es probable que sea LPC, ARMmite PRO y Arduino Pro son buenas opciones. El eZ430 es un buen inicio de MSP430, y no recuerdo quién está haciendo 8051 cosas, Renasys (sp?), 8051s no son todos iguales, el espacio de registro varía de uno a otro y tienes que prepararte para eso. Probablemente buscaría un simulador 8051 si quieres jugar con el 8051.
Veo AVT y definitivamente el ARM sigue dominando, me gustaría ver que el MSP430 se use para otras cosas que no sean solo potencia súper baja. Con ARM, AVR y MSP430 puede usar y acostumbrarse a las herramientas de GCC ahora y en el futuro, lo que tiene muchos beneficios, incluso si GCC no es el mejor compilador del mundo, es de lejos el mejor compilador compatible. Evitaría compiladores y herramientas propietarios. Buscaría dispositivos que tengan interfaces de programación no patentadas que sean programables en campo, JTAG es bueno, pero por ejemplo, el nuevo SWD JTAG en Cortex-M3 es malo. TI MSP fue lastimado por esto, pero algunos hackeos han resuelto esto, al menos por ahora. Realmente no tengo mucho que decir sobre PIC y no intentaré. Una gran cosa que hay que buscar es la lógica del pegamento, ¿tiene la parte o la familia el SPI o el I2C o el bus que quiera usar, necesita un cable interno o una entrada?
Algunos chips simplemente no tienen esa opción y tienes que agregar hardware externo. ¿Necesitas una interrupción, con acondicionamiento? ARM tiende a ganar con esto porque es un núcleo utilizado por muchos, por lo que cada proveedor de ARM tiene su propia E/S disponible para que pueda vivir en el mundo de ARM y tenga muchas opciones, AVR y MSP estarán muy limitados por comparación. Con ARM, las herramientas van a ser lo último en tecnología, ARM es el procesador más utilizado en este momento. AVR y MSP son complementos de proyectos especiales, menos compatibles y frágiles. Aunque ARM es de baja potencia en comparación con Intel en una plataforma de computadora SBC, es probable que no sea de baja potencia como un AVR o MSP. Realmente necesita ver su proyecto y elegir el procesador adecuado para el trabajo, no me limitaría a una sola familia. Con tan barato como los tableros de evaluación, y casi todos pueden usar herramientas gratuitas, solo es cuestión de pasar algunas noches o fines de semana para aprender cada uno. Sugiero aprender más de un AVR y aprender más de un microprocesador.
Si desea la más amplia variedad de periféricos, rendimiento, punto de precio, soporte de software y herramientas, y proveedores, sería difícil superar una parte basada en ARM Cortex-M3.
Pero al abordar su pregunta directamente, toda la gama AVR tiene una arquitectura consistente y un conjunto de periféricos comunes desde el Tiny hasta el Mega (no el AVR32, que es completamente diferente). Esta es la diferencia significativa con el PIC, donde cuando se mueve hacia arriba en el rango (PIC10, 12, 16, 18, 24, 32), se obtienen diferentes diseños periféricos, diferentes conjuntos de instrucciones y la necesidad de invertir en diferentes compiladores y hardware de depuración.
El conjunto de instrucciones para AVR fue diseñado para una eficiente compilación de códigos C (a diferencia de PIC).
8051 es una arquitectura originalmente introducida por Intel hace décadas, pero ahora se utiliza como núcleo para dispositivos de 8 bits de una serie de proveedores. Tiene algunos trucos ingeniosos, como conmutadores de contexto multitareas eficientes a través de sus 8 bancos de registros duplicados, y un bloque de memoria direccionable, pero tiene una arquitectura de memoria extravagante y un rango de direcciones limitado (como la mayoría de los dispositivos de 8 bits). Ideal para pequeños dispositivos bien dirigidos, pero no realmente de propósito general.
ARM Cortex-M3 reemplaza esencialmente a ARM7TDMI, y es un diseño más limpio con una arquitectura bien pensada. Requiere un mínimo código de inicio del ensamblador e incluso los ISR y las tablas de vectores se pueden codificar en C directamente sin ninguna extraña extensión de compilador o código de entrada/salida de ensamblador. Su técnica de bitbanding permite que todas las memorias y periféricos sean direccionables atómicamente, lo que es útil para E/S rápidas y multihilo seguro. Básicamente está diseñado para permitir el código C o C++ a nivel del sistema sin extensiones de compilador no estándar. Por supuesto, es una arquitectura de 32 bits, por lo que no tiene las limitaciones de recursos o aritméticas de los dispositivos de 8 bits. Los precios de las partes de gama baja compiten con los dispositivos de 8 bits de mayor rendimiento y expulsan a la mayoría de los dispositivos de 16 bits (lo que hace que 16 bits casi se vuelvan obsoletos).
Otra cosa clave para recordar es que PIC y AVR son de proveedores individuales, mientras que 8051 y ARM son núcleos con licencia. Cada titular de licencia agrega su propio conjunto de periféricos, por lo que no hay nada en común entre los proveedores de periféricos, por lo que el código del controlador del dispositivo necesita portar al cambiar de proveedor, y debe asegurarse de que la pieza tenga los periféricos que necesita. Si diseñas bien la capa de tu dispositivo, esto rara vez es un gran problema.
- 1. Python: ventajas y ventajas de _mysql vs MySQLdb?
- 2. Ventajas de HashTable
- 3. Ventajas del uso de
- 4. Ventajas de enlace estático
- 5. Ventajas de Clojure
- 6. Ventajas de CV :: matx
- 7. Ventajas y desventajas de BPMN?
- 8. Ventajas de MySQLi sobre MySQL
- 9. Ventajas de mmap vs fileinput
- 10. Ventajas de establecer priority_queue Container
- 11. Ventajas/desventajas de punteros automáticos
- 12. Ventajas de utilizar Core Graphics
- 13. Ventajas y desventajas de DotNetNuke?
- 14. Ventajas de [HandleError] sobre Application_Error
- 15. ¿Ventajas reales de Async-Await?
- 16. Ventajas de Parcelable sobre JSON
- 17. Ventajas de Tesla sobre GeForce
- 18. Ventajas de autoatribuir vs. atributo @?
- 19. Ventajas de implementar una interfaz
- 20. Las ventajas de las constantes
- 21. Ventajas y desventajas de NHibernate
- 22. Ventajas/desventajas de guerras explosivas
- 23. Javascript Engines Ventajas
- 24. Ventajas del PHP Namespacing
- 25. Enum en Java. Ventajas?
- 26. WCF: ventajas y desventajas
- 27. jQuery ¿Ventajas diferidas?
- 28. Ventajas/desventajas de los archivos de encabezado
- 29. Ventajas del sistema de tipo de Scala
- 30. Ventajas de rendimiento de 64 bits
La familia AVR tiene un IDE basado en GCC que es gratuito para todo el rango de sus procesadores. Del más pequeño al más grande, un código para gobernarlos a todos. AVR es una CPU de 8 bits y en el mismo reloj es 4 veces más rápido que PIC de 8 bits y 12 veces más rápido que 8051. ARM es de 32 bits, más potente y con mucha más energía. Te consumirá la batería rápidamente, mientras que AVR funcionará durante semanas o meses. No están en el mismo rango y no se usan para las mismas tareas. Sería como comparar una PC quad core blentium de 4 GHz con una pequeña ARM que ejecute su teléfono móvil. – avra
"un código para gobernarlos a todos" ... no es 100% exacto. registro/pin/temporizador y existen diferencias ISR, aparte de algunas otras diferencias. Sí, puedes usar el compilador regular gnu C (C99) y el IDE es común. – icarus74