Sei sulla pagina 1di 52

ARQUITECTURA

DE
MICROCONTROLADORES
ARQUITECTURA VON NEUMANN
(ARQUITECTURA TRADICIONAL)
La arquitectura tradicional de computadoras y microprocesadores
se basa en el esquema de John Von Neumann, en la cual la unidad
central de proceso o CPU est conectada a una memoria nica que
contiene las instrucciones del programa y los datos.
El tamao de la unidad de datos o instrucciones est determinado
por el ancho del bus de memoria.

BUS
MEN
CPU DATOS
LIMITACIONES ARQUITECTURA DE
VON NEUMANN

La longitud de las instrucciones est limitada por la unidad de


longitud de los datos, por lo tanto, el microprocesador debe hacer
varios accesos a memoria para buscar instrucciones.

La velocidad de operacin (o ancho de banda) est limitada por


el efecto cuello de botella que significa un bus nico para datos e
Instrucciones que impide superponer ambos tiempos de acceso.
ARQUITECTURA DE HARDVARD
Consiste en un esquema en que la CPU esta conectada a dos
memorias por medio por intermedio de dos buses separados.
Una de las memorias contiene solamente las
instrucciones del programa y es llamada Memoria Programa.
La otra memoria solo almacena los datos y es llamada Memoria
de Datos.
Ambos buses son totalmente independiente y pueden ser de
distinto ancho.

BUS BUS
MEM MEN
CPU DATOS
PROG
ARQUITECTURA HARVARD/ VON-NEUMANN

El tiempo de acceso se mejora respecto a la arquitectura


von Neumann donde programa y datos se traen a la CPU
usando el mismo bus.
La arquitectura Harvard tiene memoria de programa y
memoria de datos separadas y se accede a ellas a travs de
buses separados.
INTRODUCCIN AL MICROCONTROLADOR

Un microcontrolador es un dispositivo
electrnico capaz de llevar a cabo procesos
lgicos. Estos procesos o acciones son
programados en lenguaje ensamblador por
el usuario, y son introducidos en este a
travs de un programador.
MICROCONTROLADOR
Un microcontrolador es un circuito integrado programable que
contiene todos los componentes necesarios para controlar el
funcionamiento de una tarea determinada, como el control de
una lavadora, un teclado de un ordenador, una impresora, un
sistema de alarma, entre otras. Para esto, el microcontrolador
utiliza muy pocos componentes asociados.
MICROCONTROLADOR
DIAGRAMA INTERNO MICROCONTROLADOR
CARACTERSTICAS DE UN MICROCONTROLADOR PIC
Eficiencia del cdigo: permiten gran compactacin
de programas.
Rapidez de ejecucin: a f de 20MHz 5 millones de
instr./seg.
Seguridad en acceso: Separa memoria de datos y de
programa.
Juego reducido de instrucciones.

Compatibilidad de pines y cdigo entre dispositivos


(familias)
Herramientas de desarrollo software y hardware
abundantes y de bajo costo.

Gran variedad de versiones en distintos


encapsulados (8 - 84 pines)
APLICACIONES DE LOS MICROCONTROLADORES
MICROCONTROLADORES (PIC)
PUERTOS DE ENTRADA Y SALIDA

El micro se comunica por medio de puertos de


E/S constituido por lneas digitales que trabajan
entre 0 y 5 volts. Los puertos se pueden
configurar como entradas o salidas, a gusto de
uno.
El puerto A con 5 lneas pines RA0 a RA4.
El puerto B con 8 lneas pines RB0 a RB7
PUERTO DE ENTRADAS Y SALIDAS
Las lneas son capaces de entregar niveles TTL, cuando la
tensin aplicada a Vdd=5V. La mxima capacidad de corriente
de cada una de ellas es:

25mA cuando el pin esta a nivel bajo. Sin embargo, la suma


de las intensidades de las 5 lneas del Puerto A no puede
exceder de 80 mA, ni la suma de las 8 lneas del puerto B
puede exceder los 150mA.
20mA cuando el pin esta a nivel alto. Sin embargo, la suma
de las intensidades de las 5 lneas del Puerto A no puede
exceder de 50 mA, ni la suma de las 8 lneas del puerto B
puede exceder los 100mA.
ESQUEMA ELCTRICO DE UN MICROCONTROLADOR
DIAGRAMA EN BLOQUES DE UN MICROCONTROLADOR

