Está en la página 1de 26

Sistemas embebidos

20-1
Fausto Manuel Ibinarriaga Celis
1. Fundamentación

1.1 Definición de un sistema embebido

embeber

 empapar, chupar, absorber, humedecerse, impregnarse, mojar, remojar, calar, bañar


o Antónimos: secar

embebido

 absorto, empapado, enfrascado, ensimismado, concentrado, extasiado, abstraído, absorto, alucinado, centrado, atento
o Antónimos: despistado, distraído

Sistema embebido o empotrado (integrado, incrustado) es un sistema de computación diseñado para realizar una o algunas pocas
funciones dedicadas, frecuentemente en un sistema de computación en tiempo real.
1.2 Programación

Idear acciones para realizar un proceso secuenciado a través de un medio o


lenguaje.
1.2.1 Ensamblador versus lenguaje de alto nivel

Lenguaje de bajo nivel


Son lenguajes dependientes de la máquina donde:
 El programa no puede migrar o utilizar en máquinas de diferente tipo.
 Están diseñados a medida del hardware, aprovechando al máximo las características del mismo.

Lenguaje máquina

Lenguaje bajo nivel

Lenguaje ensamblador
El lenguaje máquina

Ordena a la máquina las operaciones fundamentales para su funcionamiento por medio de código binario que
son instrucciones fáciles de entender por el hardware de la máquina.
Cada instrucción tiene una representación en forma de bits almacenados en memoria.
opcode

Ventaja: mucho más rápido que los lenguajes de alto nivel.


Desventajas:
 Dificultad de manejarlo
 Códigos fuente enormes donde encontrar un fallo es casi imposible (probar y mantener).
El lenguaje ensamblador

Es un derivado del lenguaje máquina, formado por abreviaturas de letras y números (NEMÓNICOS).

opcode := palabra clave

En este lenguaje se emplean los programas traductores para poder pasar los programas escritos en lenguaje
ensamblador a lenguaje máquina.
Ventaja: Los códigos fuentes son más cortos respecto al lenguaje máquina.
Desventajas:
 Dificultad de manejarlo
 Dificultad de probar y mantener
Compilador
Es un traductor que transforma un programa de un lenguaje de programación a otro lenguaje objetivo.
Usualmente este es código máquina, aunque también puede ser traducido a un código intermedio o a texto.
1.2.2 Tiempo de compilación
Intervalo de tiempo en el que un compilador transforma el código escrito en un lenguaje de programación a
una forma de código ejecutable por una máquina.
Sintaxis

Sistema operativo
Conjunto de órdenes y programas que controlan los procesos básicos de una computadora y permiten el
funcionamiento de otros programas.
¿Un uC puede tener sistema operativo?
femtoOS  RTOS Sistema operativo en tiempo real
tinyOS
atoOS

 1.2.3 Tiempo de ejecución


Intervalo de tiempo en el que un programa de computadora se ejecuta en un sistema operativo.
El período comienza cuando el programa es llevado a la memoria primaria y comienzan a ejecutarse sus
instrucciones. El período finaliza cuando el programa envía la señal de término (normal o anormal) al sistema
operativo.
from timeit import timeit
print(timeit("'Hello, world!'.replace('Hello', 'Goodbye')"))
2. Ciclo de desarrollo de sistemas embebidos.
Características de un sistema embebido

Baja potencia, volumen y peso


Alta fiabilidad y tolerancia a fallos
Para desarrollar el sistema hay que respetar un ciclo
• Definir el problema
¿Es componente de un sistema más grande?
¿Es una interfaz de usuario directa?
• Procesamiento en tiempo real
Manejo o procesamiento de información en el momento en que ocurren los eventos o cuando la
información se crea por primera vez
Tiempo real “hard”: requiere un tiempo preciso para lograr resultados correctos, donde faltar en el
límite de tiempo tiene graves consecuencias
Tiempo real “soft”: requiere que las tareas se realicen de manera oportuna, donde la falta de un límite
de tiempo da como resultado un rendimiento degradado pero continuo
• Especificar el software
Software del sistema operativo: administra los recursos de la computadora, como los dispositivos de
entrada / salida, la memoria y la programación del software de la aplicación
Software de aplicación: software específico de la misión que realiza el trabajo requerido por el usuario
o la misión en lugar de ser compatible con la computadora
• Estimar los requisitos de rendimiento y velocidad del “procesador”.
Definir los modos y estados operativos
• Selección del procesador
Memoria
Almacenamiento masivo
De entrada y salida I/O
Interrupciones
Timers
• Resistencia al entorno
Rangos de temperatura
Esfuerzos mecánicos
Efectos generalmente basados en la dosis total de radiación en chips semiconductores
La lógica digital se alenta (aloca)
Op Amp cambio de voltajes de compensación
La capacidad de manejo actual se reduce
La disipación de potencia aumenta
• Tolerancia a fallos
Redundancia. Ejecución múltiple con algoritmos separados, maestro-esclavo,
Procesamiento distribuido
Caminos de verificación. Detección de secuencias impropias
Revertir la falla: volver a un contexto guardado antes de que ocurriera la falla
Watchdog timer

