O que é um sistema embarcado?

¿Qué es un sistema integrado?

Si miramos a nuestro alrededor, estamos rodeados de sistemas informáticos. Cada año, se construyen millones de sistemas informáticos destinados a ordenadores de sobremesa.
Figura 1: Una imagen representativa del sistema integrado
(computadoras personales, estaciones de trabajo, mainframes y servidores), pero, sorprendentemente, cada año se construyen miles de millones de sistemas informáticos integrados en dispositivos electrónicos más grandes y aún así pasan desapercibidos. Cualquier dispositivo alimentado eléctricamente ya tiene un sistema informático o pronto tendrá un sistema informático incorporado.

Hoy en día, los sistemas integrados se encuentran en teléfonos móviles, cámaras digitales, videocámaras, videojuegos portátiles, calculadoras y asistentes digitales personales, hornos microondas, contestadores automáticos, sistemas de seguridad del hogar, lavadoras, sistemas de iluminación, máquinas de fax, fotocopiadoras, impresoras y escáneres. cajas registradoras, sistemas de alarma, cajeros automáticos, control de transmisión, control de crucero, inyección de combustible, frenos antibloqueo, suspensión activa y muchos otros dispositivos/aparatos.
¿Qué es un sistema integrado?
Una definición precisa de sistemas integrados no es fácil. En pocas palabras, todos los sistemas informáticos, excepto los ordenadores de uso general (con monitor, teclado, etc.), son sistemas integrados.
Un sistema es una forma de trabajar, organizar o realizar una o más tareas de acuerdo con un conjunto fijo de reglas, programa o plan. En otras palabras, un acuerdo en el que todas las unidades se reúnen y trabajan juntas de acuerdo con un programa o plan. Un sistema integrado es un sistema que tiene software integrado en el hardware, lo que lo convierte en un sistema dedicado para una aplicación específica o parte de una aplicación o producto o parte de un sistema más grande. Procesa un conjunto fijo de instrucciones preprogramadas para controlar equipos electromecánicos que pueden ser parte de un sistema aún más grande (no una computadora con teclado, pantalla, etc.).
Una definición general de sistemas integrados es que son dispositivos utilizados para controlar, monitorear o ayudar al funcionamiento de equipos, máquinas o instalaciones. “Incorporados” refleja el hecho de que son parte integral del sistema. En muchos casos, su “integración” puede ser tal que su presencia dista mucho de ser obvia para el observador casual. El diagrama de bloques de un sistema integrado típico se muestra en la fig.
Um diagrama de blocos mostrando um sistema embarcado típico
Fig. 2: Un diagrama de bloques que muestra un sistema integrado típico

Un sistema integrado es un artefacto de ingeniería que involucra computación y que está sujeto a restricciones físicas (restricciones de reacción y restricciones de ejecución) que surgen de las interacciones de los procesos computacionales con el mundo físico. Las restricciones de reacción se originan a partir de requisitos de comportamiento y especifican plazos, rendimiento y fluctuaciones, mientras que las restricciones de ejecución se originan a partir de requisitos de implementación e imponen límites a las velocidades de procesador, potencia, memoria y tasas de falla de hardware disponibles. La clave para el diseño de sistemas integrados es lograr la funcionalidad deseada bajo ambos tipos de restricciones.

CARACTERÍSTICAS
El) Los sistemas integrados son aplicaciones específicas y tienen una única función; La aplicación se conoce a priori, los programas se ejecutan repetidamente.
B) La eficiencia es de suma importancia para los sistemas integrados. Están optimizados en cuanto a potencia, tamaño del código, tiempo de ejecución, peso y dimensiones, y costo.
w) Los sistemas integrados suelen estar diseñados para cumplir con limitaciones en tiempo real; un sistema en tiempo real reacciona a los estímulos del objeto/operador controlado dentro del intervalo de tiempo dictado por el entorno. Para los sistemas en tiempo real, las respuestas correctas que llegan demasiado tarde (o incluso demasiado pronto) son incorrectas.
Es) Los sistemas integrados a menudo interactúan (detectan, manipulan y comunican) con el mundo externo a través de sensores y actuadores y, por lo tanto, suelen ser sistemas reactivos; un sistema reactivo está en interacción continua con el entorno y funciona a un ritmo determinado por ese entorno.
Es) Por lo general, tienen una interfaz de usuario mínima o nula.

