stringtranslate.com

Sistema Integrado

Un sistema integrado en una tarjeta enchufable con procesador, memoria, fuente de alimentación e interfaces externas

Un sistema integrado es un sistema informático (una combinación de un procesador de computadora , memoria de computadora y dispositivos periféricos de entrada/salida ) que tiene una función dedicada dentro de un sistema mecánico o electrónico más grande. [1] [2] Está integrado como parte de un dispositivo completo que a menudo incluye hardware eléctrico o electrónico y piezas mecánicas. Debido a que un sistema integrado normalmente controla las operaciones físicas de la máquina en la que está integrado, a menudo tiene limitaciones informáticas en tiempo real . Los sistemas integrados controlan muchos dispositivos de uso común. [3] En 2009 , se estimó que el noventa y ocho por ciento de todos los microprocesadores fabricados se utilizaron en sistemas integrados. [4] [ necesita actualización ]

Los sistemas integrados modernos a menudo se basan en microcontroladores (es decir, microprocesadores con memoria integrada e interfaces periféricas), pero los microprocesadores ordinarios (que utilizan chips externos para memoria y circuitos de interfaz periférica) también son comunes, especialmente en sistemas más complejos. En cualquier caso, los procesadores utilizados pueden ser de tipos que van desde los de propósito general hasta los especializados en una determinada clase de cálculos, o incluso diseñados a medida para la aplicación en cuestión. Una clase estándar común de procesadores dedicados es el procesador de señal digital (DSP).

Dado que el sistema integrado está dedicado a tareas específicas, los ingenieros de diseño pueden optimizarlo para reducir el tamaño y el costo del producto y aumentar su confiabilidad y rendimiento. Algunos sistemas integrados se producen en masa y se benefician de economías de escala .

Los sistemas integrados varían en tamaño, desde dispositivos personales portátiles como relojes digitales y reproductores de MP3 hasta máquinas más grandes como electrodomésticos , líneas de montaje industriales , robots , vehículos de transporte, controladores de semáforos y sistemas de imágenes médicas . A menudo constituyen subsistemas de otras máquinas como la aviónica de los aviones y el astriónico de las naves espaciales . Las grandes instalaciones, como fábricas , tuberías y redes eléctricas, dependen de múltiples sistemas integrados conectados en red. Generalizados a través de la personalización del software, los sistemas integrados, como los controladores lógicos programables, frecuentemente comprenden sus unidades funcionales.

Los sistemas integrados varían desde aquellos de baja complejidad, con un solo chip microcontrolador, hasta muy altos con múltiples unidades, periféricos y redes, que pueden residir en bastidores de equipos o en grandes áreas geográficas conectadas a través de líneas de comunicaciones de larga distancia.

Historia

Fondo

Los orígenes del microprocesador y del microcontrolador se remontan al circuito integrado MOS , que es un chip de circuito integrado fabricado a partir de MOSFET ( transistores de efecto de campo semiconductores de óxido metálico ) y que se desarrolló a principios de la década de 1960. En 1964, los chips MOS habían alcanzado una mayor densidad de transistores y menores costes de fabricación que los chips bipolares . Los chips MOS aumentaron aún más en complejidad a un ritmo predicho por la ley de Moore , lo que llevó a la integración a gran escala (LSI) con cientos de transistores en un solo chip MOS a finales de la década de 1960. La aplicación de los chips MOS LSI a la informática fue la base de los primeros microprocesadores, cuando los ingenieros comenzaron a reconocer que un sistema completo de procesador de computadora podría estar contenido en varios chips MOS LSI. [5]

Los primeros microprocesadores multichip, el Four-Phase Systems AL1 en 1969 y el Garrett AiResearch MP944 en 1970, se desarrollaron con múltiples chips MOS LSI. El primer microprocesador de un solo chip fue el Intel 4004 , lanzado en 1971. Fue desarrollado por Federico Faggin , utilizando su tecnología MOS de puerta de silicio , junto con los ingenieros de Intel Marcian Hoff y Stan Mazor , y el ingeniero de Busicom Masatoshi Shima . [6]

