Sistemas integrados: ¿En qué microcontrolador debería estar aprendiendo a trabajar? He terminado los conceptos básicos de Arduino. ¿Debo continuar con eso o ir a AVR ya que conozco un poco de la programación de AVR?

Creo que los microcontroladores ARM son dueños del futuro. Pero espera un segundo. Como señaló Quora User, ¿realmente sabes todo sobre la placa Arduino? Dado que Arduino se basa en Atmel AVR ATmega328, no hay diferencia en escribir código para Arduino o escribir código para AVR, aparte del IDE de Arduino y sus bibliotecas. Y hay mucho más en AVR que lo que ves en el IDE de Arduino. En realidad, el IDE de Arduino y sus bibliotecas simples y útiles intentan ocultar la verdadera complejidad de la codificación de microcontroladores detrás de muchas funciones fáciles de usar como Serial.init () o Analog.read (), etc. De hecho, debe saber qué es Serial. La función init () lo hace internamente. ¿Qué registra que cambia? ¿Cómo los calcula?
Intente instalar Atmel Studio y escriba el equivalente de sus bocetos Arduino en él. Debe abrir la hoja de datos PDF ATmega328 y encontrar la sección relevante y aprender qué hacen los diferentes registros y qué consideraciones y limitaciones debe tener en cuenta al cambiarlos. Recuerde, los profesionales no usan Arduino IDE y bibliotecas en aplicaciones profesionales integradas con palabras reales, incluso cuando usan los microcontroladores AVR. Necesitan tener el control total de su programa. Necesitan usar todo sin una pequeña disminución del rendimiento. Además, muchas otras arquitecturas de microcontroladores no tienen una herramienta como Arduino IDE. Pero todos ellos tienen una herramienta similar a Atmel Studio. No se preocupe, trabajar con Atmel Studio no es tan difícil. Tiene muchas herramientas útiles y archivos de definición y es compatible con el ensamblaje C, C ++ y AVR. Tiene un emulador AVR y tiene muchas capacidades de depuración. Utiliza el compilador exacto que usa Arduino. Solo tiene que mantener abierto el archivo PDF de la hoja de datos y usar un poco de Google para comenzar.
Puede compilar fácilmente su código en Atmel Studio y generar un archivo HEX. Luego use “avrdude” para cargarlo en su placa Arduino. De esta manera, puede reutilizar su placa Arduino existente para aprender los componentes internos de los microcontroladores y cómo escribir programas profesionales y avanzados para AVR ATmega328. No necesita gastar dinero y comprar un microcontrolador AVR y otros componentes y gastar tiempo y esfuerzo para armarlos.
Intente escribir programas que usen ADC, PWM, I2C, UART, etc. Programas con Rutinas de Servicio de Interrupción (ISR). Programas con interrupciones anidadas. Etc. Usted sabe que ha terminado, cuando puede decir que puede escribir cada boceto de Arduino que encuentre en C / C ++ simple con la ayuda de la hoja de datos.
El siguiente paso después de que se enteró de que Atmel Studio comenzaría a escribir en ensamblador. Ese también es un mundo nuevo.
OKAY. Ahora hemos terminado con el software. ¿Sabe todo sobre digital, analógico, niveles de voltaje, capacidad de suministro / disipación de corriente, ruido, salida / entrada diferencial, golpeteo de bits, etc.? Intenta dominar el hardware, principalmente analógico. Intenta comprender todo sobre los transistores y MOSFET. Es importante. Intente observar los circuitos analógicos y comprender los comportamientos de diodos, resistencias, condensadores, inductores, etc. También intente comprender todo, incluido el trabajo subyacente de protocolos estándar como I2C, SPI, UART, USB, LIN Bus, CAN Bus, Ethernet, etc. ¿Qué frecuencia PWM proporciona el menor ruido? ¿Cuál es la diferencia entre ASK y FSK? FM con AM? Diferencial y digital? RS-232 vs RS-485? ¿CAN vs LIN vs I2C vs 1-Wire vs SPI vs UART vs …? ¿Qué hacen y cómo lo hacen? En resumen, SE CURIOSO Y APRENDE TODO.
También intente diseñar sus propios circuitos integrados, digitales o analógicos y construirlos utilizando placas de pruebas, protoboards o solicitando su propia PCB.
OKAY. Ahora que has terminado! En serio, me mudaré a otros microcontroladores cuando necesite más velocidad / RAM o necesite una función específica que no pude encontrar en un microcontrolador AVR (que en mi opinión es imposible). Aparte de eso, no veo una razón para pasar de un microcontrolador perfectamente bueno como AVR.
¡Buena suerte!