Métricas y arquitectura de diseño

MÉTRICAS DE DISEÑO PARA SISTEMAS EMPOTRADOS
Además de cumplir con la funcionalidad deseada de un sistema integrado, el diseñador de sistemas integrados debe optimizar las siguientes métricas de diseño
· N sobre R que ocurre E Costo de ingeniería (NRE): Dinero invertido en I+D y el desarrollo del primer prototipo funcional y probado.
· Costo unitario: Costo de producir una unidad.
· Energia electrica
· Rendimiento: rendimiento del sistema, potencia informática, tiempo de respuesta
· Corrección funcional
· Fiabilidad; Tolerancia a fallos, fiabilidad, mantenibilidad, disponibilidad.
· Tamaño físico y peso.
· Es hora de crear un prototipo
· Es hora de salir al mercado
· Seguridad: No debe causar daños a terceros.
· Mantenimiento, facilidad de uso.
Estas métricas compiten entre sí; aumentar uno puede afectar a otros. En consecuencia, optimizar estas métricas es un desafío para un diseñador de sistemas integrados.

ELEMENTOS DE SISTEMAS EMPOTRADOS
. Hardware
El elemento central de un sistema integrado es el procesador o una unidad computacional. Los procesadores pueden actuar como el cerebro del sistema. Se pueden programar para realizar una tarea. Esto se puede diseñar utilizando una variedad de opciones.
· Microprocesadores de uso general
Los microprocesadores de uso general son dispositivos semiconductores de un solo chip que son una computadora en un chip pero no una computadora completa. Su CPU contiene una unidad lógica aritmética (ALU), un contador de programa (PC), un puntero de pila (SP), registros, un reloj y un circuito de interrupción en un solo chip. Para hacer una microcomputadora completa, es necesario agregarle memoria generalmente ROM y RAM, un decodificador de memoria, un oscilador, varios puertos serie y paralelo.
Um diagrama que ilustra a estrutura de um microprocessador de uso geral
Fig. 3: Un diagrama que ilustra la estructura de un microprocesador de uso general.

Un procesador de propósito general está diseñado para servir a una gran cantidad de aplicaciones y, por lo tanto, se produce en masa. Usarlo en un sistema integrado ofrece varios beneficios. El tiempo de diseño es reducido ya que sólo hay que desarrollar el software, sin involucrar ningún diseño digital. Las características típicas de los procesadores de propósito general son costo relativamente alto, altas velocidades, mayor consumo de energía, gran arquitectura, gran tamaño de memoria, flash y caché integrados, una interfaz de bus externo para un mayor uso de memoria.
Ejemplos: 680×0 de Motorola, x86 de Intel
· Microcontroladores/procesadores integrados
Un microcontrolador es un sistema informático funcional en un chip. Contiene un procesador integrado, memoria (una pequeña cantidad de RAM, memoria de programa o ambas), varios dispositivos periféricos como temporizadores, convertidores analógicos a digitales y dispositivos de comunicaciones en serie, todo en un solo chip, lo que resulta en un chip compacto y de bajo consumo. implementaciones. No es ampliable porque no tiene interfaz de bus externo. Algunos ejemplos son FOTO de DSPIC33/PIC24, Motorola 6811, Intel 8051
Las características típicas de un microcontrolador son: Bajo costo, Baja velocidad, Bajo consumo de energía, Arquitectura pequeña, Tamaño de memoria pequeño, Flash integrado, E/S limitada.

Uma imagem representacional do sistema embarcado

Fig. 4: Una figura que muestra diferentes elementos de un microprocesador/procesador integrado

