Sei sulla pagina 1di 34

Introduccin a los sistemas

embebidos.

Profesor : Ing. Rubn Acosta Jacinto

Agenda
1.- Qu es un sistema embebido?
2.- Bloques de un sistema embebido.
3.- Donde se aplican los sistemas embebidos.
4.- Cules son las diferencias entre un sistema abierto o sistema cerrado o
Embebido
5.- El Microcontrolador PIC16F877A. Caractersticas, arquitectura, diagrama
De bloques

Qu es un sistema embebido?
-- Es un circuito electrnico computarizado
denominado microcontrolador que est diseado
para cumplir una funcin especfica en un
producto. Su inteligencia artificial y algoritmos
reside en una memoria pequea y sus
instrucciones son ejecutadas por un pequeo
procesador y almacenadas en una memoria
limitada en capacidad. A su vez maneja puertos
de I/O, temporizadores, puerto de comunicacin
serial, conversores A/D, canales PWM, memorias
EEPROM para datos, etc

Bloques de un sistema embebido o microcontrolador

Dnde se aplican
los microcontroladores?
Reset

Xtal
Entradas
anlogas

C
PIC16F877

7
6
5
4
3
2
1
CP

Pantalla
LCD
1
4
7
C

RS232

2
5
8
0

3
6
9 F
H E

Teclado
Rel

Buzzer

Dnde se aplican los microcontroladores?


La razn de esta tendencia es que los
microcontroladores de 8 y 16 bits son apropiados
para la gran mayora de las aplicaciones, lo que
hace absurdo emplear micros ms potentes y
consecuentemente ms caros (32 bits).

Dnde se aplican los microcontroladores?


Los microcontroladores se usan
tpicamente donde la potencia de
procesamiento no es importante.

Dnde se aplican los microcontroladores?


Pueden trabajar con un rango de
valores de voltaje de alimentacin
y tambin tienen alta inmunidad al
ruido elctrico. (1.8V, 3.3V y 5V)

Dnde se aplican los microcontroladores?


Muchos microcontroladores tienen integrado mdulos
PWM pudiendo utilizarse en conversor A/D
rudimentarios, control de servomotores, implementacin
de un dimmer, etc.

Dnde se aplican los microcontroladores?


Mdulos CCP: Medir tiempo entre eventos:
velocidad, perodo, frecuencia, etc

Dnde se aplican los microcontroladores?


Algunos mC, pueden detener el reloj del sistema
(SLEEP) para bajar an ms el consumo.

Dnde se aplican los microcontroladores?


Se fabricacin en base a la tecnologa CMOS, por lo que
consumen muy poca corriente y pueden ser alimentados
por bateras por mucho tiempo.

Dnde se aplican los microcontroladores?


Se utilizan en: taxmetros, tableros,
bsculas, cajas registradoras,
aplicaciones automotrices, control y
muchas otras ms.

Cules son las diferencias entre un sistema abierto


o sistema cerrado/embebido?

Sistema abierto

Sistema cerrado

El Microcontrolador PIC16F877A
Lneas de entrada y salida para los controladores de perifricos

Caractersticas del PIC16F877A


Tiene memorias EEPROM, FLASH internas.
Watchdog.
Operan hasta con 20 MHz de clock o 5MHz por instruccin.
33 lneas de I/O con 25 mA en sumidero y 20mA en fuente.
Modo SLEEP.
Proteccin de cdigo.
ADC de 10 bits.
Set de 35 instrucciones.
8K x 14bits de memoria FLASH de programa.
Soporta hasta 14 fuentes de interrupcin
Comunicacin serial.
Pila de 8 niveles

Arquitectura del procesador sigue el modelo HARVARD


(PIC16F877A)
Se puede acceder de forma independiente y simultnea a la memoria de datos y de programa.
Bus de datos de 8 bits o longitud de datos (PIC16F877A)
Bus de direccionamiento de 14 bits (PIC16F877A)
Memoria de programa (FLASH) = 8Kb
Memoria de datos (RAM) = 368 Bytes
Memoria EEPROM = 256 Bytes
Bus de
instrucciones

Bus de
datos
MEMORIA DE
DATOS

MEMORIA DE
PROGRAMA

CPU
8bits

14bits
Tcnica de segmentacin (pipe-line) en la ejecucin de las instrucciones.
1ra
2da
3ra
4ra

MOVLW
MOVWF
CALL
MOVLW
MOVLW
MOVWF
MOVLW

F5h
PORTA
SALTO
F6h (NOP Forzado)
F5h
PORTA
F6h (NOP Forzado)

1 CICLO

BSQUEDA
1ra