Control de Procesos
DIAGRMA DE BLOQUES DE UN MICROCONTROLADOR

EJECUTA EL INTERFACE
PROGRAMA CPU ENVIO Y RECEPCION
SERIE DE DATOS
GESTIONA EVENTOS

CONTIENE EL CONVERTI-
PROGRAMA Y LOS ROM ADQUISICION DE
DOR A/D
DATOS DE LA DATOS ANALOGICOS
APLICACION

CONTIENE DATOS TEMPO- GENERA SEALES


RAM CUENTA EVENTOS
TEMPORALES RIZADOR
BASE DE TIEMPOS

CONTIENE DATOS PUERTO INTERFACE DE


EEPROM
PERMANENTES E/S PERIFRICOS
TIPS MICROPROCESADOR/ MICROCONTROLADOR
EN LOS MICROPROCESADORES, EL OBJETIVO ESTA
FIJADO EN ALCANZAR LA MXIMA CAPACIDAD DE
PROCESAMIENTO DE INFORMACIN.

EN LOS C EL OBJETIVO CONSISTE EN IMPLEMENTAR UN


CONJUNTO DE FUNCIONES DE CONTROL DE FORMA MS
EFECTIVA ECONOMICAMENTE.

APLICACIONES TPICAS DONDE EL PROCESAMIENTO DE


INFORMACIN NO ES MUY ALTA.

COMO RESULTADO, EL TAMAO Y EL CONSUMO SON


MUY PEQUEOS, LO QUE LES HACE IDEAL PARA
SISTEMAS PORTTILES Y AUTNOMOS.
CLASIFICACIN DE LOS MICROCONTROLADORES

Una posible forma de clasificarlos es atender al numero de bits de


sus registros internos, lo que se conoce como ancho de palabra del
dispositivo. As se clasifican en C de 4, 8, 16 y 32 bits.
Mayora de aplicaciones con
micros de 4 y 8 bits, 16 y 32 bits
en aplicaciones de alta capacidad
de procesado.

Los micros de 4 bits conservan su


mercado debido al elevado
nmero de aplicaciones sencillas
existentes.

El sector del automvil es el


principal responsable del
crecimiento del mercado de C.
OSCILADOR
Todo microcontrolador requiere de un circuito que le indique la
velocidad de trabajo, es el llamado oscilador o reloj. ste genera
una onda cuadrada de alta frecuencia que se utiliza como seal
para sincronizar todas las operaciones del sistema. Este circuito
es muy simple pero de vital importancia para el buen
funcionamiento de dicho sistema. Por lo regular slo se requiere
un componente de cuarzo externo o una red RC.
Algunos microcontroladores permiten el uso de 5 osciladores
para definir la frecuencia de operacin.
Los pines OSC1/CLKIN y OSC2/CLKOUT son
lneas utilizadas para estos fines.
OSCILADOR

El ms utilizado y esta conformado por un cristal de cuarzo.


Es un oscilador estndar que permite una frecuencia de
reloj entre 100Khz y 4Mhz.

El cristal debe ser de 4Mhz y los condensadores entre 15 y


33pF.
PERRO GUARDAN (WATCHDOG)
Cuando el computador personal se bloquea por un fallo del
software u otra causa, se pulsa el botn del reset y se reinicializa
el sistema. Pero un microcontrolador funciona sin el control de
un supervisor y de forma continuada las 24 horas del da. El perro
guardin consiste en un temporizador que, cuando se desborda y
pasa por 0, provoca un reset automticamente en el sistema.

Se debe disear el programa de trabajo que controla la tarea de


forma que refresque o inicialice al Perro guardin antes de que
provoque el reset. Si falla el programa o se bloquea, no se
refrescar al Perro guardin y, al completar su temporizacin,
ladrar y ladrar hasta provocar el reset.
ESTRUCTURA MICROPROCESADOR
FAMILIA PIC16CXXX/16FXXX

Puertos de Entrada/Salida

Puerto Esclavo Paralelo (PSP)

Temporizadores/contadores (TMR0, TMR1, TMR2)

Captura / Comparacin / PWM (CCP1 y CCP2)

Conversin Analgica / Digital (A/D)

Transmisor Receptor Asncrono Sncrono Universal (USART)


Puerto Serie Sncrono (BSSP MSSP)

Memoria EEPROM de datos

FLASH EEPROM de programa modificable desde el cdigo


