Las dos características principales de los sistemas integrados son:
- Los ES tienen un solo propósito : están diseñados para ejecutar una sola aplicación (de manera diferente a una PC de propósito general, que podría ejecutar todos los programas que desee)
- Los ES son en tiempo real: siempre se comunican con el entorno, reciben datos y realizan algo en ellos.
Generalmente están compuestos por:
- Sensores: para recibir datos del entorno. en términos de corrientes o voltajes
- ADC (convertidor analógico a digital): convierte las señales analógicas del sensor (corriente, voltaje) en señales digitales (números binarios)
- Circuito digital: CPU de propósito único que realiza algunas operaciones en los datos recibidos de ADC
- DAC (Convertidor digital a analógico): convierte señales digitales recibidas de la CPU en señales analógicas
- Actuadores: ellos están controlados por señales analógicas procedentes de DAC, que realizan algo en el entorno
Podrían usarse para ejecutar:
- ¿Qué tableros (AVR, Rasph Pi3, Arduino o cualquier otro) deberían comenzar como principiantes teniendo en cuenta las tendencias actuales de la industria?
- ¿Cómo funcionan los microcontroladores AVR?
- ¿Cuáles son los mejores recursos (libros, cursos de video, etc.) para aprender la programación del Sistema Embebido? Ya conozco el desarrollo de escritorio (usando C ++ y C #).
- ¿Cómo puedo diseñar un sistema integrado para un microcontrolador que no puedo simular?
- ¿Qué cosas puedo hacer con un microcontrolador de plumas adafruit?
- Aplicación no crítica para la seguridad: en caso de fallo, no pueden dañar el entorno (p. Ej., La máquina del proveedor)
- Aplicación crítica de seguridad: en caso de falla, pueden dañar el entorno (p. Ej., Controlador de semáforo)
Durante el diseño, puede pretender que su ES tiene que ser:
- Fiable: especialmente cuando ejecute una aplicación crítica de seguridad como el controlador dentro de un avión (o piense en el controlador dentro del telescopio Hubble: desea que sea confiable, para reducir la mayor cantidad posible de reparaciones humanas)
- Potencia amigable: especialmente en un sistema móvil donde no puede proporcionar energía a través de fuentes de alimentación o algo similar (por ejemplo, panel solar)
- Pequeño : no podría tener suficiente espacio para un sistema integrado más grande
- Rápido: ( alta frecuencia, pequeño retraso, alto rendimiento) especialmente cuando su aplicación en tiempo real está muy restringida y no puede proporcionar salidas a tiempo con ES más lentos)
Ahora la pregunta podría ser: ¿cómo diseñas los sistemas integrados? Hay dos respuestas posibles:
- Compre uno (ya existe una gran variedad de sistemas integrados, por lo que debe decidir cuál se adapta a su propósito, eso no es trivial silencioso)
- Comience desde el diseño RTL (Registro de nivel de transferencia) (o también puede comenzar desde el nivel del sistema) y baje hasta la implementación física (si desea más información, lea a continuación)
PASOS DE DISEÑO:
Estamos hablando de sistemas embebidos, pero en realidad estos deberían ser los pasos necesarios para producir cualquier circuito digital.
- Diseño RTL : usted describe el hardware que necesita dentro de su circuito digital utilizando un lenguaje de descripción de hardware (como VHDL o Verilog). Si, por ejemplo, necesita una ALU dentro de su circuito, describa cómo se hace (número de entrada, número de salida) y cuáles son las operaciones que realiza (por ejemplo, suma, operaciones bit a bit, …).
- Síntesis: hay un software llamado sintetizador capaz de incorporar la lista de redes (es decir, el circuito) descrito en VHDL / Verilog y producir una lista de redes mapeada en una biblioteca de puerta real (prácticamente, toma la lista de redes RTL y produce una lista de redes a nivel de puerta, implementando todo el circuito con y, o, xor,… puertas descritas dentro de la biblioteca de puertas)
- Fase de optimización: siempre las herramientas de sintetizador (la licencia puede ser muy costosa) pueden optimizar la lista de red para mejorar el rendimiento (tiempo de llegada de datos pequeño, tan alta frecuencia), reducir el área ocupada, reducir el consumo de energía. Debe proporcionar scripts al sintetizador para poder manejarlo durante esta fase.
- Diseño físico: la lista de redes de nivel de puerta producida por el sintetizador se asigna mediante una herramienta en un soporte físico (debe decidir cosas como cuántas capas de metal se deben usar) que luego se enviará al fabricante
Otro paso crucial que debe hacerse es la fase de prueba: debe realizarse tanto antes como después de la implementación física.