• Detección y corrección de errores.


Verificación de paridad (Número de 1 es par o non)
Check sum (se calcula antes del envío y se envía junto con la cadena)
• Integración y prueba
2.1 Especificación del tipo de hardware.
Hagamos un termómetro

Sensor
RTD
Termistor
Semiconductor

2.2 Inclusión de la nanotecnología en los sistemas embebidos.

Nanotecnologías  MEMS (1964)

MEMS = Sistema micro – electromecánico

Dispositivos de pequeñas dimensiones compuestos por elementos activos y pasivos micro - fabricados
y que realizan diferentes funciones como percepción, procesado de datos, comunicación y actuación
sobre el entorno.

Los tipos de dispositivos MEMS pueden variar desde estructuras relativamente simples que no tienen
ninguna parte móvil, hasta sistemas electromecánicos muy complejos en la que múltiples elementos se
mueven bajo el control de la electrónica integrada.
Gracias a los avances en el campo de los semiconductores, los MEMS son una tecnología que puede
aplicarse utilizando una gran diversidad de materiales y técnicas de fabricación; la elección dependerá
del tipo de dispositivo que se pretenda fabricar y el sector comercial en el que desee operar.
Son buenos, bonitos y baratos.
La naturaleza del microsistema puede ser eléctrica, magnética, óptica, térmica, mecánica o fluídica y la arquitectura del
MEMS engloba circuitos electrónicos y/u ópticos, generadores de señal y receptores, microsensores, micro - actuadores y
micro - generadores.
Los microsistemas se pueden clasificar en seis distintos tipos:
 Sensores: son dispositivos MEMS diseñados para medir cambios en el ambiente. Estos microsistemas incluyen
sensores químicos, de movimiento, inerciales, térmicos y ópticos.

 Actuadores: son un grupo de dispositivos diseñados para proporcionar un estímulo a otros componentes o
dispositivos MEMS. En los microsistemas los actuadores son operados electrostática o térmicamente.
 MEMS RF: son una clase de dispositivos usados para transmitir señales de radio frecuencia. Los dispositivos típicos
incluyen: interruptores, capacitores, antenas, etc.

Celulares inteligentes  Antenas inteligentes

 MOEMS (Micro-Opto-Electro-Mechanical Systems) son dispositivos diseñados para dirigir, reflejar, filtrar, y/o
amplificar la luz. Estos componentes incluyen interruptores ópticos y reflectores.

Adaptador de fibra óptica


 Dispositivos MEMS para microfluidos: son diseñados para interactuar y trabajar con fluidos. Dispositivos como
microbombas y microválvulas son creados para manipular pequeños volúmenes de fluido.

Sensor de flujo

 Bio MEMS son dispositivos que, como muchos MEMS para microfluidos, son diseñados para interactuar
específicamente con muestras biológicas. Dispositivos como éstos fabricados para interactuar con proteínas,
células biológicas, reactivos médicos, etc. y pueden usarse para suministrar medicamentos u otro análisis médico in
situ.

Bomba de insulina (Debiotech) Lentes presión ocular


2.3 Diseño del circuito.

Estudia distintas metodologías con el fin de desarrollar un circuito electrónico, que puede ser tanto analógico como digital.
En función del número de componentes que forman al ser integrados existe diferentes escalas de integración. Las
fronteras entre las distintas escalas son difusas.

SSI (Small Scale of Integration) los circuitos de baja complejidad (algunas decenas de componentes en un mismo chip)

SSI De 3 a 30 compuertas por chip o 100 componentes


MSI (Medium Scale of Integration)

MSIDe 30 a 300 compuertas por chip o 3000 componentes

LSI (Large Scale Integration) los circuitos de media y alta complejidad

LSI de 3000 a 10000 componentes


VLSI (Very Large Scale Integration) para circuitos extraordinariamente complejos, hasta cientos de millones de transistores.

Cientos de miles < 32nm por transistor


ULSI (Ultra Large Scale Integration)

Decenas de millones de transistores


WSI (Wafer scale integration). Sistema para construir redes de circuitos integrados en una sola oblea de silicio para
producir un superchip

El diseño se realiza a distintos niveles.


Existe la parte física, donde se diseña la estructura real de los componentes electrónicos que constituyen el circuito, sus
dimensiones, materiales.
El diseño de más alto nivel llega a los lenguajes de descripción de hardware.
Permiten introducir descripciones de los distintos bloques funcionales de un sistema para su simulación, verificación e
incluso la generación automática del circuito físico con la herramienta de síntesis apropiada.
Algunos de los lenguajes de descripción de hardware más conocidos y empleados son VHDL y Verilog.
Los circuitos analógicos no permiten este grado de automatización y se requiere un diseño más artesanal, donde la
distribución física de los componentes desempeña un papel fundamental en el resultado final
El mundo esta dejando de ser monolítico para ser flexible
¿Que es el grafeno?

También podría gustarte