Sunteți pe pagina 1din 8

1 - Sistemas Embebidos

El estudio del desarrollo de sistemas embebidos utilizando la plataforma Arduino, debe comenzar por el establecer los
conceptos teóricos en los que se basa el estudio de estos sistemas, en este capítulo se estudian estas fundamentos e ideas
teóricas que son una base para iniciar en el amplio mundo Arduino y su uso en los sistemas embebidos.

Computación Física
El concepto de Computación Física se puede definir como el campo de aplicación que, en el sentido más amplio, estudia el
construir sistemas físicos interactivos mediante el uso de software y hardware que puede detectar y responder al mundo
analógico. Si bien esta definición es lo suficientemente amplia como para abarcar las cosas tales como los sistemas de
control de tráfico de automóviles inteligentes o los procesos de automatización de fábrica, no es de uso general para
describirlos. En sentido amplio, la computación física es un marco creativo para la comprensión de la relación del ser
humano con el mundo digital. En la práctica, el término más a menudo describe el diseño o de proyectos electrónicos e
informáticos que utilizan sensores y microcontroladores para traducir una entrada analógica vía un sensor a un sistema de
software, y / o dispositivos de control electro-mecánicos, tales como motores, servos, iluminación u otro hardware. En
resumen la Computación Física estudia el idear, planificar, diseñar e implementar sistemas electrónicos computacionales
que sean capaces de sentir el mundo físico que los rodea y realizar acciones que modifiquen su entorno.
A diferencia de la computación tradicional las interfaces van más allá de un teclado y un ratón, que solo pueden interactuar
con un usuario, la computación física pretende la interacción con un usuario, el entorno físico y/u otros sistemas
computacionales.

Figura 1.1 Esquema que muestra el principio operativo de los sistemas de computación física.
Sistema Embebido
Los Sistemas Embebidos son un componente omnipresente de nuestra vida cotidiana. Interactuamos con cientos de
pequeños ordenadores cada día que se “empotran” en nuestras casas, nuestros automóviles, nuestros juguetes, y nuestro
trabajo. A medida que nuestro mundo se ha vuelto más complejo, nuestros dispositivos electrónicos también se ha vuelto
más complejos y requieren más “poder” de computo electrónico. La computación física por lo tanto es el área de aplicación
de los sistemas embebidos.
Para comenzar se puede definir un sistema como un conjunto de componentes e interfaces conectados juntos por un objetivo
común y específicamente un sistema embebido es un sistema que realiza una tarea específica y tiene un computador
integrado en su interior. Específicamente, se puede definir como equipos electrónicos que incluyen un procesamiento de
datos, pero que, a diferencia de una computadora personal, están diseñados para satisfacer una función específica, como en
el caso de un reloj, un reproductor de MP3, un teléfono celular, un enrutador, el sistema de navegación de un automóvil,
sistemas de domótica y hasta robots.
Como dato, cabe explicar que la palabra embebido es un anglicismo que significa empotrado, y de denominan así ya que en
un inicio estos sistemas estaban destinados a ser empotrados dentro de un sistema de mayor escala, sin embargo, hoy en día
estos sistemas pueden estar destinados a trabajar en modalidad “stand-alone”1 o en solitario, aunque también se pueden
diseñar para trabajar embebido dentro de un sistema mayor.
En general, el área de estudio de los sistemas embebidos es una disciplina importante y de gran importancia dentro de las
ingenierías eléctricas, electrónicas e informáticas.
Las aplicaciones de los Sistemas Embebidos son muchas y muy versátiles, algunas de las áreas para las cuales de diseñan y
aplican estos sistemas son las listadas a continuación:
 Automóviles y Transporte publico
 Automatización y control
 Juguetes y video-juegos
 Electrodomésticos y hogar
 Informática y redes
 Seguridad
 Domótica, Robótica
 Internet de las cosas
Los SE actualmente se encuentran en cualquier lugar al que se observe, ayudan a la sociedad a automatizar tareas de una
manera eficiente para la optimización de recursos como materia prima, tiempo y dinero, lo cual hoy en día es fundamental
para cualquier empresa que quiera tener un desarrollo sostenible, uno de los principales obstáculos a los que se enfrenta la
sociedad actual, lograr un desarrollo sostenible no sólo ayuda las empresas, también a la sociedad y al medio ambiente.
Los sistemas embebidos se han convertido en parte fundamental de nuestra vida cotidiana automatizando tareas específicas
y optimizando los recursos para su realización que a los seres humanos les costaría más, por lo que su desarrollo es de suma
importancia para que se brinden soluciones eficaces a algunos de los problemas que atañen a la sociedad actual.
Precisamente por eso es necesario el conocimiento del diseño e implementación estos sistemas para estudiantes y
profesionistas, nunca se sabe cuándo puede surgir una idea innovadora que sea significante para el desarrollo sostenible.

