Por qué estoy emocionado de que Microchip esté comprando Atmel - 💡 Fix My Ideas

Por qué estoy emocionado de que Microchip esté comprando Atmel

Por qué estoy emocionado de que Microchip esté comprando Atmel


Autor: Ethan Holmes, 2019

Sega vs. Nintendo, Mac vs. PC, Android vs. iOS… la industria de la tecnología ha generado una buena cantidad de “guerras santas” en nuestro tiempo. Pero hay uno que tuvo a los fabricantes e ingenieros integrados en pie desde la década de los noventa, la guerra de los microcontroladores de 8 bits: el PIC de Microchip contra el AVR de Atmel.

Con el anuncio del miércoles de que Microchip comprará Atmel por $ 3,56 mil millones, ¿finalmente habrá terminado la guerra? ¿Qué significa esto para el futuro del desarrollo integrado?

Probablemente no mucho a corto plazo. Microchip y Atmel continuarán produciendo y brindando soporte para sus dispositivos existentes en el futuro, ya que, bueno, están en todo. En su hogar, en su automóvil, en su bolsillo: Microchip ha enviado más de 12 mil millones de PIC hasta la fecha, y el megaAVR de Atmel es el chip que impulsó al primer Arduino, que introdujo a muchos de los creadores al mundo de la computación física.

Aunque hay muchas promesas aquí. Microchip / Atmel tiene la oportunidad de combinar lo mejor de los mundos AVR y PIC en una impresionante plataforma de microcontroladores. A pesar de la creciente popularidad y el costo decreciente de los potentes chips ARM de 32 bits, todavía hay muchas aplicaciones donde todo lo que necesita son 8 bits.

Entonces, ¿cuáles son las diferencias entre PIC y AVR, e incluso son importantes? Si recién está comenzando en el mundo del software integrado, probablemente esté listo para usar la placa Arduino y sus herramientas fáciles de usar. Pero cuando desee dar el siguiente paso: convertir su prototipo en un dispositivo listo para la producción o crear aplicaciones críticas para el tiempo, tendrá que tomar una decisión.

AVR: Open Source, Maker Friendly

Si ha usado un Arduino anteriormente, ya ha programado el AVR: está en Uno, Pro, Mega, Gemma, LilyPad, Leonardo, Diecimilia, Duemilanove y más. Es popular entre los creadores porque ha sido acogido por la comunidad de código abierto. Si desea comenzar con la programación AVR independiente, todas las herramientas que necesita están disponibles de forma gratuita, para todos los sistemas operativos. AVR-GCC es un compilador de C con todas las funciones y es compatible (si usas una Mac, la configuración es tan fácil como instalar CrossPack), y la utilidad AVRDUDE te permite cargar tu código en un microcontrolador AVR usando uno de los muchos dispositivos de programación como El AVRISP mkII oficial de Atmel o el programador AVR de bolsillo de Sparkfun.

La "R" en AVR significa RISC: computación reducida del conjunto de instrucciones. Lo que eso significa es que si alguna vez quieres ensuciarte las manos con un lenguaje ensamblador, lo pasarás genial. El conjunto de instrucciones es adecuado tanto para compiladores de C como lo suficientemente directo para permitir la codificación manual de rutinas de tiempo limitado. Hay una cantidad considerable de proyectos AVR asombrosos por ahí que hacen cosas asombrosas con el lenguaje ensamblador: los tableros de demostración Craft, Phasor y Bitbanger de Linus “lft” Åkesson, la consola de juegos Uzebox y mi propio proyecto Terminalscope que te permite navegar por la web tu osciloscopio

Desafortunadamente, donde el AVR se queda corto es por tu dinero. El ATmega328P, el corazón de Arduino Uno, cuesta $ 3.70 por un paquete DIP que se pueda poner en el mercado. Esto le brinda 32K de ROM para su código, 2K de RAM y 23 pines de E / S: seis de los cuales se pueden usar para leer voltajes analógicos, y seis de los cuales pueden emitir señales PWM para motores de accionamiento o LED de atenuación. Si desea más pines o más memoria, por ejemplo, 16K de RAM y 32 pines de E / S, en un paquete DIP de 40 pines, ¡tendrá que actualizar a ATmega1284, que le costará $ 7,67! Si está de acuerdo con la soldadura de montaje en superficie, hay opciones más baratas con periféricos más exóticos como el USB incorporado, pero encontrará piezas similares de otros fabricantes a una pequeña porción de ese precio.

"Hay un PIC para eso"

