Sie sind auf Seite 1von 31

CENTRO UNIVERSITARIO DE

CIENCIAS EXACTAS E INGENIERÍAS


DEPARTAMENTO DE CIENCIAS COMPUTACIONALES

SISTEMAS EMBEBIDOS

KARLA DENISSE MENDOZA ALMANZAR


YAZMIN BERENICE RAMÍREZ ORNELAS
JOSE JUAN MEZA ESPINOSA

GUADALAJARA, JALISCO
Un sistema embebido es un circuito
electrónico computarizado que esta diseñado
para cumplir una labor especifica en un
producto.

Estos sistemas solucionan un problema


especifico y están dispersos en todo los
ambientes posibles de la vida cotidiana.
Algunos ejemplos de sistemas embebidos
 Es un programa de software que
transforma uno o varios archivos de
código fuente y genera un archivo en
código de maquina llamado ejecutable.

 Es un software que es instalado en el


target el cual esta preparado para
recibir un archivo fuente editado.
Pre-procesador: Se
encarga de crear
archivos inmediatos con
la solución de todos los
macros.

Análisis semántico: es
donde se analiza línea a
línea el código.

Generador de código:
Tiene como salida un
código en ensamblador.

Optimizador: realiza el
análisis global del
código, genera el
archivo .ASM y .LST.

Ensamblador: Genera el
código objeto que es un
código en lenguaje de
maquina.

Enlazador: Genera
código ejecutable
posicionado en las
direcciones especificas
que indica el proyecto.
 Tiempo de
compilación .

Es el tiempo que
tarda el compilador
para realizar la
conversión de
todas las líneas de
código y pasarlo al
lenguaje de
maquina.

 Tiempo de
ejecución.

Es el tiempo que
toma el target en
realizar una
operación o
resolver alguna
expresión.
C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie
en los Laboratorios Bell como evolución del anterior es decir el lenguaje
B, a su vez basado en BCPL.

Al igual que B, es un lenguaje orientado a la implementación de Sistemas


Operativos, concretamente Unix. C es apreciado por la eficiencia del
código que produce y es el lenguaje de programación más popular para
crear software de sistemas, aunque también se utiliza para crear
aplicaciones.

Se trata de un lenguaje débilmente tipificado de medio nivel pero con


muchas características de bajo nivel. Dispone de las estructuras típicas
de los lenguajes de alto nivel pero, a su vez, dispone de construcciones
del lenguaje que permiten un control a muy bajo nivel. Los compiladores
suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en
ensamblador con código C o acceder directamente a memoria o
dispositivos periféricos.
 Cada uno de los archivos del proyecto
deberá ser compilado, Una vez los
archivos son compilados, el programa
linker, es usado para agrupar en un
todo los archivos resultantes y
finalmente ejecutarlos.

 Cada texto en C contiene un conjunto


de líneas y cada línea contiene a su vez
caracteres y es finalizada con una
nueva línea.
 Los comentarios son parte del texto, son
importantes porque brindan la
posibilidad de entender el código, lo que
a su vez facilita su modificación.

 Un identificador es usado para dar


nombre a un objeto. Este empieza por
una letra o el carácter _, seguido por
una letra o un digito. Puede contener
hasta 255 caracteres.
 Una constante es usada para describir
un valor numérico o una cadena de
caracteres. Pueden ser expresadas
como constantes reales.

 Un operador es usado para describir


una operación aplicada a uno o varios
objetos.

 Un signo de puntuación para separar o


terminar una lista de elementos.
Este periférico es la
interfaz entre el bus
 Puertos de
