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.
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.
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.
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:
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.
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.
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.
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.
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:
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>