Antes de Arduino, el PIC de Microchip era el chip de elección para los aficionados y profesionales por igual. Su línea de productos es enorme, están llenas de periféricos y son muy baratas. ¿Quieres 28 canales de entrada analógica en un paquete DIP? El PIC16F1717 es de $ 2. ¿Quieres hacer algo genial que le hable a tu computadora por USB? PIC16F1454, $ 1.40, ¡no se necesitan componentes adicionales!

Microchip ha puesto algunos periféricos bastante interesantes en sus PIC que pueden reducir o eliminar la necesidad de componentes externos, lo que potencialmente reduce los costos aún más. Muchos tienen convertidores de digital a analógico (DAC) integrados para generar verdaderos voltajes de salida analógica. El generador de forma de onda complementario puede simplificar la conducción de los motores de CC. Y la Celda lógica configurable es como un pequeño FPGA: puede realizar operaciones simples (AND, OR, XOR y más) en las señales de entrada y enrutarlas a salidas sin ninguna intervención del procesador principal, incluso en el modo de suspensión.

Por lo tanto, los PIC son muy baratos, están ampliamente disponibles y tienen muchas cosas interesantes a bordo. ¿Cuál es el inconveniente? ¿Por qué fue el AVR el que subió al megastardom en la revolución del microcontrolador Maker de mediados de la década de 2000 y no el PIC? Muchos dirían que son las herramientas. Si bien existen numerosas herramientas gratuitas y de código abierto para el desarrollo de AVR, si desea programar PIC, necesitará usar el software y el hardware de Microchip.

Hasta hace unos años, esto restringía el desarrollo de PIC solo para usuarios de Windows. El entorno de desarrollo integrado (IDE) actual de Microchip, MPLAB X, se basa en la plataforma NetBeans y se ejecuta en Windows, OS X y Linux. La descarga es de más de 500 MB. La interfaz de usuario puede ser desalentadora, con su matriz de barras de herramientas, barras laterales y diálogos de configuración. Si eres más del tipo de línea de comandos, es posible usar un script escondido en el paquete de la aplicación MPLAB X para cargar el código en tu chip.

A diferencia de la arquitectura RISC limpia del AVR, la memoria del PIC está segmentada en bancos de 128 bytes, solo uno de los cuales puede estar activo a la vez. Esta disposición ha obstaculizado el desarrollo de compiladores de código abierto. El compilador Small Device C es el único que conozco. Lo he usado para producir resultados de trabajo, pero puede que no sea compatible con todas las características de los últimos chips, y tiene algunos errores. Si desea programar un PIC en C, su única otra opción es el compilador XC8 de Microchip. La versión gratuita no realiza ninguna optimización en su código: si desea crear el código más rápido posible, deberá comprar una licencia Pro, que le costará mil dólares. Un gasto justificable para un ingeniero profesional que está enviando un millón de dispositivos, pero lamentablemente fuera del alcance de la mayoría de los aficionados.

En lo que respecta a los programadores de dispositivos, el PICkit 3 ($ 50) es el único dispositivo que garantiza la compatibilidad con los últimos modelos PIC. Pueden ser complicados de configurar (el mío no funcionaría con mi Mac de fábrica, y tuve que usar una PC con Windows para actualizar su firmware) pero hacer el trabajo bien.

El futuro

Estoy soñando con que Microchip / Atmel libere una nueva generación de microcontroladores con arquitectura AVR, cadena de herramientas de código abierto y la amplia selección de periféricos y precios bajos del PIC, ¿pero es demasiado tarde? Los dispositivos ARM Cortex-M de 32 bits, como los de Teensy y Arduino Due, están listos para apoderarse del mercado de gama baja, y los sistemas Linux con todas las funciones como la Raspberry Pi Zero y CHIP se pueden comprar por un puñado de dolaresPero hay algo que decir sobre la simple simplicidad del micro de 8 bits. Puedes aprender todo lo que hay que saber sobre uno en unas pocas semanas. Exprima hasta la última gota de rendimiento de un chip: contar ciclos de reloj, escribir lenguaje de ensamblaje a mano, cortar instrucciones para que su código encaje en una parte más barata: esto es lo que me mantiene a mí ya muchos otros piratas informáticos entusiasmados con el desarrollo integrado.



Puede Que Le Interesen

Maker Faire New York: La elaboración de la cerveza como arte

Maker Faire New York: La elaboración de la cerveza como arte


Tus comentarios

Tus comentarios


Hardware Open Source, Talleres y Cumbres.

Hardware Open Source, Talleres y Cumbres.


Taller de innovación de hardware: una retrospectiva de video

Taller de innovación de hardware: una retrospectiva de video






Mensajes Recientes