de datos interno y los
pines asignados a entrada/salida y función
funciones de entrada
y salida del KBI
microcontrolador.
Para el control y
manejo de cada
puerto existen
principalmente dos
registros:

 PTD (Dato e el
Puerto). En este
registro esta el dato
del estado de cada
una de los pines en el
exterior

 DDR (Dirección del


puerto). Este registro
define bit a bit el
sentido .
La conversión
analógica-digital
(CAD) consiste en la
transcripción de señales
analógicas en señales
digitales, con el
propósito de facilitar su
procesamiento
(codificación,
compresión, etc.) y
hacer la señal resultante
(la digital) más inmune
al ruido y otras
interferencias a las que
son más sensibles las
señales analógicas.
El watchdog digital consiste en un dispositivo formado por un contador
descendente que puede ser utilizado para recuperar el control del microcontrolador cuando
se produce una perturbación en el software.
La activación del watchdog ( por hardware ó software ) se puede seleccionar por el
usuario. Si se selecciona la opción hardware el Watchdog se inicializa automáticamente
después del reset, de esta forma esta función no necesita ser activada por el programa del
usuario. Siempre que esté activada esta función el contador descendente no se puede
utilizar en el timer. En el caso en que la opción de activación sea realizada por software se puede
utilizar la opción en los modos de bajo consumo ( STOP y WAIT ).
Este modulo proporciona al sistema una protección, mediante la cual
se evita que la CPU y los periféricos operen por debajo de los niveles
de voltaje de alimentación indicados por el fabricante.

El LVI una vez habilitado, comparara el nivel de voltaje de


alimentación, si este nivel esta por debajo del nivel permitido y el bit
de LVIRSTD esta habilitado, generara un reset en la CPU.
Se denomina
temporizador al
dispositivo mediante
el cual podemos
regular la conexión o
desconexión de un
circuito eléctrico
durante un tiempo
determinado.

El temporizador es
un tipo de relé
auxiliar, pero se
diferencia en que sus
contactos no cambian
de posición
instantáneamente.
Se llama comunicación
serial asíncrona porque el
receptor se re sincroniza el
mismo con el transmisor
usando el bit de inicio de
cada armazón. Los
caracteres se pueden
transmitir en cualquier
tiempo, con un retraso de
tiempo arbitrario entre
caracteres. Existen también
protocolos de comunicación
serial síncrona donde los
caracteres se envían en
bloques sin una armazón de
bits circundante. En esta
aproximación, el transmisor
continuamente transmite
señales, con un carácter de
sincronización especial que
se transmite si no hay datos
reales disponibles para
transmitir.
La comunicación
síncrona requiere de
un reloj y una línea de
datos, los datos se van
transmitiendo uno a
uno con cada pulso de
reloj. 

Cuando se transmite
de manera síncrona lo
primero que se envía
es un octeto de
sincronismo ("sync").
El octeto de
sincronismo realiza la
misma función que el
bit de inicio en la
transmisión asíncrona,
indicando al receptor
que va ha ser enviado
un mensaje. Este
carate, además, utiliza
la señal local de reloj
para determinar
cuándo y con qué
frecuencia será
muestreada la señal.
I²C es un bus de comunicaciones en serie. Su nombre viene de Inter-Integrated Circuit
(Circuitos Inter-Integrados). La versión 1.0 data del año 1992 y la versión 2.1 del año
2000, su diseñador es Philips. La velocidad es de 100K bits por segundo en el modo
estándar, aunque también permite velocidades de 3.4 Mbit/s. Es un bus muy usado en
la industria, principalmente para comunicar microcontroladores y sus periféricos en
sistemas integrados (Embedded Systems) y generalizando más para comunicar circuitos
integrados entre si que normalmente residen en un mismo circuito impreso.

La principal característica de I²C es que utiliza dos líneas para transmitir la información:
una para los datos y por otra la señal de reloj. También es necesaria una tercera línea,
pero esta sólo es la referencia (masa). Como suelen comunicarse circuitos en una
misma placa que comparten una misma masa esta tercera línea no suele ser necesaria.
Las líneas se llaman:
SDA: datos
SCL: reloj
GND: masa

Las dos primeras líneas


son drenador abierto,
por lo que necesitan
resistencias de pull-up.
Los dispositivos
conectados al bus I²C
tienen una dirección
única para cada uno.
También pueden ser
maestros o esclavos.

El dispositivo maestro
inicia la transferencia de
datos y además genera
la señal de reloj, pero no
es necesario que el
maestro sea siempre el
mismo dispositivo, esta
característica se la
pueden ir pasando los
dispositivos que tengan
esa capacidad. Esta
característica hace que
al bus I²C se le
denomine bus
multimaestro.
CONCEPTO DE INTERRUPCIÓN

Una interrupción es un evento que notifica a la CPU sobre la


ocurrencia de una situación excepcional de uno de sus
periféricos.