Desarrollo

Uno de los primeros sistemas integrados reconociblemente modernos fue la computadora de orientación Apollo , [ cita requerida ] desarrollada ca. 1965 por Charles Stark Draper en el Laboratorio de Instrumentación del MIT . Al inicio del proyecto, la computadora de guía Apollo se consideraba el elemento más riesgoso del proyecto Apollo, ya que empleaba los circuitos integrados monolíticos recientemente desarrollados para reducir el tamaño y el peso de la computadora.

Uno de los primeros sistemas integrados producidos en masa fue la computadora de guía Autonetics D-17 para el misil Minuteman , lanzada en 1961. Cuando el Minuteman II entró en producción en 1966, el D-17 fue reemplazado por una nueva computadora que representó la primera computadora de alta velocidad. Uso volumétrico de circuitos integrados.

Desde estas primeras aplicaciones en la década de 1960, los sistemas integrados han bajado de precio y ha habido un aumento espectacular en la potencia de procesamiento y la funcionalidad. Uno de los primeros microprocesadores, el Intel 4004 (lanzado en 1971), fue diseñado para calculadoras y otros sistemas pequeños, pero aún requería memoria externa y chips de soporte. A principios de la década de 1980, la memoria y los componentes del sistema de entrada y salida se habían integrado en el mismo chip que el procesador formando un microcontrolador. Los microcontroladores encuentran aplicaciones en las que una computadora de uso general sería demasiado costosa. A medida que cayó el costo de los microprocesadores y microcontroladores, aumentó la prevalencia de los sistemas integrados.

Se puede programar un microcontrolador de costo comparativamente bajo para que cumpla la misma función que un gran número de componentes separados. Con los microcontroladores, se volvió factible reemplazar, incluso en productos de consumo, costosos componentes analógicos basados ​​en perillas, como potenciómetros y capacitores variables, con botones arriba/abajo o perillas leídas por un microprocesador. Aunque en este contexto un sistema integrado suele ser más complejo que una solución tradicional, la mayor parte de la complejidad está contenida en el propio microcontrolador. Es posible que se necesiten muy pocos componentes adicionales y la mayor parte del esfuerzo de diseño está en el software. El prototipo y la prueba del software pueden ser más rápidos en comparación con el diseño y la construcción de un nuevo circuito que no utiliza un procesador integrado.

Aplicaciones

Subconjunto de computadora integrada para máquina de votación electrónica Accupoll [7]

Los sistemas integrados se encuentran comúnmente en aplicaciones de consumo, industriales, automotrices , de electrodomésticos , médicas, de telecomunicaciones, comerciales, aeroespaciales y militares.

Los sistemas de telecomunicaciones emplean numerosos sistemas integrados, desde conmutadores telefónicos para la red hasta teléfonos móviles para el usuario final . Las redes de computadoras utilizan enrutadores y puentes de red dedicados para enrutar datos.

La electrónica de consumo incluye reproductores MP3 , televisores , teléfonos móviles , consolas de videojuegos , cámaras digitales , receptores GPS e impresoras . Los electrodomésticos, como hornos microondas , lavadoras y lavavajillas , incluyen sistemas integrados para brindar flexibilidad, eficiencia y funciones. Los sistemas avanzados de calefacción, ventilación y aire acondicionado (HVAC) utilizan termostatos en red para controlar de manera más precisa y eficiente la temperatura que puede cambiar según la hora del día y la estación . La automatización del hogar utiliza redes cableadas e inalámbricas que se pueden utilizar para controlar las luces, el clima, la seguridad, el sistema audiovisual, la vigilancia, etc., todos los cuales utilizan dispositivos integrados para detectar y controlar.