Los microcontroladores brindan acceso a pines que permite a los programas monitorear fácilmente sensores, configurar actuadores y transferir datos con otros dispositivos. Proporcionar instrucciones especializadas mejora el rendimiento de las aplicaciones de sistemas integrados; por lo tanto, los microcontroladores pueden considerarse ASIP hasta cierto punto.
Los microcontroladores especiales suelen denominarse procesadores integrados. La diferencia entre un microcontrolador y un procesador integrado no está clara, pero muchos proveedores comercializan procesadores con arquitecturas grandes con procesamiento rápido, cambio de contexto rápido y operaciones ALU atómicas como procesadores integrados. Ejemplos de procesadores integrados son ARM 7, Intel i960, AMD 29050
· ASIP/DSP
Un procesador de conjunto de instrucciones de aplicación específica (o ASIP) está diseñado para una clase específica de aplicaciones con características comunes, como procesamiento de señales digitales, telecomunicaciones, control integrado, etc. flexibilidad sin dejar de lograr un buen rendimiento, potencia y tamaño. Sin embargo, dichos procesadores pueden requerir un gran costo de ingeniería (NRE) N sobre R (para construir el procesador, compilador si no existen). Los procesadores P (DSP) de señal digital D - S son una clase común de ASIP. DSP es una unidad VLSI de un solo chip; un procesador especialmente diseñado para soportar tareas de alto rendimiento, repetitivas y numéricamente intensivas, incluidas operaciones como multiplicación y suma o cambio y suma.
Las características típicas de los procesadores DSP son
1. Arquitectura de Harvard
dos. Unidad MAC para soportar M últimamente: AC acumula operaciones en un solo ciclo.
3. Capacidad para completar múltiples accesos a la memoria en un solo ciclo de instrucción.
4. Una o más unidades de generación de direcciones dedicadas para acelerar el procesamiento aritmético.
Ejemplos de DSP son: TMS320Cxx, SHARC y Motorola 5600xx.
· asico
Los circuitos integrados son básicamente “chips”, es decir, obleas de silicio con transistores, resistencias, condensadores fabricados para actuar como microprocesadores, amplificadores, memoria, etc. Los circuitos integrados S ( I ) de aplicación específica están diseñados para una aplicación especial. El convertidor de digital a audio, el receptor DSSS y el decodificador Mpeg2 son ejemplos de ASIC.
Los ASIC ofrecen un rendimiento muy alto, pero el coste de NRE es muy elevado. Con los ASIC, el bloqueo de la sincronización es un problema, especialmente con geometrías submicrométricas profundas. La reconfigurabilidad es muy limitada.

· FPGA/CPLD
F campo P programable Puerta Un radio ( FPGA ) es una alternativa totalmente programable a un chip personalizado. También se les llama Unidad de Procesamiento Reconfigurable.
Es una matriz bidimensional de bloques lógicos y flip-flops con un medio para que el usuario configure la interconexión entre los bloques lógicos y la función de cada bloque. La tecnología FPGA permite incorporar procesador, ROM, RAM, DSP y cualquier otro bloque en un solo chip. Esto reemplaza muchos chips de circuitos integrados para aplicaciones específicas. FPGA ofrece una ventaja de rendimiento de hardware paralelo con flexibilidad de software. Esto tiene importantes ventajas en términos de costo, confiabilidad, reutilización de la propiedad intelectual y tiempo de comercialización.
Basados ​​en las interconexiones entre celdas, existen dos tipos de FPGA
¨ Reprogramable (basado en SRAM): Xilinx, LatticeXP2, Altera, Atmel
¨ Programable una vez – Actel, Quicklogic
Los dispositivos mágicos P programables complejos ( CPLD ) son ligeramente diferentes de los FPGA; La diferencia radica principalmente en la arquitectura. Un CPLD consta de una o más matrices lógicas de suma de productos programables que alimentan un número relativamente pequeño de registros sincronizados. Como resultado, son menos flexibles y, por lo tanto, ofrecen la ventaja de retrasos de tiempo más predecibles y una relación lógica-interconexión más alta. Por otro lado, las arquitecturas FPGA están dominadas por la interconexión. Esto los hace mucho más flexibles, pero también mucho más complejos de diseñar. Además, los FPGA son generalmente mucho más grandes en términos de características que los CPLD. Otra distinción común es que los CPLD contienen flash incorporado para almacenar su configuración, mientras que los FPGA a menudo, pero no siempre, requieren flash externo.
· SoC reconfigurables
Los avances tecnológicos, en particular la reducción de las geometrías de fabricación de silicio, están permitiendo la integración de plataformas complejas en un único sistema S ( SoC). Además de subsistemas de hardware específicos, un SoC moderno también puede incluir uno o varios subsistemas de CPU para ejecutar software e interconexiones sofisticadas. Las plataformas multimedia como Nomadik y Nexperia son ejemplos de SoC multiprocesador que utilizan procesadores de señales digitales, microcontroladores y otros tipos de procesadores programables. FPSLIC de Atmel (AVR+FPGA), OMAP de TI (ARM Cortex + GPU personalizada+TI DSP) son otros ejemplos.

