Tabla de Contenidos
Sistemas Embebidos
Están mucho más cerca de lo que creemos y son parte de nuestra vida cotidiana, los usamos todos los días y por lo general no sabemos que son y en donde están.
Introducción
Los Sistemas Embebidos son dispositivos electrónicos usados para controlar y operar equipos, dispositivos, máquinas, aparatos domésticos, equipos móviles, PDA's, automóviles, instrumentos electrónicos, operar máquinas y hasta plantas industriales.
El termino embebido está caracterizando que estos circuitos integrados son una parte esencial e integral del sistema en que se encuentran.
Estos Circuitos Integrados son elementos que integran en sí, todos los subsistemas y elementos necesarios para realizar la labor de operación, control e instrumentación definida para el correcto funcionamiento de la maquinaria o dispositivo, siendo esta desde labores simples hasta de una alta complejidad.
En la actualidad los Sistemas Embebidos, tienen una capacidad de cálculo bastante alta (varios MIPS) necesaria para realizar labores complejas tales como el cálculo de la FFT (transformada rápida de Fourier) para realizar filtros digitales, análisis de señales, cálculos matemáticos complejos para tomar decisiones en tiempo real, tan complejas que eran imposibles de hacer en este tipo de dispositivos electrónicos de hace algunos años.
Los Sistemas Embebidos son pequeños sistemas que se salen de la definición tradicional de un Computador. Son sistemas que se diseñan pensando en una aplicación concreta y por esa razón es posible realizar un desarrollo de una forma tan ajustada a las necesidades, implicando un bajo tamaño, reducido costo y alta repitibilidad.
Como contra parte los PLC's como son de propósito general, deden ser capaces de ejecutar una gran cantidad de aplicaciones de distinta naturaleza, por lo que gozan de un sobre dimensionamiento mucho mayor y por ende de un precio elevado.
Desarrollo
El desarrollo de los Sistemas Embebidos, en la mayoría de los casos comprende el desarrollo de hardware y el software, ya que como hemos indicado, cada desarrollo es específico al producto y su aplicación.
Incluso es necesario llevar el desarrollo paralelo de los dos aspectos, el hardware compuesto por la electrónica del sistema y el software que corresponde al código binario o firmware del sistema embebido. Esto se hace necesario ya que una decisión de hardware afecta al software y viceversa. Por lo que el modelo de vida más empleado y recomendado en estos desarrollos es el prototipo evolutivo.
Algunas Aplicaciones
Sus aplicaciones abarcan un sin fin de sistemas y aparatos, los cuales se encuentran en nuestra vida cotidiana, mucho más cerca de lo que creemos y el número de aplicaciones aumenta día a día, encontrándose en áreas tan diversas como:
- Hogar, en nuestros hogares también tenemos sistemas Embebidos y nos cuesta darnos cuenta pero se encuentran dentro de las Lavadoras de Ropa, dentro de nuestros Televisores Digitales, Sistemas de Audio, Controles Remotos, Reproductores de MP3, Sistemas de Video como grabadores y reproductores, Alarmas Electrónicas, en los Sistemas de Climatización y Temperatura, Calefacción, Teléfonos Celulares, en nuestros servicios de comunicaciones de internet como los router, modems, entre otros más.
- Oficina, en nuestras oficinas han penetrado muchos aparatos de uso cotidiano tales como los routers para conectividad a internet, cortafuegos, switchś para redes locales, impresoras, scanners, proyectores de video, digitalizadores de imagenes, pizarras electrónicas, cámaras fotográficas digitales domesticas y profesionales, sistemas de vigilancia, alarmas digitales, sistemas de control de acceso, aire acondicionado y climatización, y muchoos otros.
- Transporte, uno de los ejemplos más comunes y que tenemos más a la mano hoy en día, son los automóviles modernos, estos tienen más de 200 sistemas embebidos para controlar muchas partes de los vehículos, sistemas tan críticos como los frenos ABS, el sistema de inyección, combustible, aceleración, carburación, sistema de luces y señalización, luces de cabina, sistema de comandos, alza vidrios, climatización y aire acondicionado, limpia vidrios, entre otros.
- Comunicaciones, en este ámbito hay muchos aparatos basados en sistemas embebidos como los ya indicados routers, Access Point para comunicaciones WiFi, sistemas de seguridad informática como los Cortafuegos, Switch de comunicaciones administrables remotamente, Sistema de Filtrado de paquetes TCP/IP, Modems alámbricos e Inhalámbricos, de fibra óptica, controles de acceso, en fin una gran gamma.
- Medicina, incluso en el área de la salud se han incorporado fuertemente para bajar costos en instrumental médico, que van desde simples termómetros digitales hasta sistemas de monitoreo de pacientes cardiacos, ecógrafos digitales, monitores de apnea del sueño y en muchos otros aparatos electrónicos en esta área y seguirán abordando en el futuro.
- Robótica, casi la totalidad de los robots de entretenimiento y muchos industriales se basan en sistemas embebidos, capaces de manejar los sistemas de sensónica, articulares, video, transporte por el control de velocidad y dirección de motores, consumo de energía, comunicaciones, por dar algunas áreas dentro de estos sistemas.
- Domótica, que son sistemas encargados de automatizar una vivienda, se basan completamente en sistemas embebidos, los que cubren desde la climatización y calefacción, sistemas de seguridad en el hogar, sistema de iluminación, control de consumo de energía, comunicaciones del hogar, sistemas de entretenimiento, multimedia, servicios de TV digital, Video sobre demanda, sensónica, telegestión (mando a distancia), sistemas de riego, en fin una gran gamma de aparatos en el hogar.
Existen muchas otras aplicaciones, pero con estos ejemplos basta para darse una idea general de las posibilidades de desarrollo y de las aplicaciones existentes y futuras.
Hardware de Sistemas Embebidos
Los Sistemas Embebidos trabajan sobre una amplia gama de plataformas de hardware que van desde los 8 hasta los 64 bits actualmente y su selección depende exclusivamente de la aplicación final, es importante por consiguiente saber definir la plataforma de desarrollo y los requerimientos específicos del sistema embebido que será el producto final que se obtendrá.
Teniendo en cuenta esto y sabiendo la amplia gama de posibilidades de aplicaciones, se hace necesario realizar una correcta selección de los elementos que formarán parte del sistema embebido a desarrollar y de las herramientas disponibles a usar para conseguirlo. Una mala elección en muchos casos hacen inviable el termino del sistema, por lo que se debe tener especial cuidado en ello.
Por lo anterior, es importante contar con la experiencia necesaria en el desarrollo de sistemas embebidos y conocer además no sólo de electrónica y software, si no de materias más amplias como mecánica, química, física y otras técnicas, necesarias para los profesionales que se desarrollan en este ámbito, lo que implica muchas veces en disponer de ingenieros híbridos con conocimientos en más áreas o en su defecto equipos de trabajo con especialistas en distintas ramas de la técnica.
Software de Sistemas Embebidos
Así como hay una amplia gama de hardware, también existe una amplia gama de software para desarrollar sistemas embebidos, podemos indicar que hay tantas herramientas de software como plataformas de hardware existentes, hay excepciones claramente pero en modo general es así.
Para explicar un poco más este tema partiremos de lo general a lo particular, podemos decir entonces que la gran mayoría del software de desarrollo para sistemas embebidos es propietario y cerrado, es decir son sistemas que permiten generar un código binario para ser cargado en estos sistemas y el desarrollador debe confiar en este a ciegas, ya que no existen manuales de como se está generando por dentro el código y si hay fallas en su generación, difícilmente se sabrá hasta que el sistema falle, además estas herramientas son de un costo relativamente alto de mantenimiento debido a su licenciamiento.
Sin embargo y afortunadamente, existen herramientas libres o de código abierto para hacer desarrollo de sistemas embebidos, lo que es un gran alivio, no sólo por que son abiertas y libres de licenciamiento, si no que además corren en plataformas libres como Unix/Linux, siendo una de sus importantes características que están constantemente perfeccionándose y mejorando, gracias a una verdadera comunidad de desarrolladores, generando además código de alta calidad técnica para los sistemas embebidos.
Los expertos al usar herramientas libres pueden examinar las entrañas de estas herramientas de desarrollo para averiguar como es generado el código binario que finalmente se grabará dentro de un sistema embebido, permitiéndole analizar cáda línea de código si se desea, lo que proporciona una seguridad y confiabilidad importante.
Una de las desventajas del código abierto, si es que la podemos llamar así, es que demanda un mayor esfuerzo en su aprendizaje, ya que no hay una sola herramienta integrada en un sistema de desarrollo único, como es el caso de las herramientas comerciales, sino que es necesario usar más de una herramienta para lograr estos desarrollos, pero como contra parte los resultados técnicamente son muy buenos, pero con un poco de estudio y esfuerzo este tema queda perfectamente resuelto y en general, no es un problema de importancia.
Sistemas Operativos de Sistemas Embebidos
En el apartado anterior hablábamos de las herramientas de desarrollo de aplicaciones de Sistemas Embebidos, las que finalmente generan el código binario que se cargará dentro de un determinado hardware, para formar parte integrante de la aplicación final del sistema embebido.
Podemos decir además que no todos los sistemas embebidos usan o requieren un Sistema Operativo. Es importante tener esto claro porque en muchos casos en innecesario. Sin embargo hay otros sistemas embebidos que sí requieren un Sistema Operativo para operar, este es el caso de las PDA's, algunos modelos de teléfonos móviles o celulares, algunos sistemas industriales y algunos otros que los podemos ubicar en la gamma alta de los sistemas embebidos.
Los sistemas operativos por su parte requieren de un cierto hardware mínimo para ser ejecutados lo que generalmente implica un mayor desarrollo de hardware, pero en general los sistemas operativos para sistemas embebidos necesitan un hardware menor a un PC normal y el sistema operativo es también más pequeño que en un Computador Personal.
En los Sistemas Operativos para Sistemas Embebidos existen los propietarios o comerciales y afortunadamente los sistemas abiertos, entre ellos existen diversas versiones de Linux y Unix BSD para el desarrollo de sistemas embebidos, usando estos como base de desarrollo, además de estos existen Sistemas Operativos de Tiempo Real para sistemas embebidos lo que permite aplicarlos a la industria con altas prestaciones, generando soluciones que no tienen un paralelo comercial.
Sistemas Embebidos y PLC's
Los PLC's llegaron a la industria para proporcionar una herramienta de control industrial apta para enfrentar los desafíos tecnológicos del contron industrial moderno y por ello se han ganado su espacio en la industria que es su principal ventaja.
Sin embargo hoy en día y con el significativo aumento de la calidad de la tecnología, tanto en la electrónica como del software, hoy en día ese reinado de los PLC's en la industria se ha ido disminuyendo en el tiempo, debido a que existen sistemas embebidos tan o más eficientes y con precios muy atractivos.
Dentro de las desventajas de los PLC's en la industria podemos indicar lo siguiente:
- Los PLC's son sistemas cerrados, eso significa que una industria al seleccionar un determinado tipo, marca y modelo de PLC debe mantenerlo en el tiempo, sin posibilidad de modificar o intervenirlo en el futuro, debe mantener especialistas, software específico para ese tipo y modelo de PLC, capacitar a su personal en el uso de este, mantener herramientas propietarias de diagnóstico de ese PLC y además mantener un stock pa piezas y partes del modelo y marca específicas.
- El software de gestión y control de PLC es propio de la marca y modelo usado, lo que implica que hay todo un sistema de soporte tras el PLC que permite mantenerlo operativo, las bases de datos de control y/o producción se encuentran en formatos propietarios que sólo conoce su fabricante, el que además proporciona las herramientas que permiten exportar esos datos a los Sistemas Administrativos de la industria, lo que para la industria implica inversión en desarrollo adicional.
- Los PLC's al ser un hardware diseñado para abordar un gran número de aplicaciones industriales deben ser necesariamente sobre dimensionados para cubrir esta amplia gamma, lo que lleva además a disponer de una gran cantidad de módulos adicionales para cubrirla, lo que implica necesariamente a aumentar considerablemente el hardware de estas unidades.
- La industria para mantener las redes de PLC debe disponer de personal especializado en el tipo y modelo usado, lo que implica que si hay cambios de marcas y modelos, deben recapacitar a su personal o simplemente aumentar la dotación de especialistas, debido a que normalmente no se tiene una sola marca y modelo de PLC en una industria determinada.
- Por otro lado la programación de los PLC, no es una programación clásica debido a los lenguajes históricos (escalera) que estas unidades mantienen, por lo que los programadores también son específicos a las marcas o modelos usados, sin contar además que las herramientas de desarrollo de aplicaciones de los PLC también son específicas por modelos y marcas.
- Las redes de comunicaciones de los PLC son también específicas a las marcas y modelos, teniendo un cableado especial, un protocolo de comunicaciones específico y esa peculiaridad hace invertir en interfaces especiales para permitir las comunicaciones con sistemas de comunicaciones de datos convencionales.
- Las aplicaciones de control industrial específicas, basadas en PLC's comerciales por lo general salvo muy pocas excepciones son estáticas, eso significa que la aplicación dentro del PLC no varía en el tiempo y posiblemente nunca lo hará a lo largo de su vida útil, por lo que toda esa capacidad de desarrollo necesaria para desarrollar la aplicación queda ociosa después de la puesta en marcha.
Comentarios
Sin duda, que los sistemas embebidos en el ámbito del control industrial abarcarán cada vez más terreno y paulatinamente aumentarán su penetración en el mercado en forma sostenida, sobre todo si la técnica sigue proporcionando mayores y mejores prestaciones.
<note> Estamos Construyendo esta sección y la tendremos disponible dentro de poco </note>