Los sistemas de transporte, desde vuelos hasta automóviles, utilizan cada vez más sistemas integrados. Los nuevos aviones contienen aviónica avanzada , como sistemas de guía inercial y receptores GPS , que también tienen requisitos de seguridad considerables. Las naves espaciales dependen de sistemas astriónicos para corregir la trayectoria. Varios motores eléctricos ( motores de CC sin escobillas , motores de inducción y motores de CC ) utilizan controladores de motor electrónicos . Los automóviles , los vehículos eléctricos y los vehículos híbridos utilizan cada vez más sistemas integrados para maximizar la eficiencia y reducir la contaminación. Otros sistemas de seguridad automotriz que utilizan sistemas integrados incluyen el sistema de frenos antibloqueo (ABS), el control electrónico de estabilidad (ESC/ESP), el control de tracción (TCS) y la tracción automática en las cuatro ruedas .

Los equipos médicos utilizan sistemas integrados para monitoreo y diversas imágenes médicas ( tomografía por emisión de positrones (PET), tomografía computarizada por emisión de fotón único (SPECT), tomografía computarizada (CT) e imágenes por resonancia magnética (MRI) para inspecciones internas no invasivas. Los sistemas integrados en equipos médicos suelen funcionar con ordenadores industriales [8] .

Los sistemas integrados se utilizan para sistemas críticos para la seguridad en las industrias aeroespacial y de defensa. A menos que estén conectados a redes cableadas o inalámbricas a través de un chip celular 3G u otros métodos para fines de monitoreo y control de IoT, estos sistemas pueden aislarse de la piratería y, por lo tanto, ser más seguros. [ cita necesaria ] Para la seguridad contra incendios, los sistemas se pueden diseñar para que tengan una mayor capacidad para soportar temperaturas más altas y continuar funcionando. En materia de seguridad, los sistemas integrados pueden ser autosuficientes y capaces de hacer frente a cortes de sistemas eléctricos y de comunicación.

Los dispositivos inalámbricos en miniatura llamados motas son sensores inalámbricos en red. Las redes de sensores inalámbricos hacen uso de la miniaturización posible gracias al diseño avanzado de circuitos integrados (CI) para acoplar subsistemas inalámbricos completos a sensores sofisticados, lo que permite a personas y empresas medir una gran variedad de cosas en el mundo físico y actuar sobre esta información a través de sistemas de monitoreo y control. . Estas motas son completamente autónomas y normalmente funcionan con una fuente de batería durante años antes de que sea necesario cambiarlas o cargarlas.

Características

Los sistemas integrados están diseñados para realizar una tarea específica, a diferencia de las computadoras de uso general diseñadas para múltiples tareas. Algunos tienen limitaciones de rendimiento en tiempo real que deben cumplirse, por motivos tales como seguridad y usabilidad; otros pueden tener requisitos de rendimiento bajos o nulos, lo que permite simplificar el hardware del sistema para reducir costos.

Los sistemas integrados no siempre son dispositivos independientes. Muchos sistemas integrados son una pequeña parte dentro de un dispositivo más grande que cumple un propósito más general. Por ejemplo, la Gibson Robot Guitar cuenta con un sistema integrado para afinar las cuerdas, pero el propósito general de la Robot Guitar es tocar música. [9] De manera similar, un sistema integrado en un automóvil proporciona una función específica como subsistema del propio automóvil.

Sistemas e-con eSOM270 y eSOM300 Computadora en módulos

Las instrucciones del programa escritas para sistemas integrados se denominan firmware y se almacenan en una memoria de sólo lectura o en chips de memoria flash . Funcionan con recursos de hardware informático limitados: poca memoria, teclado o pantalla pequeños o inexistentes.

Interfaces de usuario

Interfaz de usuario de texto del sistema integrado mediante MicroVGA [nb 1]

Los sistemas integrados varían desde ninguna interfaz de usuario , en sistemas dedicados a una tarea, hasta complejas interfaces gráficas de usuario que se asemejan a los sistemas operativos de escritorio modernos. Los dispositivos integrados simples utilizan botones , diodos emisores de luz (LED), pantallas de cristal líquido (LCD) gráficas o de caracteres con un sistema de menú simple . Los dispositivos más sofisticados que utilizan una pantalla gráfica con detección táctil o teclas programables en el borde de la pantalla brindan flexibilidad y al mismo tiempo minimizan el espacio utilizado: el significado de los botones puede cambiar con la pantalla y la selección implica el comportamiento natural de apuntar a lo que se desea.

Algunos sistemas proporcionan una interfaz de usuario de forma remota con la ayuda de una conexión serie (por ejemplo, RS-232 ) o de red (por ejemplo, Ethernet ). Este enfoque amplía las capacidades del sistema integrado, evita el costo de una pantalla, simplifica el paquete de soporte de placa (BSP) y permite a los diseñadores crear una rica interfaz de usuario en la PC. Un buen ejemplo de esto es la combinación de un servidor HTTP integrado que se ejecuta en un dispositivo integrado (como una cámara IP o un enrutador de red ). La interfaz de usuario se muestra en un navegador web en una PC conectada al dispositivo.

Procesadores en sistemas integrados

Ejemplos de propiedades de las computadoras integradas típicas en comparación con sus contrapartes de uso general son el bajo consumo de energía, el tamaño pequeño, los rangos operativos resistentes y el bajo costo por unidad. Esto se produce a expensas de recursos de procesamiento limitados.

Se han desarrollado numerosos microcontroladores para uso en sistemas integrados. Los microprocesadores de uso general también se utilizan en sistemas integrados, pero generalmente requieren más circuitos de soporte que los microcontroladores.

Placas de ordenador confeccionadas

PC/104 y PC/104+ son ejemplos de estándares para placas de computadora listas para usar destinadas a sistemas pequeños, integrados y resistentes de bajo volumen. En su mayoría están basados ​​en x86 y, a menudo, son físicamente pequeños en comparación con una PC estándar, aunque siguen siendo bastante grandes en comparación con la mayoría de los sistemas integrados simples (8/16 bits). Pueden utilizar DOS , FreeBSD , Linux , NetBSD , OpenHarmony o un sistema operativo integrado en tiempo real (RTOS) como MicroC/OS-II , QNX o VxWorks .

En determinadas aplicaciones, donde el tamaño pequeño o la eficiencia energética no son preocupaciones principales, los componentes utilizados pueden ser compatibles con los utilizados en las computadoras personales x86 de uso general. Las placas como la gama VIA EPIA ayudan a cerrar la brecha al ser compatibles con PC pero altamente integradas, físicamente más pequeñas o tener otros atributos que las hacen atractivas para los ingenieros integrados. La ventaja de este enfoque es que se pueden utilizar componentes básicos de bajo costo junto con las mismas herramientas de desarrollo de software utilizadas para el desarrollo de software general. Los sistemas construidos de esta manera todavía se consideran integrados, ya que están integrados en dispositivos más grandes y cumplen una única función. Ejemplos de dispositivos que pueden adoptar este enfoque son los cajeros automáticos (ATM) y las máquinas recreativas , que contienen código específico para la aplicación.

Sin embargo, la mayoría de las placas de sistemas integrados ya preparadas no están centradas en PC y no utilizan los buses ISA o PCI . Cuando se trata de un procesador de sistema en un chip , puede resultar poco beneficioso tener un bus estandarizado que conecte componentes discretos, y el entorno para las herramientas de hardware y software puede ser muy diferente.

Un estilo de diseño común utiliza un módulo de sistema pequeño, quizás del tamaño de una tarjeta de presentación, que contiene chips BGA de alta densidad , como un procesador y periféricos de sistema en un chip basados ​​en ARM , memoria flash externa para almacenamiento y DRAM para tiempo de ejecución. memoria. El proveedor del módulo generalmente proporcionará el software de arranque y se asegurará de que haya una selección de sistemas operativos, que generalmente incluyen Linux y algunas opciones en tiempo real. Estos módulos pueden ser fabricados en grandes volúmenes por organizaciones familiarizadas con sus temas de prueba especializados y combinados con placas base personalizadas de mucho menor volumen con periféricos externos específicos de la aplicación. Ejemplos destacados de este enfoque incluyen Arduino y Raspberry Pi .

Soluciones SoC ASIC y FPGA

Un sistema en un chip (SoC) contiene un sistema completo, que consta de múltiples procesadores, multiplicadores, cachés, incluso diferentes tipos de memoria y, comúnmente, varios periféricos, como interfaces para comunicación por cable o inalámbrica, en un solo chip. A menudo, estos chips incluyen unidades de procesamiento de gráficos (GPU) y DSP. Los SoC se pueden implementar como un circuito integrado de aplicación específica (ASIC) o mediante una matriz de puertas programables en campo (FPGA) que normalmente se puede reconfigurar.

Las implementaciones de ASIC son comunes para sistemas integrados de muy alto volumen, como teléfonos móviles y teléfonos inteligentes . Las implementaciones de ASIC o FPGA se pueden utilizar para sistemas integrados de volumen no tan alto con necesidades especiales en el tipo de rendimiento de procesamiento de señales, interfaces y confiabilidad, como en la aviónica.

Periféricos

Un primer plano del chip SMSC LAN91C110 (SMSC 91x), un chip Ethernet integrado

Los sistemas integrados se comunican con el mundo exterior a través de periféricos , como por ejemplo:

Herramientas

Al igual que con otro software, los diseñadores de sistemas integrados utilizan compiladores , ensambladores y depuradores para desarrollar software de sistemas integrados. Sin embargo, también podrán utilizar herramientas más específicas:

Las herramientas de software pueden provenir de varias fuentes:

A medida que crece la complejidad de los sistemas integrados, las herramientas y sistemas operativos de nivel superior están migrando a maquinaria donde tiene sentido. Por ejemplo, los teléfonos móviles , los asistentes digitales personales y otras computadoras de consumo a menudo necesitan un software importante que compra o proporciona una persona distinta del fabricante de los dispositivos electrónicos. En estos sistemas, se requiere un entorno de programación abierto como Linux , NetBSD , FreeBSD , OSGi o Java integrado para que el proveedor de software externo pueda vender a un gran mercado.

Depuración

La depuración integrada se puede realizar en diferentes niveles, según las instalaciones disponibles. Las consideraciones incluyen: ¿ralentiza la aplicación principal?, qué tan cerca está el sistema o la aplicación depurada del sistema o aplicación real, qué tan expresivos son los activadores que se pueden configurar para la depuración (por ejemplo, inspeccionar la memoria cuando se alcanza un valor de contador de programa en particular). alcanzado) y qué se puede inspeccionar en el proceso de depuración (por ejemplo, solo memoria, o memoria y registros, etc.).