Cabe mencionar que un Sistema Embebido no es una Computadora, son dos sistemas diferentes cuya única
característica similar es que son sistemas electrónicos digitales capaces de procesar datos, en general su diferencia
principal estriba en que la computadora se diseña para múltiples tareas o programas y en cambio un sistema
embebidos ejecuta un único programa o función, otra diferencia es la escala de sus componentes internos como
memoria, reloj y/o ancho de bus.

1
Funcionamiento autónomo, se refiere a que un sistema puede trabajar con autonomía de energía, procesamiento, lectura y accionamiento.
Características de los sistemas embebidos.
De la definición anterior de sistema embebido es un sistema se puede deducir que estos sistemas combinan electrónica con
la informática y a veces hasta con la mecánica, y que sus funciones están bien definidas dentro de la interacción con su
entorno. Po lo tanto estos S.E. se diferencian de un sistema electrónico o un sistema informático a partir de que estos poseen
ciertas características bien definidas.
Diseñados para realizar una o pocas tareas.
Los S.E. se diseñan para enfocarse en realizar una función específica, por ejemplo: conmutar las luces de un semáforo o
regular la temperatura de una cámara refrigerante. La ejecución de esta tarea o tareas únicas implica el diseño tanto de
hardware como de software específico, a este software específico se le conoce como firmware, por lo anterior, un sistema
embebido desde el punto de vista informático no necesita un sistema operativo para funcionar.
Capacidad de procesamiento computacional.
Se necesita que estos sistemas sean capaces de procesar datos, decidir qué hacer y producir señales de activación, es decir
que debe poder algún tipo de procesador digital así como de memoria electrónica.
Trabajan en tiempo real.
Esta característica se refiere a la temporalidad del procesamiento de la información dentro del sistema embebido, es decir
los datos se deben de procesar al momento de ingresar al sistema y las salidas se deben producir sin retraso y al momento
definido por el firmware.
Capacidad de interactuar con el entorno físico.
Los sistemas embebidos deben ser capaces de detectar y/o producir señales físicas que interactúen con el su entorno físico,
el cual puede ser un usuario y/o magnitudes físicas del ambiente como sonido, presión, tacto, posición, luz, temperatura,
presencia, distancia, movimiento, etc. Esto implica que un SE debe estar dotado de elementos electrónicos denominados
Sensores y Actuadores.
Capacidad de comunicación con otros sistemas.
Un Sistema embebido se debe comunicar con otros sistemas electrónicos (embebidos y/o computadoras), con el objetivos de
intercambio de información o para programación del firmware en la memoria interna del SE, esto implica que al menos
debe estar dotado de un Puerto de comunicación.
Bajo costo y consumo de energía.
Estos sistemas se caracterizan por ser de bajo costo ya que sus componentes son optimizados y específicos para una función,
además su consumo de energía se debe mantener bajo para poder trabajar conectado a red eléctrica o baterías.

Bloques funcionales de un Sistema Embebido.


Como todo sistema, un sistema embebido es un conjunto de bloques que trabajan en dependencia para realizar una función.
Estos bloques se pueden simplificar en tres: Entrada, Proceso y Salida. Sin embargo, un sistema embebido es un sistema
computacional que puede ser especificado según los bloques de la figura 1-2, y que se describen a continuación:
Sensores
Un sensor es un dispositivo que convierte una señal o magnitud física en una señal eléctrica, la naturaleza del sensor puede
ser: electrónica, mecánica, química o hibrida. La función de los sensores en un sistema embebido es la de convertir las
señales de su entorno en señales digitales que puedan ser leídas por el procesador al interior de este, con el objeto de ser
cuantificadas y procesadas.
En la actualidad se pueden encontrar sensores para muchas aplicaciones, por ejemplo podemos encofrar: sensores de Luz,
Sonido, Presencia, Distancia, Ultrasonido, Tacto, Señales Infrarrojas, Señales de Radiofrecuencia (WiFi, Bluetooth, Radio,
Tv, GSM, GPS), entre otros.
Los sensores en general se clasifican según dos categorías:
a) Según su tipo de señal de salida pueden ser:
Analógicos: su salida es una señal eléctrica de tipo analógica
Digitales: su salida es una señal eléctrica de tipo digital
b) Según su alimentación externa pueden ser:
Pasivos: el sensor no requiere una fuente de voltaje externa para funcionar
Activo: el sensor si necesita una fuente de voltaje externa para funcionar.
En capítulos posteriores se estudiaran detenidamente algunos sensores, se describirán su características específicas, su
programación y uso con la plataforma Arduino.

