- Comience con el requisito del proyecto
- Mira los parámetros destacados
- Tensión de trabajo
- Conectores de destino
- Interfaces avanzadas
- Entorno de desarrollo
- Precio y disponibilidad
- Otras características
- Conclusión
Cuando se trata de elegir un microcontrolador, es realmente una tarea confusa ya que hay varios microcontroladores disponibles en el mercado con las mismas especificaciones. Por tanto, cada parámetro se vuelve importante a la hora de seleccionar un microcontrolador. Aquí estamos comparando los dos microcontroladores más utilizados: el microcontrolador PIC y el microcontrolador AVR. Aquí se comparan en varios niveles que serán útiles para seleccionar el microcontrolador para su proyecto.
Comience con el requisito del proyecto
Reúna toda la información sobre su proyecto para comenzar antes de comenzar a elegir cualquier microcontrolador. Es muy importante que la información se recopile tanto como sea posible, ya que esto jugaría un papel importante en la elección del microcontrolador correcto.
- Recopile información del proyecto, como el tamaño del proyecto.
- Número de periféricos y sensores utilizados
- Requisitos de energía
- Presupuesto del proyecto
- Requisito de interfaces (como USB, SPI, I2C, UART, etc.),
- Hacer un diagrama de bloques de hardware básico,)
- Enumere cuántos GPIO se necesitan
- Entradas analógicas a digitales (ADC)
- PWM
- Seleccione la arquitectura adecuada necesaria, es decir (8 bits, 16 bits, 32 bits)
- Reconocer el requisito de memoria del proyecto (RAM, Flash, etc.)
Mira los parámetros destacados
Cuando se recopila toda la información, es el momento adecuado para elegir el microcontrolador. En este artículo, las dos marcas de microcontroladores competidores, PIC y AVR, se compararán en una variedad de parámetros. Dependiendo de la necesidad del proyecto para comparar los dos, observe los siguientes parámetros como,
- Frecuencia: velocidad a la que funcionará el microcontrolador
- Número de pines de E / S: puertos y pines necesarios
- RAM: todas las variables y matrices declaradas (DATOS) en la mayoría de las MCU
- Memoria Flash: cualquier código que escriba va aquí después de compilar
- Interfaces avanzadas: interfaces avanzadas como USB, CAN y Ethernet.
- Voltaje de funcionamiento: voltaje de funcionamiento de MCU como 5 V, 3,3 V o bajo voltaje.
- Conectores de destino: los conectores para facilitar el diseño y el tamaño del circuito.
La mayoría de los parámetros son similares tanto en PIC como en AVR, pero hay algunos parámetros que seguramente difieren cuando se comparan.
Tensión de trabajo
Con más productos que funcionan con baterías, el PIC y el AVR han logrado mejorar las operaciones de bajo voltaje. Los AVR son más conocidos por su funcionamiento a bajo voltaje que las series PIC más antiguas, como PIC16F y PIC18F, porque estas series PIC utilizan un método de borrado de chip que necesita al menos 4,5 V para funcionar, y los programadores PIC por debajo de 4,5 V tienen que utilizar un algoritmo de borrado de filas. que no puede borrar el dispositivo bloqueado. Sin embargo, este no es el caso en AVR.
AVR ha mejorado y lanzado las últimas variantes P (pico-potencia) como ATmega328P que son de muy baja potencia. Además, el ATtiny1634 actual ha mejorado y viene con modos de suspensión para reducir el consumo de energía cuando se usa un apagón, lo cual es muy útil en dispositivos que funcionan con baterías.
La conclusión es que los AVR se enfocaban anteriormente en baja tensión, pero PIC ahora se ha transformado para la operación de baja tensión y ha lanzado algunos productos basados en picPower.
Conectores de destino
Los conectores de destino son muy importantes cuando se trata de diseño y desarrollo. AVR ha definido interfaces ISP de 6 y 10 vías, lo que lo hace fácil de usar mientras que PIC no lo tiene, por lo que los programadores PIC vienen con cables voladores o enchufes RJ11 que son difíciles de encajar en el circuito.
La conclusión es que el AVR lo ha simplificado en términos de diseño y desarrollo de circuitos con los conectores de destino, mientras que PIC aún necesita rectificar esto.
Interfaces avanzadas
En términos de interfaces avanzadas, entonces el PIC es seguramente la opción, ya que tiene su función con características avanzadas como USB, CAN y Ethernet, lo que no es el caso en AVR. Sin embargo, se pueden utilizar chips externos, como FTDI USB a chips en serie, controladores Ethernet Microchip o chips CAN de Philips.
La conclusión es que el PIC seguramente tiene las interfaces avanzadas que AVR.
Entorno de desarrollo
Aparte de esto, hay características importantes que hacen que ambos microcontroladores sean diferentes entre sí. La facilidad del entorno de desarrollo es muy importante. A continuación se muestran algunos parámetros importantes que explicarán la facilidad del entorno de desarrollo:
- IDE de desarrollo
- Compiladores de C
- Ensambladores
IDE de desarrollo:
Tanto PIC como AVR vienen con sus propios IDE de desarrollo . El desarrollo de PIC se realiza en MPLAB X, que se sabe que es el IDE estable y simple en comparación con Atmel Studio7 de AVR, que tiene un tamaño grande de 750 MB y es un poco torpe con más funciones complementarias que lo hacen difícil y complicado para los aficionados a la electrónica novatos..
El PIC puede ser programado a través de las herramientas de microchip PICkit3 y MPLAB X . El AVR se programa mediante el uso de herramientas como JTAGICE y AtmelStudio7. Sin embargo, los usuarios están cambiando a las versiones anteriores de AVR Studio, como 4.18 con service pack3, ya que se ejecuta mucho más rápido y tiene características básicas para el desarrollo.
La conclusión es que el PIC MPLAB X es un poco más rápido y fácil de usar que AtmelStudio7.
Compiladores de C:
Tanto PIC como AVR vienen con compiladores XC8 y WINAVR C respectivamente. El PIC ha comprado Hi-tech y ha lanzado su propio compilador XC8. Está completamente integrado en MPLAB X y funciona bien. Pero WINAVR es ANSI C basado en el compilador GCC, lo que facilita la transferencia de código y el uso de bibliotecas estándar. La versión gratuita limitada de 4KB del compilador IAR C ofrece una variedad de compiladores profesionales que cuestan mucho. Dado que el AVR está diseñado para C al principio, la salida del código es pequeña y rápida.
El PIC tiene muchas características que lo hacen bien en comparación con AVR, pero su código se vuelve más grande debido a la estructura del PIC. La versión de pago está disponible con más optimización, sin embargo, la versión gratuita no está bien optimizada.
La conclusión es que WINAVR es bueno y rápido en términos de compiladores que PIC XC8.
Ensambladores:
Con tres registros de puntero de 16 bits que simplifican el direccionamiento y las operaciones de palabras, el lenguaje ensamblador AVR es muy fácil con muchas instrucciones y la capacidad de usar los 32 registros como acumulador. Mientras que el ensamblador PIC no es tan bueno con todo lo que se obliga a operar a través del acumulador, obliga a usar el cambio de banco todo el tiempo para acceder a todos los registros de funciones especiales. Aunque MPLAB incluye macros para simplificar el cambio de banco, es tedioso y requiere mucho tiempo.
También la falta de instrucciones de bifurcación, simplemente omita y GOTO, lo que obliga a estructuras complicadas y un código un poco confuso. La serie PIC tiene algunas series de microcontroladores mucho más rápidas pero nuevamente limitadas a un acumulador.
La conclusión es que, aunque algunos de los microcontroladores PIC son más rápidos, es mejor trabajar con AVR en términos de ensambladores.
Precio y disponibilidad
Hablando en términos de precio, tanto PIC como AVR son muy similares. Ambos están disponibles en su mayoría al mismo precio. En términos de disponibilidad, el PIC ha logrado entregar los productos en un tiempo estipulado en comparación con el AVR, ya que Microchip siempre tuvo una política de plazos de entrega cortos. Atmel tuvo momentos difíciles debido a que su amplia gama de productos significa que los AVR son una pequeña parte de su negocio, por lo que otros mercados pueden tener prioridad sobre los AVR en cuanto a capacidad de producción. Por lo tanto, es recomendable utilizar PIC en términos de programas de entrega, mientras que AVR puede ser crítico para la producción. Las piezas de microchip tienden a estar disponibles más fácilmente, especialmente en pequeñas cantidades.
Otras características
Tanto PIC como AVR están disponibles en una variedad de paquetes. El PIC lanza más versiones que AVR. La implementación de esta versión puede tener ventajas y desventajas dependiendo de las aplicaciones, ya que más versiones crean confusión al seleccionar el modelo adecuado, pero al mismo tiempo proporciona una mayor flexibilidad. La última versión de PIC y AVR son de muy baja potencia y funcionan en una variedad de rangos de voltaje. Los relojes y temporizadores PIC son más precisos, pero en términos de velocidad, el PIC y el AVR son muy similares.
Atmel Studio 7 ha agregado Production ELF Files, que incluye EEPROM, Flash y datos de fusión en un solo archivo. Mientras que AVR ha integrado datos de fusibles en su formato de archivo hexadecimal, por lo que el fusible se puede configurar en código. Esto permite que la transferencia del proyecto a la producción sea más fácil para PIC.
Conclusión
PIC y AVR son dispositivos excelentes de bajo costo que no solo se utilizan en industrias, sino que también son una opción popular entre estudiantes y aficionados. Ambos son ampliamente utilizados y tienen buenas redes (foros, ejemplos de código) con presencia activa en línea. Ambos tienen un buen alcance y soporte de la comunidad y ambos están disponibles en tamaños y factores de forma amplios con periféricos independientes del núcleo. Microchip se ha hecho cargo de Atmel y ahora se encarga tanto de AVR como de PIC. Al final, se entiende bien que aprender un microcontrolador es como aprender lenguajes de programación, ya que aprender otro será mucho más fácil una vez que haya aprendido uno.
Es independiente de decir que gane quien gane, pero en casi todas las ramas de la ingeniería, no existe una palabra como "mejor", mientras que "Más apropiado para la aplicación" es una frase adecuada. Todo depende de los requisitos de un producto, método de desarrollo y proceso de fabricación en particular. Entonces, dependiendo del proyecto, se puede elegir un microcontrolador adecuado entre PIC y AVR.