Desde las técnicas y sistemas de depuración más simples hasta los más sofisticados, se pueden agrupar aproximadamente en las siguientes áreas:

A menos que esté restringido a la depuración externa, el programador normalmente puede cargar y ejecutar software a través de las herramientas, ver el código que se ejecuta en el procesador e iniciar o detener su operación. La vista del código puede ser como lenguaje de programación de alto nivel , código ensamblador o una mezcla de ambos.

Rastreo

Los sistemas operativos en tiempo real suelen admitir el seguimiento de eventos del sistema operativo. Una herramienta de PC host presenta una vista gráfica basada en un registro del comportamiento del sistema. El registro de seguimiento se puede realizar mediante software, mediante RTOS o mediante hardware de seguimiento especial. El seguimiento de RTOS permite a los desarrolladores comprender los problemas de sincronización y rendimiento del sistema de software y brinda una buena comprensión de los comportamientos del sistema de alto nivel. El registro de seguimiento en sistemas integrados se puede lograr mediante soluciones de hardware o software. La grabación de seguimiento basada en software no requiere hardware de depuración especializado y se puede utilizar para registrar seguimientos en dispositivos implementados, pero puede tener un impacto en el uso de CPU y RAM. [13] Un ejemplo de un método de seguimiento basado en software utilizado en entornos RTOS es el uso de macros vacías que el sistema operativo invoca en lugares estratégicos del código y que pueden implementarse para que sirvan como ganchos .