Figura 1.2 Estructura y bloques funcionales de un Sistema Embebido.

Actuadores
Un actuador es un dispositivo que convierte una señal eléctrica de entrada en una señal o magnitud física de salida, es decir
que recibe una orden eléctrica y reacciona emitiendo una señal en el mundo físico, por ejemplo: un motor que transforma el
voltaje de entrada en movimiento rotacional de su eje, o, un diodo led que convierte la corriente a través de el en luz. De
esto se puede ver que los actuadores le brindan al sistema embebidos la capacidad de producir señales que modifiquen su
entorno, a partir de las órdenes o señales de accionamiento que producidas al interior de este.
Cabe mencionar que un sistema embebido puede ser programado para manipular un actuador según las siguientes acciones:
conmutación, regulación o temporización, en otras palabras puede ser: encendido y apagado, regular su nivel de acción o
manipular sus tiempos de accionamiento.
Procesador
Este bloque es considerado el cerebro del Sistema Embebido, su función se puede especificar en 4 sub-funciones específicas
que son: leer, decodificar, decidir y actuar. En resumen un procesador, también conocido como CPU, debe leer los datos
provenientes de los sensores, debe decodificar las instrucciones del firmware, debe decidir qué hacer basado en lo anterior y
debe actuar o enviar señales de salida a los actuadores.
En los Sistemas Embebidos es común utilizar componentes electrónicos como Microcontrolador para implementar el
procesador, y dependerá del chip usado, las características de rendimiento de tendrá el sistema. En el caso de este libro se
estudiaran el diseño con microcontroladores de la serie ATMEGA2.
Firmware
Es un programa con las instrucciones que le indique al sistema embebido que función realizar, el firmware normalmente es
el único programa almacenado en la memoria y es el único que se ejecuta, de allí que los SE no necesitan sistema operativo.
El firmware de un Sistema Embebido normalmente está escrito en lenguaje de programación específico para cada tipo de
procesador a utilizar, existen diversos lenguajes tales como C, Basic, Ensamblador, Java, etc. según el fabricante.
Específicamente en el caso de este libro se utilizara el lenguaje de programación Arduino C, que es una combinación de C y
Java.
Memoria
Todo sistema computacional debe poseer memoria, el bloque donde se almacena toda la información binaria digital con la
que el sistema embebido trabaja, el tipo de memoria que utilizan los sistemas embebidos es de naturaleza electrónica, es
decir que está basada en semiconductores.
El bloque de memoria de estos sistemas está dividido en dos sub-bloques:
a) Memoria de programa: es donde se almacena el programa o firmware informático el cual es ejecutado por el
procesador, esta memoria es de tipo ROM, específicamente FLASH.
b) Memoria de datos: aquí se guardan los datos temporales que se generan a partir de la ejecución del programa o
firmware principal, esta memoria es de tipo RAM.
Las memorias de un sistema embebido se comunican con el bloque Procesador por medio de Buses, vías eléctricas por
donde viajan las señales eléctricas o bits, estos buses se caracterizan por el número de bits que pueden transportar al
unísono, a esto se le llama Ancho de Bus.
Otra característica de las memorias y el procesador es su Arquitectura, que indica la forma en como están dispuestos los
buses de comunicación entre estos bloques, los Sistemas Embebidos se implementan con una Arquitectura denominada
Harvard, que indica el uso de buses separados para la transferencia de bits entre cada sub-bloque de memoria y el
procesador.
Reloj
El bloque reloj se encarga de producir una señal digital o una base de tiempo que le indica al procesador la sincronización
en la ejecución del firmware y la comunicación con los demás bloques al interior del Sistema Embebido, normalmente la
señal es una trama digital a una frecuencia o velocidad constante especificada en Hertz, entre mayor la frecuencia mayor la
rapidez de ejecución de los procesos. En los sistemas computacionales es común que el bloque de reloj este implementado
usando un cristal de cuarzo como base de tiempo, aunque en ocasiones es posible construir un Reloj usando un circuito R-C
(resistor y capacitor). Específicamente en Arduino el Reloj se implementa usando un cristal de cuarzo.
Interfaces de comunicación
Este bloque le brinda al Sistema Embebido la capacidad de intercambiar datos con otros sistemas, su misión principal es que
debe proveer una vía de comunicación para la transferencia hacia la memoria de programa del firmware. Estas interface de