MICROPROCESADOR & MICROCONTROLADOR

Sistema Microprocesador (varios C.I. en una PCB)

Microcontrolador (nico C.I.)


RESET (MCLR)
El denotado RESET de un microcontrolador provoca la reinicializacin de
su funcionamiento, un comienzo a funcionar desde cero. En ese estado,
la mayora de los dispositivos internos del microcontrolador toman un
estado desconocido. En los microcontroladores se requiere una terminal
de reset para reiniciar el funcionamiento del sistema cuando sea
necesario. La terminal de reset en los PIC se denomina MCLR (Master
Clear) y produce un reset cuando se le aplica un nivel lgico bajo.

Para tener control sobre el reset del sistema,


se puede conectar un pulsador y conseguir
un reset manual llevando
momentneamente la terminal MCLR a
tierra cada vez que se presiona el pulsador.
El reset permanecer mientras se tenga
presionado dicho pulsador y no comenzar
la secuencia de arranque hasta que no se
libere, suministrando as un nivel lgico de
1 a la terminal MCLR.
RESET (MCLR)
El RESET en los microcontroladores se puede producir por diferentes
causas, denominadas fuentes de reset. El nmero de fuentes de reset
puede variar dependiendo del tipo de microcontrolador. Las siguientes
son comunes a casi todos los microcontroladores PIC:

Reset interno.
Reset por encendido. (puesta en marcha)
Reset por desbordamiento del perro guardin.
Reset por fallo de alimentacin.
Reset externo. ( o manual)

Que garantiza el RESET?


Correcto funcionamiento de la Fuente de Alimentacin.(H)
Que el oscilador est en rgimen estable.
Que frente a fallas internas se activa el perro guardin
MEMORIA
En los microcontroladores la memoria de instrucciones y datos est
integrada en el propio chip. Una parte debe ser no voltil, tipo
ROM, y se destina a contener el programa de instrucciones que
gobierna la aplicacin.

Otra parte de memoria ser tipo RAM, voltil, y se destina a


guardar las variables y los datos.

Hay dos peculiaridades que diferencian a los microcontroladores de


los computadores personales:
No existen sistemas de almacenamiento masivo.
Como el microcontrolador slo se destina a una tarea en la
memoria ROM, slo hay que almacenar un nico programa
de trabajo.
TIPOS DE MEMORIAS
MEMORIA RAM (Random Access Memory)

La memoria RAM es una memoria de lectura y de escritura.


Hay dos variantes:

La Esttica y la dinmica:

En la memoria RAM esttica la informacin almacenada


permanece estable indefinidamente mientras no se suprima
la tensin de alimentacin.
Las RAM dinmicas se usan principalmente en ordenadores
pero no en los microcontroladores.
MEMORIA ROM (Read Only Memory)

En la memoria ROM la informacin es grabada durante el


proceso de fabricacin del dispositivo y no puede ser alterada
unilateralmente.

La informacin que se graba en la memoria, que puede ser el


programa y algunos datos, debe haber sido comprobada y
depurada minuciosamente antes de encargar la fabricacin del
microcontrolador.
MEMORIA EPROM Y OTP
(Eresable Programmable Read Only Memory
/One Time Programmable)
Estas memorias son muy similares pero se diferencian en su
encapsulado.
Los dispositivos con memoria EPROM tienen una ventana de
cristal de cuarzo para poderlos borrar masivamente con luz
ultravioleta, pero sin la ventana de cristal no se pueden borrar ni
alterar una vez programado.

Los dispositivos OTP son encapsulados en plstico para


montaje en superficie.
Las caractersticas de ambas memorias son No Voltiles (solo
lectura) y programables una sola vez.
MEMORIA EEPROM
(Electrical Eresable Programmable Read Only Memory)

La escritura de la memoria se realiza por medios elctricos.


Es una memoria no voltil de lectura y escritura.
Las celdas pueden ser escritas individualmente sin una
operacin previa de borrado.
La memoria se puede reprogramar un nmero finito, muy
grande.
No dispone de ventana de cristal en la superficie.
MEMORIA FLASH

Se trata de una memoria no voltil, de bajo consumo, que se


puede escribir y borrar.
Funciona como ROM y RAM.
A diferencia de la ROM, la memoria Flash es programable en el
circuito, es ms rpida.
El borrado de la memoria se realiza bloques de celdas de
memoria, no celda a celda.
PROTECCIN BROWNOUT