Fiabilidad

Los sistemas integrados a menudo residen en máquinas que se espera que funcionen continuamente durante años sin errores y, en algunos casos, se recuperan por sí solas si se produce un error. Por lo tanto, el software suele desarrollarse y probarse con más cuidado que el de los ordenadores personales, y se evitan piezas móviles mecánicas poco fiables, como unidades de disco, interruptores o botones.

Los problemas de confiabilidad específicos pueden incluir:

Se utiliza una variedad de técnicas, a veces combinadas, para recuperarse de errores, tanto errores de software como pérdidas de memoria , como errores de software en el hardware:

Volumen alto versus bajo

Para sistemas de gran volumen, como los teléfonos móviles , minimizar el costo suele ser la principal consideración de diseño. Los ingenieros suelen seleccionar hardware que sea lo suficientemente bueno para implementar las funciones necesarias.

Para sistemas integrados prototipo o de bajo volumen, las computadoras de uso general se pueden adaptar limitando los programas o reemplazando el sistema operativo con un RTOS.

Arquitecturas de software integradas

En 1978, la Asociación Nacional de Fabricantes Eléctricos publicó ICS 3-1978, un estándar para microcontroladores programables, [18] que incluye casi cualquier controlador basado en computadora, como computadoras de placa única , controladores numéricos y basados ​​en eventos.

