Los sistemas integrados de hoy consisten en los siguientes elementos tecnológicos:
1. Microcontroladores: una CPU que ejecuta el firmware de su aplicación, generalmente programado en lenguaje C incorporado. Los núcleos de CPU populares hoy en día están basados en ARM Cortex-M. Dichos procesadores funcionan en una frecuencia inferior a 100 Mhz y tienen una potencia extremadamente baja, de modo que pueden ser alimentados por baterías pequeñas. Es útil para familiarizarse con las herramientas de desarrollo en todo el ecosistema ARM.
También están los microprocesadores y procesadores de aplicaciones más grandes, como la serie ARM Cortex-A, que generalmente se ejecutan en el rango de más de 100 MHz, a menudo en las frecuencias de GHz en estos días. Estos procesadores manejan mucho más, cuentan con capacidades multimedia y, por supuesto, son más caros y consumen mayores cantidades de energía.
2. Sistemas digitales: se utilizan para el control y la lógica, y a menudo para la comunicación entre chips a través de protocolos estándar. Es útil saber cómo diseñar hardware digital en FPGA o CPLD utilizando lenguajes de descripción de hardware como VHDL o Verilog. También es bueno familiarizarse con interfaces y protocolos estándar de la industria como I2C, SPI, UART y aprender a diseñarlos en FPGA o CLPD. Tenga en cuenta que los FPGA son mucho más grandes que los CPLD en términos de conteo de puertas.
- Tengo una placa Arduino Uno, con un código (boceto) ya quemado / almacenado en el microcontrolador. ¿Cómo puedo acceder a ese código?
- ¿Hay algún algoritmo con una amplia aplicación que un ingeniero de sistemas integrados debería conocer?
- Cómo aprender la codificación de un microcontrolador
- ¿Pueden los valores de ganancia PID negativos ser estables?
- ¿Cómo funciona openOCD?
3. Sistemas analógicos: utilizados para interactuar con el “mundo real”, piense en sensores ambientales que emiten señales eléctricas analógicas puras. Es útil conocer el diseño de circuitos analógicos, por lo que puede diseñar circuitos de acondicionamiento de señal para tomar salidas de voltaje de los sensores y convertirlos en valores digitales significativos que una CPU pueda entender y procesar.
4. Herramientas de desarrollo: cada una de las 3 anteriores generalmente tiene sus propios kits de desarrollo y herramientas de software, ya que a menudo provienen de múltiples proveedores de silicio. Los kits populares en estos días son de bajo costo, fáciles de aprender y usar, y tratan de reducir la barrera de entrada al desarrollo. Arduino se ha vuelto muy popular por esta razón. Otros proveedores de semiconductores de diversos dominios tecnológicos ahora ofrecen plataformas y herramientas de desarrollo de bajo costo.
5. Diseño de la placa: el diseño de PCB es una habilidad extremadamente útil para tener una vez que haya sido capaz de diseñar sistemas completos utilizando # 1,2,3,4 anteriores. Poner todos los chips juntos en una placa, junto con los circuitos de alimentación y protección es el paso final para pasar del diseño a la creación de prototipos.
Hay algunos productos interesantes ahora que han estado causando un cambio de paradigma en los últimos años. Estos productos se denominan comúnmente “SoCs” o System-on-Chips. Esencialmente integran las funciones de múltiples circuitos integrados de dominio cruzado en un solo chip programable que puede hacer todo en 3: CPU, analógico y digital. Esto simplifica enormemente el diseño integrado, acelera el tiempo de comercialización y tiene la gran ventaja de trabajar con un único proveedor de semiconductores. PSoC (Sistema programable en chip – Cypress) es un SoC basado en ARM Cortex-M que también integra bloques analógicos programables y bloques digitales programables además del subsistema del microcontrolador. Cypress ofrece un entorno de diseño único, PSoC Creator, que permite a los diseñadores hacer todo el diseño del sistema, hardware y firmware, al mismo tiempo en una única herramienta gratuita. También tienen kits de desarrollo de bajo costo como el Kit Pioneer PSoC 4 de $ 25 (CY8CKIT – 042 Kit Pioneer PSoC® 4 – Cypress) que también funciona bien con el ecosistema Arduino. El PSoC es un buen punto de partida para aprender los 360 ‘de los sistemas integrados, ya que cubre todos los dominios tecnológicos en un solo chip.
(divulgación completa: actualmente trabajo para Cypress Semiconductor en PSoC)