Una interrupción supone la ejecución temporaria de un


programa, para pasar a ejecutar una "subrutina de servicio
de interrupción", que pertenece al BIOS (Basic Input Output
System).
Las interrupciones surgen de las necesidades que tienen los
dispositivos periféricos de enviar información al procesador
principal de un sistema de computación.

El mecanismo de interrupciones fue la solución que permitió


al procesador desentenderse de esta problemática, y delegar
en el dispositivo la responsabilidad de comunicarse con el
procesador cuando lo necesitaba.
1) Terminar la ejecución de la instrucción máquina en curso.

2) Salva el valor de contador de programa, IP, en la pila, de


manera que en la CPU, al terminar el proceso, pueda seguir
ejecutando el programa a partir de la última instrucción.

3) La CPU salta a la dirección donde está almacenada la rutina de


servicio de interrupción (ISR, Interrupt Service Routine) y ejecuta
esa rutina que tiene como objetivo atender al dispositivo que
generó la interrupción.

4) Una vez que la rutina de la interrupción termina, el procesador


restaura el estado que había guardado en la pila en el paso 2 y
retorna al programa que se estaba usando anteriormente.

Un ordenador PC típico dispone en su placa base de un controlador


de interrupciones 8259 de Intel o de un circuito integrado análogo.
Este dispositivo electrónico dispone de hasta 16 líneas IRQ,
numeradas desde el 00 hasta el 15. En las nuevas placas base este
circuito está integrado junto con el resto del chipset y permite
hasta 24 interrupciones.
Se denomina
cambio de contexto
al proceso de
suspender la
ejecución normal de
un programa,
guardar el estado
del modelo de
programación en
RAM y ejecutar otro
proceso para
iniciarlo o
continuarlo.

El cambio de
contexto es la base
de los sistemas
operativos de
tiempo real.
La latencia de
interrupción es el
tiempo que
transcurre entre que
el sistema operativo
recibe una señal de
interrupción hasta
que pasa el control
efectivamente al
proceso que maneja
la petición de
interrupción.

La latencia ante una


interrupción hardware
es el tiempo desde
que se produce la
interrupción hasta
que se ejecuta la
primera instrucción
de la rutina de
tratamiento. Puede
haber retrasos debido
al acceso al bus.
Existen zonas dentro del programa principal en las
cuales deben ser deshabilitadas algunas o todas las
interrupciones, esto con el fin de evitar que la aparición
de una interrupción perturbe un procedimiento de datos
o de hardware que el procesador este ejecutando en el
programa principal. La sección de código en la cual las
interrupciones están deshabilitadas por no poder ocurrir
se denomina una zona critica de software
PICSTART PLUS

Es una herramienta que permite la programación


de los microcontoladores de Microchip en
empaque DIP, se conecta vía serial al PC con el
software integrado.

MPLAB PM3

Es un programador universal de fácil operación


que permite la programación en serie o en
producción, ya sea conectada a un PC o en modo
independiente
H8/Tiny Starter Kit Plus

El SKP es un sistema completo de evaluación para la


serie H8/300H uTINY. El kit contiene una tarjeta de
evaluación y un emulador .

MPLAB ICE 2000

Es un sistema emulador de muy alta velocidad que


soporta bajo voltaje de operación 65,535 puntos
de ruptura
SPYDER

Es una herramienta de programación y depuración


vía BDM, del tamaño de una memoria USB.

Consiste en una herramienta que se conecta vía


USB al PC. Provee el software y hardware para
evaluar los microcontroladores MSP430F2274
Multilink

Es un interfaz USB a BDM de bajo costo que


soporta todos los microcontroladores miembros
de los cores HCS08, HC12 etc.

CyclonePro

Este sistema permite la posibilidad de trabajar


independientemente de un PC lo que le otorga
versatilidad cuando se esta en firmware.
AP-LINK
Freescale APXX

Este sistema
permite que los
programas
compilados puedan
ser programados
en un
microcontrolador
Freescale y
ejecutados de
forma remota
usando el
depurador
Codewarrion o bien
de forma
independiente
usando solo una
fuente de
alimentación
estándar.
El montaje del sistema de evaluación incorpora varios pasos y
elementos, los cuales están descritos a continuación .

Das könnte Ihnen auch gefallen