Se trata de un circuito que resetea al microcontrolador cuando


el voltaje de alimentacin (VDD) es inferior a un voltaje
mnimo (brownout). Mientras el voltaje de alimentacin sea
inferior al de brownout el dispositivo se mantiene reseteado,
comenzando a funcionar normalmente cuando sobrepasa dicho
valor.
ESTADO DE REPOSO O BAJO CONSUMO
Son abundantes las situaciones reales de trabajo en que el
microcontrolador debe esperar, sin hacer nada, a que se produzca
algn acontecimiento externo que le ponga de nuevo en
funcionamiento.
Para ahorrar energa, (factor clave en los aparatos porttiles),
los microcontroladores disponen de una instruccin especial
(SLEEP en los PIC), que les pasa al estado de reposo o de bajo
consumo, en el cual los requerimientos de potencia son mnimos.
En dicho estado se detiene el reloj principal y se congelan sus
circuitos asociados, quedando sumido en un profundo sueo el
microcontrolador.
Al activarse una interrupcin ocasionada por el acontecimiento
esperado, el microcontrolador se despierta y reanuda su trabajo.
CONVERSOR AD/DA
Conversor A/D (CAD)
Los microcontroladores que incorporan un Conversor A/D
(Analgico/Digital), pueden procesar seales analgicas, tan
abundantes en las aplicaciones. Suelen disponer de un multiplexor
que permite aplicar a la entrada del CAD diversas seales analgicas
desde las patitas del circuito integrado.

Conversor D/A (CDA)


Transforma los datos digitales obtenidos del procesamiento del
computador en su correspondiente seal analgica que saca al
exterior por una de las patitas de la cpsula.
Existen muchos efectores que trabajan con seales analgicas.
COMPARADOR ANALGICO

Algunos modelos de microcontroladores disponen internamente


de un Amplificador Operacional que acta como comparador
entre una seal fija de referencia y otra variable que se aplica por
una de las patitas de la cpsula. La salida del comparador
proporciona un nivel lgico 1 0 segn una seal sea mayor o
menor que la otra.

Tambin hay modelos de microcontroladores con un mdulo de


tensin de referencia que proporciona diversas tensiones de
referencia que se pueden aplicar en los comparadores.
MODULADOR DE ANCHO DE PULSOS PWM
(Pulse width modulation)

Es uno de los sistemas ms empleados para el control de


servo-motores. Este sistema consiste en generar onda
cuadrada donde se vara el tiempo del ancho del pulso
cuando est a nivel alto, manteniendo el mismo perodo
(normalmente), con el objetivo de modificar la posicin
del servo segn se desee.
MODULADOR DE ANCHO DE PULSOS PWM

Grfica PWM

ngulo (/ tiempo (ms))


MODULADOR DE ANCHO DE PULSOS PWM

Grfica de la respuesta PWM en que el microcontrolador entrega 0


PUERTAS DE COMUNICACIN
Comunicacin con otros dispositivos externos, otros buses de
microprocesadores, buses de sistemas, buses de redes y poder
adaptarlos con otros elementos bajo otras normas y protocolos.
Algunos modelos disponen de recursos que permiten directamente esta
tarea, entre los que destacan:
UART, adaptador de comunicacin serie asncrona.
USART, adaptador de comunicacin serie sncrona y asncrona
Puerta paralela esclava para poder conectarse con los buses de otros
microprocesadores.
USB (Universal Serial Bus) Bus serie para los PC.
Bus I2C, que es un interfaz dos hilos desarrollado por Philips.
CAN (Controller Area Network), para permitir la adaptacin con
redes de conexionado multiplexado desarrollado conjuntamente por
Bosch e Intel para el cableado de dispositivos en automviles. En
EE.UU. se usa el J185O.
MEMORIA
0000h RESET
ALMACENA TODAS LAS INSTRUCCIONES DEL
0001h
PROGRAMA DE CONTROL, QUE DEBE ESTAR GRABADO
0002h EN FORMA PERMANENTE.
0003h
LA INFORMACIN CONTENIDA ES ESTA MEMORIA SE
0004h INT
GRABA PREVIAMENTE MEDIANTE UN EQUIPO FSICO
0005h DENOMINADO PROGRAMADOR O GRABADOR.
0006h
0007h POR EJEMPLO EL PIC16F877 TIENE UNA MEMORIA
VOLTIL ROM FLASH QUE ADMITE UNAS 1000
0008h
GRABACIONES.
0009h
000Ah LA MEMORIA DE PROGRAMA EST ORGANIZADA EN
000Bh PALABRAS DE 14 BIT CADA UNA.