1 CICLO

1 CICLO

1 CICLO

EJECUCIN 1ra
BSQUEDA 2da

EJECUCIN 2da
BSQUEDA 3ra

EJECUCIN 3ra
BSQUEDA 4ta

SALTO:
5ra MOVFW PORTA
Instr. @Direccionada de SAL

2 CICLOS

(VACIO NOP)
BSQUEDA SAL

EJECUCIN SAL
BSQUEDA SAL+1

Diagrama de bloques del PIC16F877A


PUERTOS I/O

Perifricos
internos

Mapa de memoria y pila (Stack)

Despus de un reinicio

Despus de una
interrupcin

Organizacin de la memoria de datos

Registros de Funcin
Especial FSR

Registros de Propsito
General GPR
Tienen 8 bits de longitud.
Organizada en "bancos" (4) de 128
bytes cada uno.

Instrucciones
Cada instruccin es una palabra de 14 bits, dividida en cdigo de operacin,
el cual especifica la orden a ejecutar y una o ms operandos sobre los que
acta.
Todas las instrucciones se demoran en ejecutar un ciclo de mquina con la
excepcin de las instrucciones de salto que toman dos ciclos.

Instrucciones
Sintaxis

Descripcin Microchip

Operacin equivalente

ADDLW k

Add Literal and W

W=W+k

ADDWF f,d

Add W and f

d = W + f (donde d puede ser W f)

ANDLW k

AND Literal with W

W = W AND k

ANDWF f,d

AND W with f

d = W AND f (donde d puede ser W f)

BCF f,b

Bit Clear f

f(b) = 0

BSF f,b

Bit Set f

f(b) = 1

BTFSC f,b

Bit Test f, Skip if Clear

f(b) = 0 ? Si, salta la siguiente instruccin

BTFSS f,b

Bit Test f, skip if Set

f(b) = 1 ? Si, salta la siguiente instruccin

CALL k

Subroutine Call

Llama a la subrutina en la direccin k

CLRF f

Clear f

f=0

CLRW

Clear W Register

W=0

CLRWDT

Clear Watchdog Timer

Watchdog timer = 0

COMF f,d

Complement f

d = not f (donde d puede ser W f)

DECF f,d

Decrement f

d = f -1 (donde d puede ser W f)

DECFSZ f,d

Decrement f, Skip if 0

d = f -1 (donde d puede ser W f) si d = 0 salta

GOTO k

Go to address

Salto incondicional a la direccin k

INCF f,d

Increment f

d = f +1 (donde d puede ser W f)

INCFSZ f,d

Increment f, Skip if 0

d = f +1 (donde d puede ser W f) si d = 0 salta

Temporizacin interna- frecuencia de bus


Si la Fosc =20 Mhz
Fbus= Focs / 4 = 5 MHz Bus Frequency
200 ns bus cycle = instruction cycle

T1

Cristal externo de 20 MHz


T2
T3
T4
CYCLE 1
CPU
Clock
Internal
Address Bus

CYCLE 2

T1 T2 T3 T4 T1 T2 T3 T4

Q1 Se identifica la instruccin
Addr. Cycle N

Internal
Data Bus

Data Cycle
Execute
Cycle N

Q2 Lectura de dato
Q3 Procesa el dato (OPERA)
Q4 Guarda o Escribe el resultado

PUERTO I/O
Todo puerto est compuesto por un registro que configura la direccin de cada pin
asociado a este. Los registros TRISX habilitan la direccin de un LOS PINES DE UN
PUERTO. El registro que establece los valores lgicos entrada o salida, se le conoce
como el PORTX.

Registro TRISB=0b00001111 configura los bits 0al 3 de entrada y del 4 al 7 salida


Registro PORTB=0b11110000 representa que los bits de salida del 4 al 7 son 5V
Y los bits del 0 al 3 estn a la espera de recibir un voltaje de 0 5 V

Correspondencia de pines respecto a los Bits del PUERTO


Registros SFR

Caractersticas de consumo de corriente

Configuracin de bits como Entrada y Salida


En el registro TRISx 0 salida y 1 entrada

TRISA-PORTA

TRISB-PORTB

TRISC-PORTC

TRISD-PORTD

TRISE-PORTE

Conclusiones
Todo microcontrolador es un sistema Cerrado.
Las arquitecturas de los microcontroladores relaciona a la
CPU conjuntamente con las memorias RAM, FLASH REGIO.
El puerto es un registro que sirva como interfaz entre
los valores digitales o lgicos y los estados de voltaje de 0 y 5
VDC respectivamente.

Alguna pregunta?

Potrebbero piacerti anche