Arquitectura II

dos. Software
Si el hardware forma el cuerpo de los sistemas integrados , el software es el alma de los sistemas integrados. El software aporta funcionalidad a un sistema integrado.
Han surgido una variedad de lenguajes ya que las tareas que deben realizar los sistemas integrados son de naturaleza bastante diversa. Un lenguaje puede ser bueno para aplicaciones dominadas por el control, pero puede no serlo tanto para aplicaciones de procesamiento de señales.
El) Idiomas de hardware
Verilog y V circuitos integrados de alta velocidad H hardware D lenguaje de descripción (VHDL) son los lenguajes más populares en esta categoría. Ambos describen sistemas con jerarquía estructural, sistemas modelo con semántica de eventos discretos; Permiten describir procedimentalmente procesos simultáneos. Verilog está diseñado para simular circuitos integrados digitales, mientras que VHDL es mucho más grande y detallado y puede manejar una clase más amplia de tareas de modelado y simulación.
B) Idiomas del software
Los lenguajes de software utilizan instrucciones para describir secuencias a ejecutar. Los lenguajes de software son de dos tipos: lenguajes ensambladores y lenguajes de alto nivel. Un programa en lenguaje ensamblador contiene instrucciones escritas en forma simbólica y está definido por códigos de operación, modos de direccionamiento, registros y memorias. Los lenguajes de alto nivel incluyen C, C++, RT-Java, ADA, etc. Utilizan diversas construcciones como funciones, bucles, matrices, variables, estructuras, etc.
w) Idiomas de flujo de datos
Los lenguajes Datafow describen sistemas de procesos procesales que se ejecutan simultáneamente y se comunican a través de colas. Un modelo de flujo de datos se compone de nodos, que transforman los datos, y arcos, que representan el paso de datos entre estos nodos. No son convenientes para aplicaciones generales, pero son muy buenos para aplicaciones de procesamiento de señales. Las redes de procesos de Kahn son una de las aplicaciones. LUSTER es un ejemplo de un lenguaje de flujo de datos sincrónico.
Es) Lenguajes híbridos
Esta categoría de idiomas combina ideas de otros idiomas.
Esterel (destinado a sistemas reactivos dominados por el control) combina semántica de hardware abstracta (concurrencia y temporización de circuitos digitales) con diferentes tipos de construcciones de lenguaje de software típicas.
SDL es un lenguaje gráfico desarrollado para describir protocolos de telecomunicaciones (utiliza máquinas de estados finitos)
SistemaC ofrece modelos de simulación de eventos discretos similares a VHDL, pero permite la introducción de mecanismos de ejecución asincrónica y de interacción de software (C++).
Cocentric MT System Studio combina un flujo de datos similar a Kahn con una semántica FSM similar a Esterel para simular y sintetizar aplicaciones de flujo de datos que también requieren control.

Arquitectura III

3. Interfaz con el mundo físico.
Los sistemas integrados interactúan con el mundo físico a través de sensores y actuadores. Sensores actúan como "sentidos" para un sistema integrado, mientras que los actuadores actúan como "miembros". En los sistemas integrados se utilizan diversos sensores que funcionan según diversos principios de detección. Luz, temperatura, aceleración, velocidad, masa, distancia, etc. son parámetros físicos comunes que se detectan. Los motores son uno de los actuadores utilizados en muchos sistemas.
Estos transductores interactúan con el procesador a través de varias interfaces:
. Interfaces de comunicación serie (SCI): RS-232, RS-422, RS-485, etc.
. Interfaz de comunicación serial síncrona: I2C, SPI
. Bus serie universal (USB)
. Redes: Ethernet, Red de Área del Controlador (CAN), etc.
. E/S discretas: entrada/salida de uso general (GPIO)
. Convertidor analógico a digital/digital a analógico (ADC/DAC).