Existen varios tipos diferentes de arquitectura de software de uso común.

Bucle de control sencillo

En este diseño, el software simplemente tiene un bucle que monitorea los dispositivos de entrada. El bucle llama a subrutinas , cada una de las cuales gestiona una parte del hardware o software. De ahí que se le llame bucle de control simple o entrada-salida programada.

Sistema controlado por interrupción

Algunos sistemas integrados están controlados predominantemente por interrupciones . Esto significa que las tareas realizadas por el sistema se desencadenan por diferentes tipos de eventos; una interrupción podría ser generada, por ejemplo, por un temporizador en un intervalo predefinido, o por un controlador de puerto serie que recibe datos.

Esta arquitectura se utiliza si los controladores de eventos necesitan una latencia baja y los controladores de eventos son breves y simples. Estos sistemas también ejecutan una tarea sencilla en un bucle principal, pero esta tarea no es muy sensible a retrasos inesperados. A veces, el controlador de interrupciones agregará tareas más largas a una estructura de cola. Posteriormente, una vez finalizado el controlador de interrupciones, estas tareas son ejecutadas por el bucle principal. Este método acerca el sistema a un núcleo multitarea con procesos discretos.

Multitarea cooperativa

La multitarea cooperativa es muy similar al esquema de bucle de control simple, excepto que el bucle está oculto en una API . [3] [1] El programador define una serie de tareas, y cada tarea tiene su propio entorno para ejecutarse. Cuando una tarea está inactiva, llama a una rutina inactiva que pasa el control a otra tarea.

Las ventajas y desventajas son similares a las del bucle de control, excepto que agregar nuevo software es más fácil, simplemente escribiendo una nueva tarea o agregándola a la cola.

Multitarea preventiva o subprocesos múltiples

En este tipo de sistema, un fragmento de código de bajo nivel cambia entre tareas o subprocesos basándose en un temporizador que invoca una interrupción. Este es el nivel en el que generalmente se considera que el sistema tiene un núcleo de sistema operativo. Dependiendo de cuánta funcionalidad se requiera, introduce más o menos complejidades de gestionar múltiples tareas que se ejecutan conceptualmente en paralelo.

Como cualquier código puede potencialmente dañar los datos de otra tarea (excepto en sistemas que utilizan una unidad de administración de memoria ), los programas deben diseñarse y probarse cuidadosamente, y el acceso a los datos compartidos debe controlarse mediante alguna estrategia de sincronización, como colas de mensajes , semáforos o un -bloqueo del esquema de sincronización.

Debido a estas complejidades, es común que las organizaciones utilicen un RTOS disponible en el mercado, lo que permite a los programadores de aplicaciones concentrarse en la funcionalidad del dispositivo en lugar de en los servicios del sistema operativo. Sin embargo, la elección de incluir un RTOS conlleva sus propios problemas, ya que la selección debe realizarse antes de iniciar el proceso de desarrollo de la aplicación. Este momento obliga a los desarrolladores a elegir el sistema operativo integrado para su dispositivo en función de los requisitos actuales y, por lo tanto, restringe en gran medida las opciones futuras. [19]