1FFCh TODAS LAS INSTRUCCIONES OCUPAN UNA POSICIN


1FFDh DE MEMORIA DE PROGRAMA
1FFEh
1FFFh
MEMORIA
STATUS STATUS STATUS STATUS

PORTB PORTB
REGISTROS
Para configurar al PIC, debemos modificar
algunos registros especiales: STATUS,
OPTION_REG, INTCON, TRISA, TRISB
Para manejar el I/O estn los registros
PORTA, PORTB
Todo registro es de 8 bits (1 Byte)
TIMER
Qu cuenta el Timer?

El timer puede ser configurado de distintas


maneras para que vaya ms rpido o ms lento,
pero con ciertos lmites.
Un segundo para el timer es mucho tiempo, an
cuando est configurado para ir lo ms lento
posible.
COMPONENTES DEL TIMER
Prescaler: Ac podemos seleccionar que el tiempo se
vaya incrementando a la misma velocidad que se leen
las instrucciones (si tiene el valor 1) o si queremos
configurarlo a nuestra medida (si tiene el valor 0).
Prescaler Rate Select (P.R.S.): Si el prescaler queda
configurado con valor 0, ac podemos seleccionar la
velocidad a la cual queremos que se mueva el timer.

El prescaler y el prescaler
rate select se configuran en el
registro OPTION_REG
FUNCIONAMIENTO DE UN PIC

Un PIC nuevo viene vaco, no hace nada.


Para decirle al microcontrolador lo que queremos que
haga, necesitamos escribir un programa en el computador
y grabrselo en la memoria
Se puede grabar y volver a grabar muchas veces distintos
programas en el mismo PIC16F84A
PASOS PARA GRABAR UN PROGRAMA

Ir a un PC y escribir el cdigo en ASSEMBLER


Compilar el archivo.
Conectar el PIC a un programador de PICs que se
conecta al PC.
Grabar el archivo compilado al PIC.
LENGUAJE ENSAMBLADOR
ES EL NICO LENGUAJE QUE ENTIENDEN LOS MICROCONTROLADORES, ES
EL LENGUAJE DE MQUINA FORMADO POR CEROS Y UNOS DEL SISTEMA
BINARIO.

EL LENGUAJE ENSAMBLADOR EXPRESA LAS INSTRUCCIONES DE FORMA MS


NATURAL AL HOMBRE, A LA VEZ MUY CERCA AL MICROCONTROLADOR, YA
QUE CADA UNA DE SUS INSTRUCCIONES SE CORRESPONDE CON OTRA EN
CDIGO DE MQUINA.

EL LENGUAJE ENSAMBLADOR TRABAJA CON NEMNICOS,QUE SON GRUPOS


DE CARACTERES ALFANUMRICOS QUE SIMBOLIZAN LAS RDENES O
TAREAS A REALIZAR.

LA TRADUCCIN DE LOS NEMNICOS A CDIGO DE MQUINA ENTENDIBLE


POR EL MICROCONTROLADOR LA LLEVA A CABO UN PROGRAMA
ENSAMBLADOR.

EL PROGRAMA ESCRITO EN LENGUAJE ENSAMBLADOR SE DENOMINA


CDIGO FUENTE (*.ASM). EL PROGRAMA ENSAMBLADOR PROPORCIONA A
PARTIR DE ESTE FICHERO EL CORRESPONDIENTE CDIGO DE MQUINA,
NORMALMENTE CON EXTENSIN *.HEX.
LISTA DE INSTRUCCIONES
Instrucciones de BIT
NEMNICO DESCRIPCIN FLAGS AFECTADOS

bcf f,b Pone a 0 el bit b del Ninguno


bsf f,b registro f bit b del
Pone a 1 el Ninguno
registro f

Instrucciones ARITMTICAS
NEMNICO DESCRIPCIN FLAGS AFECTADOS

addlw k (W) + k (W) C DC -Z


addwf f,d (W) + (f) (destino) C DC -Z
decf f,d (f) - 1 (destino) Z
incf f,d (f) + 1 (destino) Z
sublw k K - (W) (W) C DC -Z
subwf f,d (f) - (W) (destino) C DC -Z

Potrebbero piacerti anche