CONCEPTOS RELEVANTES IMPORTANTES
1. Arquitectura de Computadores
Dos arquitecturas de procesador predominantes comunes son Neumann Vs Harvard. Las arquitecturas de Von Neumann tienen el mismo espacio de memoria de datos y programas; Ambos comparten bus de direcciones y bus de datos. La arquitectura de Harvard tiene diferentes espacios de memoria para programas y datos. Para cada uno de ellos, se proporcionan buses de datos y buses de direcciones separados. Um diagrama que representa a comparação da arquitetura Neumann e Harvard
Fig. 5: Un diagrama que representa la comparación de la arquitectura de Neumann y Harvard.

dos. Arquitectura EU Instrucción S et A (ISA)
ISA sirve como una capa de abstracción entre software y hardware. La computadora educada ( RISC) y la computadora compleja ( CISC ) representan dos filosofías diferentes en competencia en el diseño arquitectónico informático moderno .
RISC tiene instrucciones primitivas simples y modos de direccionamiento. Las instrucciones tienen una longitud uniforme, se ejecutan en un ciclo de reloj y el soporte está canalizado. Los chips CISC tienen una gran cantidad de instrucciones diferentes y complejas de longitud variable y tardan más de un ciclo de reloj en ejecutarse.
Los chips CISC son relativamente lentos por instrucción en comparación con los chips RISC, pero utilizan menos instrucciones que RISC. Por lo tanto, los sistemas RISC acortan el tiempo de ejecución al reducir los ciclos de reloj por instrucción, mientras que los sistemas CISC acortan el tiempo de ejecución al reducir MIPS R2000 es un producto RISC puro típico e Intel 80386 es un tipo de chip CISC puro típico.

Diseño de un sistema integrado

DISEÑO DE UN SISTEMA INTEGRADO
Un proyecto de sistema integrado implica varias etapas que se enumeran a continuación
· Análisis de requerimientos
· Definición de especificaciones del sistema
oh Modelado del sistema a diseñar – Experimentación con diferentes algoritmos y su evaluación preliminar. Factorice la tarea en subtareas más pequeñas y modele su interacción.
oh Partición HW-SW (asignación de tareas en H/W, S/W) o codiseño (el diseño de H/W y S/W se realiza en paralelo con interacciones y retroalimentación entre los dos procesos. La optimización conjunta optimiza las métricas de rendimiento del proyecto)
· Selección de tecnología
· Análisis de recursos: costo, tiempo y mano de obra
· Identificación de componentes y herramientas de desarrollo.
· Diseño de circuitos/captura esquemática, diseño y fabricación de PCB.
· Desarrollo de firmware: depuración y prueba
· Integración de sistemas
· Pruebas: funcionales, medioambientales
· Certificaciones si es necesario.
· Documentación
Existen diferentes metodologías de ciclo de diseño que se utilizan para diseñar sistemas integrados.
· Modelo de cascada

Waterfall es un modelo de desarrollo en el que el desarrollo fluye de manera constante a través de las fases de Análisis de Requisitos, Diseño, Implementación, Pruebas, Integración y Mantenimiento. Permite un buen seguimiento del progreso debido a hitos claros, pero su inflexibilidad (para responder a los cambios en los requisitos) es su desventaja.

· De arriba hacia abajo versus de abajo hacia arriba

En el modelo Top-Down, la funcionalidad general de un sistema se considera inicialmente, sin entrar en aspectos más sutiles de los requisitos. Los análisis futuros serán cada vez más profundos y con mayores detalles.
El modelo Bottom-Up sigue un enfoque inverso. En primer lugar, define detalladamente las partes individuales del sistema. Luego, los subsistemas individuales se integran para formar sistemas más grandes, dando lugar al sistema completo.
· Modelo en espiral

El modelo en espiral es el que se utiliza habitualmente en las prácticas de diseño modernas. Utiliza un enfoque de arriba hacia abajo y de abajo hacia arriba. Primero se definen los objetivos, alternativas y limitaciones. Luego, se inician iteraciones para eliminar los principales riesgos. Luego se elaboran detalles más finos de cada subsistema.

· Diagramas de Gantt

El diagrama GANTT/PERT muestra las relaciones de varias actividades programadas y ayuda a monitorear el progreso del proyecto.

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.