El nivel de complejidad en los sistemas integrados crece continuamente a medida que se requieren dispositivos para administrar periféricos y tareas como serie, USB, TCP/IP, Bluetooth , LAN inalámbrica , radio troncal, múltiples canales, datos y voz, gráficos mejorados, múltiples estados, múltiples subprocesos, numerosos estados de espera, etc. Estas tendencias están llevando a la adopción de middleware integrado además de un RTOS.

Microkernels y exokernels

Un microkernel asigna memoria y cambia la CPU a diferentes subprocesos de ejecución. Los procesos en modo de usuario implementan funciones importantes como sistemas de archivos, interfaces de red, etc.

Los exokernels se comunican de manera eficiente mediante llamadas de subrutinas normales. El hardware y todo el software del sistema están disponibles y son extensibles por los programadores de aplicaciones.

Núcleos monolíticos

Un núcleo monolítico es un núcleo relativamente grande con capacidades sofisticadas adaptadas para adaptarse a un entorno integrado. Esto brinda a los programadores un entorno similar a un sistema operativo de escritorio como Linux o Microsoft Windows y, por lo tanto, es muy productivo para el desarrollo. La desventaja es que requiere muchos más recursos de hardware, suele ser más caro y, debido a la complejidad de estos núcleos, puede ser menos predecible y confiable.

Ejemplos comunes de núcleos monolíticos integrados son Linux , VXWorks y Windows CE integrados .

A pesar del aumento del costo del hardware, este tipo de sistema integrado está ganando popularidad, especialmente en los dispositivos integrados más potentes, como enrutadores inalámbricos y sistemas de navegación GPS .

Componentes de software adicionales

Además del sistema operativo central, muchos sistemas integrados tienen componentes de software adicionales de capa superior. Estos componentes incluyen pilas de protocolos de red como CAN , TCP/IP , FTP , HTTP y HTTPS , y capacidades de almacenamiento como FAT y sistemas de gestión de memoria flash. Si el dispositivo integrado tiene capacidades de audio y video, entonces los controladores y códecs apropiados estarán presentes en el sistema. En el caso de los núcleos monolíticos, muchas de estas capas de software pueden estar incluidas en el núcleo. En la categoría RTOS, la disponibilidad de componentes de software adicionales depende de la oferta comercial.

Arquitecturas específicas de dominio

En el sector de la automoción, AUTOSAR es una arquitectura estándar para software integrado.

Ver también

Notas

  1. ^ Para obtener más detalles sobre MicroVGA, consulte este PDF.