¿Su objetivo es crear productos para otras personas? ¿O para hacer prototipos usted mismo? Esa es una especie de pregunta clave.

Si va a hacer incrustados profesionalmente, deberá graduarse de Arduino más temprano que tarde, porque no aprenderá completamente el chip hasta que esté programando en un entorno de desarrollo regular y construyendo las piezas de nivel inferior usted mismo. y tener un conjunto de herramientas completo. De lo contrario, probablemente pueda quedarse con Arduino y simplemente aprender haciendo un montón de proyectos e intentando escribir más de sus propias bibliotecas.

Personalmente, no soy un gran fanático de AVR. Si decide en qué es probable que trabaje a continuación, debe elegir una familia de procesadores basada en los periféricos disponibles y el soporte del proveedor. Tendería hacia un ARM Cortex-M0, M3, M4 o M7 de TI, STM o NXP. Pero sobre todo, concéntrese en lo que necesita del microcontrolador más allá del núcleo: Bluetooth, Wi-Fi, potencia ultra baja, ADC de alta precisión, alto conteo de E / S y bajo costo.

Pero puedo prometerle que todavía no ha “aprendido microcontroladores”. Eso lleva muchos años y mucha experiencia con múltiples microcontroladores, diseños de sistemas y entornos de desarrollo. Estás comenzando y hay mucha diversión por delante.

Si desea aumentar su conocimiento en el dominio de la electrónica central, entonces debe aumentar su conocimiento en el sistema integrado. Ahora hablemos de los sistemas embebidos.

Para saber cómo funciona un sistema integrado, debe conocer ciertas cosas e ir paso a paso.

1) Aprenda la programación en C a fondo (Operador en bits / Llamada por valor / Llamada por referencia / Puntero / Matriz / Función / Estructura).

2) Aprenda electrónica (dispositivos electrónicos y teoría de circuitos) (PDF que puede encontrar en la web) y electrónica digital.

3) Aprenda el microcontrolador de la versión básica a la superior (AT89c51 / Arduino / ARM / STM32F427).

4) Aprenda el protocolo de comunicación (I2C / SPI / UART / CAN).

5) Obtenga experiencia práctica en herramientas (KEIL uVision, AVR Studio, Arduino, STm32 Cube, Proteus), donde sabrá cómo escribir, depurar y descargar un código en un microcontrolador.

6) Construya algunos kits de bricolaje (Sensor Shield / GSM shield / Ultrasonic Sensor). Por favor, eche un vistazo a esto.

Para Sensor Shield: Adormi Sensor de temperatura y controlador electrónico Hobby Kit Precio en India – Compre Adormi Sensor de temperatura y controlador electrónico Hobby Kit en línea en Flipkart.com

Para GSM Shield: Adormi Educational Electronic Hobby Kit Precio en India – Compre Adormi Educational Electronic Hobby Kit en línea en Flipkart.com

Para MP3 Shield: Adormi Educational Electronic Hobby Kit Precio en India – Compre Adormi Educational Electronic Hobby Kit en línea en Flipkart.com. Algunos kits de bricolaje, presione el enlace a continuación.

Para el sensor de estacionamiento ultrasónico: precio del sensor de estacionamiento para automóviles Adormi Ultra Sonic en India – Compre en línea el sensor de estacionamiento para automóviles Adormi Ultra Sonic en Flipkart.com

Para el acelerador de motor de CC basado en gestos: precio del acelerador de motor de CC basado en gestos de Adormi en India – Compre en línea en Flipkart.com el acelerador de motor de CC basado en gestos Adormi

así, muchos más productos Build it yourself están ahí.

Para Flipkart: Adormi – Compre productos en línea al mejor precio en India – Todas las categorías | Flipkart.com

Para Amazon: Adormi: Industrial y Científico

Para el dominio VLSI:

Si quiere aumentar su conocimiento en VLSI (Very Large Scale – Integration), debe ir paso a paso:

1) VLSI es el proceso de crear un circuito integrado (IC) mediante la combinación de miles de transistores en un solo chip. VLSI comenzó en la década de 1970 cuando se desarrollaron tecnologías complejas de semiconductores y comunicación. El microprocesador es un dispositivo VLSI. Antes de la introducción de la tecnología VLSI, la mayoría de los circuitos integrados tenían un conjunto limitado de funciones que podían realizar. Un circuito electrónico puede consistir en una CPU, RAM, ROM y otra LÓGICA DE PEGAMENTO. VLSI permite a los diseñadores de IC agregar todo esto en un chip.

Desafíos:

  • Variación del proceso : a medida que las técnicas de fotolitografía se acercan a las leyes fundamentales de la óptica, lograr concentraciones de penetración de alta precisión y cables grabados se vuelve más difícil y propenso a errores debido a la variación. Los diseñadores ahora deben simular en múltiples esquinas del proceso de fabricación antes de que un chip esté certificado listo para la producción, o utilizar técnicas a nivel de sistema para lidiar con los efectos de la variación.
  • Reglas de diseño más estrictas : debido a los problemas de litografía y grabado con la escala, las reglas de diseño para el diseño se han vuelto cada vez más estrictas. Los diseñadores deben tener en cuenta cada vez más estas reglas al diseñar circuitos personalizados. La sobrecarga para el diseño personalizado ahora está llegando a un punto de inflexión, con muchas casas de diseño que optan por cambiar a herramientas de automatización de diseño electrónico (EDA) para automatizar su proceso de diseño.
  • Cierre de temporización / diseño: a medida que las frecuencias de reloj tienden a aumentar, los diseñadores encuentran cada vez más difícil distribuir y mantener un sesgo de reloj bajo entre estos relojes de alta frecuencia en todo el chip. Esto ha llevado a un creciente interés en arquitecturas multicolores y multiprocesador, ya que se puede obtener una aceleración general incluso con una frecuencia de reloj más baja utilizando la potencia de cálculo de todos los núcleos.
  • Éxito de primer paso : a medida que se reducen los tamaños de los troqueles (debido al escalado) y aumentan los tamaños de las obleas (debido a los menores costos de fabricación), aumenta el número de troqueles por oblea y la complejidad de hacer fotomascaras adecuadas aumenta rápidamente. Una máscara para una tecnología moderna puede costar varios millones de dólares. Este gasto no recurrente disuade la vieja filosofía iterativa que involucra varios “ciclos de centrifugado” para encontrar errores en el silicio, y fomenta el éxito del silicio de primer paso. Se han desarrollado varias filosofías de diseño para ayudar a este nuevo flujo de diseño, incluido el diseño para fabricación (DFM), el diseño para prueba (DFT) y el Diseño para X.

Cree algunos kits de bricolaje, que lo ayudarán a comprender cómo funciona y obtendrá una experiencia práctica práctica.

Espero que definitivamente ayude.

Si tiene alguna consulta, háganos saber

correo: [correo electrónico protegido]

Ofrecemos pasantías también

Programa de pasantías Adormi EEE / ECE

La mayoría de los sistemas en chip se basan en ARM Cortex M0, M3, M4. Más tarde, Arduino también está en ARM Cortex. Si planea pasar del aprendizaje a los dispositivos para la producción en masa. Basado en esto, mi adaptador GSM / GPS / BT admitirá el viejo Arduino UNO en AVR, STM32 Nucleo (ARM Cortex M0, M3, M4), Intel Galileo y más PCB con encabezado Arduino.

Leer más: Módulo Bluetooth GPS GSM de bajo costo en el escudo Arduino

Alguien más mencionó aprender más sobre las diversas características del chip, especialmente al incorporarlas al proyecto. Sugiero encarecidamente que, además de aprender a programar y depurar el Arduino en C.

Si realmente tiene un proyecto que necesita más potencia de procesador y / o se beneficiaría de un RTOS, busque plataformas basadas en ARM, por ejemplo, mbed o Maple.

Actualización: Arduino tiene una nueva placa basada en ARM.

No creo que deba centrarse en el procesador, sino en las cosas con las que el procesador interactúa. Aprender sobre los tipos de interfaces, sus atributos, casos de uso y, de hecho, cómo funcionan y cómo se implementan es más importante y es un conocimiento multiplataforma. Comprender los fenómenos del mundo real, como los efectos de la energía, los efectos de arranque, los efectos ambientales como el calor, el ruido eléctrico, el consumo de energía, etc., es lo que lo distinguirá de un teórico.