2
ATMEGA es una serie de microcontroladores de 8bits fabricador por la compañía ATMEL
comunicación son los llamado puertos, en la actualidad en los SE es común encontrar puerto de tipo Serial como: USB,
UART, SPI, I2C entre otros.

Microcontrolador
El diseño del hardware de un Sistema Embebido se simplifica mucho al usar un Microcontrolador (uC) como componente
electrónico principal, y es esta ventaja la que los ha popularizado dentro de la industria. En general se puede definir a un
Microcontrolador como un circuito integrado que contiene en su interior los bloques básicos para implementar un sistema
computacional, por ejemplo: Procesador, Memorias, Puertos de entrada/Salida, Puertos de comunicación, ver figura 1.3.
Específicamente se puede decir que Microcontroladores están diseñados para aplicaciones embebidas, en contraste con los
microprocesadores utilizados en computadora personales u otras aplicaciones de propósito general.

Figura 1.3 – Estructura de bloques internos de Microcontrolador

Los Microcontroladores están ocultos en el interior de un sorprendente número de productos en estos días. Si su horno de
microondas tiene una pantalla LED o LCD y un teclado, seguro que tiene un microcontrolador como componente principal.
Todos los automóviles modernos contienen al menos un microcontrolador, y pueden tener hasta seis o siete: El motor es
controlado por un microcontrolador, al igual que los frenos antibloqueo, el control de crucero y así sucesivamente.
Cualquier dispositivo que tiene un mando a distancia es casi seguro que contiene un microcontrolador: televisores,
reproductores de video y equipos de sonido de gama alta todos caen en esta categoría. Cámaras digitales, teléfonos
celulares, cámaras de video, contestadores automáticos, impresoras láser, teléfonos (los que tienen identificador de
llamadas, memoria de 20 números, etc.), localizadores, y característica cargada frigorífico, lavavajillas, lavadoras y
secadoras (los con pantallas y teclados). Básicamente, cualquier producto o dispositivo que interactúa con el usuario tiene
un microcontrolador embebido dentro.
Figura 1.4 – Diversos encapsulados físicos de los chips Microcontroladores

Figura 1.5 – Un microcontrolador solo necesita sensores y actuadores para implementar un Sistema
Embebido.

Básicamente para implementar un Sistema Embebido a partir de un Microcontrolador basta con añadirle los Sensores y
Actuadores necesarios, así como programar el Firmware en su memoria interna, esta es una gran ventaja, ya que reduce el
tiempo de diseño de hardware y permite el enfoque en la función global del sistema.

Un microcontrolador difiere de un microprocesador de muchas maneras, la principal es su estructura interna: el


microprocesador contiene un único bloque CPU, además esta CPU es de diferentes características en ambos chips, la
CPU de un microprocesador es más “potente” en velocidad de reloj y en ancho de bus, lo cual es perfecto para
aplicaciones computacionales multitareas (PC).
Existen diferentes tipos de microcontroladores y diversos fabricantes, la gran diferencia estriba en sus características de
rendimiento y capacidad, por ejemplo: velocidad de reloj, capacidad de memoria ROM, ancho de Bus, número de entradas y
salidas, puertos de comunicación. Sin embargo, todos cuentan siempre con los bloques básicos descritos en la figura 1.3.
Las características de sistema a implementar dependerán del modelo de Microcontrolador a utilizar, cabe destacar que en
este libro se estudia el diseño con el microcontrolador ATMEGA328p, este microcontrolador es muy versátil y de amplio
uso en la industria.
Un Microcontrolador es un chip o circuito integrado que conforma la pieza central de un Sistema Embebido, sin embargo, a
este chip habrá que conectarle y dotarlo de ciertas facilidades como: conexiones para sensores y actuadores, fuente de poder,
conexiones de programación, un reloj. Es decir que el microcontrolador debe estar dentro de una “tarjeta madre” o ambiente
electrónico que permita facilidad de conexión entre las terminales del chip y los demás bloques del Sistema Embebido, a
esta tarjeta electrónica se le denomina Tarjeta o Plataforma de Desarrollo. En la actualidad existen diversas opciones para
Tarjetas de Desarrollo según el Microcontrolador a utilizar, en el caso particular de los Microcontroladores ATMEGA se
utilizara la Plataforma Arduino.

S-ar putea să vă placă și