Referencias

  1. ^ ab Michael Barr . "Glosario de sistemas integrados". Biblioteca técnica de neutrinos . Consultado el 21 de abril de 2007 .
  2. ^ Salud, Steve (2003). Diseño de sistemas empotrados . Serie EDN para ingenieros de diseño (2 ed.). Newnes. pag. 2.ISBN 978-0-7506-5546-0. Un sistema integrado es un sistema basado en un microprocesador diseñado para controlar una función o una variedad de funciones.
  3. ^ ab Michael Barr; Antonio J. Massa (2006). "Introducción". Programación de sistemas embebidos: con herramientas de desarrollo C y GNU . O'Reilly. págs. 1–2. ISBN 978-0-596-00983-0.
  4. ^ Barr, Michael (1 de agosto de 2009). "Programa de hombres reales en C". Diseño de Sistemas Embebidos . TechInsights (Medios empresariales unidos). pag. 2 . Consultado el 23 de diciembre de 2009 .
  5. ^ Shirriff, Ken (30 de agosto de 2016). "La sorprendente historia de los primeros microprocesadores". Espectro IEEE . 53 (9). Instituto de Ingenieros Eléctricos y Electrónicos : 48–54. doi :10.1109/MSPEC.2016.7551353. S2CID  32003640 . Consultado el 13 de octubre de 2019 .
  6. ^ "1971: el microprocesador integra la función de la CPU en un solo chip". El motor de silicio . Museo de Historia de la Computación . Consultado el 22 de julio de 2019 .
  7. ^ "Fundación Frontera Electrónica". Fundación Frontera Electrónica .
  8. ^ Sistemas integrados Soluciones OEM de Dell | Dell Archivado el 27 de enero de 2013 en Wayback Machine . Content.dell.com (4 de enero de 2011). Recuperado el 6 de febrero de 2013.
  9. ^ David Carey (22 de abril de 2008). "Under the Hood: Robot Guitar incorpora autoajuste". Diseño de Sistemas Embebidos . Archivado desde el original el 8 de julio de 2008.
  10. ^ Tancreti, Mateo; Sundaram, Vinaitherthan; Bagchi, Saurabh; Eugster, Patrick (2015). "TARDIS". Actas de la 14ª Conferencia Internacional sobre Procesamiento de Información en Redes de Sensores . IPSN '15. Nueva York, NY, Estados Unidos: ACM. págs. 286–297. doi :10.1145/2737095.2737096. ISBN 9781450334754. S2CID  10120929.
  11. ^ Tancreti, Mateo; Hossain, Mohammad Sajjad; Bagchi, Saurabh; Raghunathan, Vijay (2011). "Aveksha". Actas de la novena conferencia ACM sobre sistemas de sensores integrados en red . SenSys '11. Nueva York, NY, Estados Unidos: ACM. págs. 288–301. doi :10.1145/2070942.2070972. ISBN 9781450307185. S2CID  14769602.
  12. ^ "Tektronix revoluciona la creación de prototipos, la instrumentación integrada eleva las placas al estado de emulador". Revista de ingeniería electrónica. 2012-10-30 . Consultado el 30 de octubre de 2012 .
  13. ^ Kraft, Johan; Muro, Anders; Kienle, Holger (2010), Barringer, Howard; Falcone, Ylies; Finkbeiner, Bernd; Havelund, Klaus (eds.), "Grabación de seguimiento para sistemas integrados: lecciones aprendidas de cinco proyectos industriales", Verificación en tiempo de ejecución , vol. 6418, Berlín, Heidelberg: Springer Berlin Heidelberg, págs. 315–329, doi :10.1007/978-3-642-16612-9_24, ISBN 978-3-642-16611-2, recuperado el 16 de agosto de 2022
  14. ^ Heiser, Gernot (diciembre de 2007). "¿Su sistema es seguro? ¡Pruébelo!" (PDF) . ;acceso: . 2 (6): 35–8. Archivado (PDF) desde el original el 29 de noviembre de 2014.
  15. ^ Moratelli, C; Juan, S; Neves, M; Hessel, F (2016). "Virtualización integrada para el diseño de aplicaciones IoT seguras". Actas del 27º Simposio internacional sobre creación rápida de prototipos de sistemas: acortando el camino de la especificación al prototipo . págs. 2–6. doi :10.1145/2990299.2990301. ISBN 9781450345354. S2CID  17466572 . Consultado el 2 de febrero de 2018 .
  16. ^ ab Short, Michael (marzo de 2008). "Pautas de desarrollo para sistemas integrados confiables en tiempo real". Conferencia internacional IEEE/ACS 2008 sobre sistemas y aplicaciones informáticas. págs. 1032-1039. doi :10.1109/AICCSA.2008.4493674. ISBN 978-1-4244-1967-8. S2CID  14163138.
  17. ^ Asociación de confiabilidad del software de la industria del motor. "MISRA C: 2012 Tercera edición, primera revisión" . Consultado el 3 de febrero de 2022 .
  18. ^ "Preguntas frecuentes: controladores programables" (PDF) . Consultado el 10 de enero de 2020 .
  19. ^ "Trabajar en varias plataformas integradas" (PDF) . clarinox. Archivado (PDF) desde el original el 19 de febrero de 2011 . Consultado el 17 de agosto de 2010 .

Otras lecturas

enlaces externos