You are on page 1of 8

INTRD·D~UCCI6N A LOS MICROCONTROLADO'RES

Arquitectura generica de los diierentes modelos

odos los modelos de micrcccntroladcres PIC uenen una arquirectura similar, aunque sus caractertsticas sean bien diferentes. Un:a descripcion general puede ser perrectamente aplicable tl cualquiera de los tlP05 existentes, no obstante postenorrnente tremos analizand'blas ·diferencias que hay entreenos. Una de las caractensticas mas relevantes es que 121 arquiteetura del procesador

sigue 121 modele Harvard, donde la UCP IUnidad Central de Proceso) se conecta de tormadferente y con di.stintos buses con 12'1 memoria de imtrucdones y 121 memoria de datos, y accede sirrrultaneamente a estas dos mernorias.

En la ejecucion de las instrucciones, uti'lizan Ia recntca de seqrnentacton (pipeline) 10 ellal perrrute 211 procesador realizar 211 mismo tiempcdos fundones: Ej~ cucion de 121 mstruccion y busqueda del

codigo de Ia siguienre en un solo cicio. AI habJar de ciclosde mstrucclon no nos referimos a ciclos de relo]. narmalmente un cicio deinstrucci6n "consume" CU21- tro ciclos de relo]. Evidentemente, esto no es aplicable a las instrucciones de salto, pues no se conoce la dlrecoon de la siguienre mstrucctcn nasta completar 121 bifurcacion, par 10 que esta operacion es algo mas larga y requlere dos cidos.

o Dos verslcnes de rnkroconrroladores, una tlorrGlb!e oon raym ultravioleta 112(105191 y la ota no !pIC 16(E518!.

"La tabla rnuesrra las prtndpalcs cerec erlstkas de 105 PIC mas utiJizados.

Un.a de las principales carectenstces de los procesadores es SIJ arquitectura RiSe ((Qmputador de Juego de lnstrucriones

Reducidol. Si analizamos el mi:Jnual del repertorio de insrrucctones que se entreg6. veremos que el numero de instruc-

eiones es muy reducido (33 a 35 instruccionesl todas elias aplicables if cualquiera de los mcdeios. Los de gama mas ':llta

pueden lIegar hasta las 60 instruccones. Se puede decir que las instrucciones son ortoqonales. donee cualquera de elias puede rnanejar 121 fuente y el destine de los datos.

QITa de las caractertsncas que destacamas es el banco de reqtstros donde todos los elementos del sistema estan implemenrados fisicamente y ocupan una direccion de memoria. Tan s610 el registro INDF [Indirect Data Addressing) no es un registro ffsico, se utifrza para los direccionamient05 indirectos, como se vera postenorrnenre,

Siempre ha sido un problema la reiniciatizaoon de los sistemas basados en rrncroprccesadores 211 conectarles 121 alimentaci6n; pues bien, todos los PIC 10 tienen resueno pueden generar un auto reset /power On Reset) si asl se programa. Iarnbien puede generar un reset el sistema WatChdog, 10 produce un temporizador Interno si no es recarqado antes de que pase el tiempo programado. Es un modo de controiar que el sistema no se quede perdido 0 btoqueado. Hay una instrucci6h que puede llarnar pcderosarnente la atencion. cuando esta se ejecuta el oscilador principal se detiene, con ello se reduce considerablemente el consumo: naturalmente habJa-

512x12 1024x12

1024)(t2 512x12 1U24x12

o Dlsposlci6n de patinas de 105 modelos PIC I 2C5XX Y dlferencias mas slgnlf;cativ~s.

o La gama PICI ZC67X es algo mas completa que ta 12C5XX: superlor frecuenCia de trabajo y convertidoresArr.JIOgico Digital.

Q3 04

o EI cioo de jnS01JcciQn consume cuatro crcl05 de r€loj. La tecnica de seqrnenraoon IPIPE-UNE) permlte nrocesar y buscar el clldigo de ta siguiente lnstrucdcn ,,' mi5mO tlernpo,

os de fa instruccion SLEEP EI "desper'10" puede ser reanzado de diferentes rmas, dependiendo del microcontrolaJr utiH:2ado pero, en cualquier caso, no

perdera ninguna informacion, es .mo si todo quedara congelado en

espera de quedespierte el sistema. La primera operacion que hay que realizar despues de despertar es leer el esrado de los diferentes reqtstros para saber quien wando y como se ha producido ta reinicializacion del sistema

o Configuradon del oscrl"dor con crilXal 0 resonador,

Los PIC tienen un sistema de proreccion para evtrar que puedan Ieerse. Es una operon que se' habilita 0 des~12lbilita en el momenta de la grabaci6n. Los rnkrocontroladores que entregamos en esta obra no estan protegidos, por 10. que no

o Conllgu(llci6n del osdtador con reloj externo.

o Cirrurto mcil;;lda con l'I1~1a1 paralelo

exlste ningun problema si se d~;seanA'eer o copiar. .

OSCILADORES D,E LOS PIC

Normalmente los PIC rienen cuatro modos de funcionar Re, XT, LP Y HS. Algunos modetos disponen de uno mas:

INTERNO. Precisamente esre es el utHizado en nuestros montajes (pIC I 6CE 5 1 8 J. Cuando S8 realiza 121 programaci6n del PIC y se elige 121 modalidad RC"zeindlca que el oscilador ernpleado-es simpleme.fl~ te una reststencia y un conde.nsador conectadas·a una de sus panllas. Almque su estBbilidad defreruencia es mediana, puede ser mas que suficienre para los rnontajes donde no se requiera precision en 121 frecuenda de reloj. En 121 modalidad XT se requiere de un cristal de cuarzo a resonador conectado a des de las patillas del microcontrolador EI cristal a resonadar empleado puede tener una frecuencia entre roo KHz y 4 MHz, Parafrecuencias lnrerlores [entre 32 y 20() KHz! 121 codigo hade ser LP Esta es 121 modalidad ideal para obtener consumas muy bajos, el prerio que se paga par ella es ill baj<'1velocidad de proce.so. EI consume es muy importante cuando los circuitos dlsenaoos se ahrnentan con pitas: si el sistema no requiere una velcddad elevada de proreso. a 13 .Iarga, etegir lP nos anorrara dinero,

:Cuando se requieran frecuencias de trabajo mas eJevadas (entre 8 y 20 MHz) ha de eteqlrse HS. No roeos los PIC pueden trabaJar a ems velocidades par 10 que s610 dlsponen de esta modalidad aquehos que su frecuencia maxima de trabajo esta comprendida entre lOS margenes rnendonacos.

los PIC que disponen de Ja rnooandad INTERNA Ifrecuencia fiJa de 4 MHz.) pro"

o Circuito oscnador (on cnsrar sene.

porcionan un grado de ahorro en todos los aspectos. Por un lado, ahorran com" ponentes exrernos. pues no requieren de nrngLIn componente aolclonal 211 propio microcontroiador y, por otro. ahorran espacio en el orcuno impreso La frecuencia de trabaJo del oscilador es bastante estabte 1+ " 5%) siempre que se cum plan los requisites dados por el fabricante, Cada chip, de los modelos que

Vss

I

Cext

o C:onng(JraCi¢n {Je~ o~cjl~o9r en el modo RC.

jMCIFl/Vpp)

~ ~ @D

<BID <'@P

disponen de oscuador interne, ya sale de la fabrica calibrado par 10 que esta garantizada Ia referida precision. EI unko requisito que se ha de cumplir es guardar en un registro especial lOSCCALI et valor de calibracion, Cuando 51'" conecta 103 anrnentacion al rnicrocontrolador, el registro W contiene 1"'1 valor de calibracion, por 10 que soiamente 1"'5 necesano lIevarlo al reglstro OSCCIIl. kl

N/C

@> (@) (@) (ffi>

<B:W <BID>

EEPROM, FLASH, etc. depende del modelo de microcontr'Olador y algunos de elias, ademas, tienen otra memoria de datos adicional del tipo EEPROM.

BANCO

DE REGISTROS

Los reqisrrosue los microcontroladores no son mas que cjiferentes pasiciones de memoria ROM 0 EPROM reservadas

o Disposk,6n de padlla; de los rnooelos PIC 16c5X.

pues, la primera insuucoon que se ha de ejecutar sera: movwf OSCCAL_

LA MEMORIA

Los mrcrocorurotadores poseen basicamente dos tipos de memorias: ROM para almacenar las instrucciones del programa y RAM para los datos. (onereLando aun mas diremos que la memoria de instrueeiones puede ser EPROM.

o EI ddo de Imtruccil'ln de 1.3 sene PIC 16C7X es de 200 ns.

o Dj'!Elosicion de las 1').;1,1 I las de dlfc:~ntel modclm de microcontrOladore5_

para usa tnterno, a direcciones RAJ'vl para que el proqramador pueda utilizarlas para almacenar datos, Normalmente. estas ultimas quardaran los datos de las variables utillzadas a 10 largo del programa aunque. como ya se vera, pue-den ernplearse como oancos de memoria RAM.

La cantidad de regisrros, as! como 121 direcci6n que ocupan en los cancos de

memoria, depende de (ada modelo de micmcontrolador; cada uno de elias tiene su propio banco esp edfi co, por 10 tanto, cuando se inieia un proyecta con un circuito deterrnmado. se requ.ere conocer entre otras casas, el mapa de registros para no cameter errores en 121 proqrarnaoon.

Por consiguiente, podemos clasificar a los reqlstros en dos grupos reqistros

especiales y de prop6sito general. Los primeros se hallan implementados como posiciones de memoria: Registro de Estado, el de Opciones, Palabra de configu-

__ radon. OSCCAL etc. y los segundos - cuyas drecciones suelen ser las siguien-tes a 121 de 105 registras especlares dentro del rnisrno banco de memoria- que se ernplean para guardar datos en la rase de ~ewci6n del programa

TEMPORIZADORES

Los ternporizadores incluidos en los rnicrccontroladores son contadores ascencentes 0 descendentes y progral11ables. Se (,::Irga con un valor, se deerementa al ritmo de los impulsos de reloj y cuando lIeg21 a 0 se produce su desbordamiento. Esta secuencia eonlleva un tiempo de ejecuci6n variable en funci6n del valor cargada en el co ntad or, par 10 que es un dispositivo tipico para gobernar tiempo.

Algunos modelos drsponen de varies temporizadores que. incluso. puede provocar interrupciones software. otros 5610 disponen de uno y esta asignado 211 Watchdog.

ELCONTADOR

DE .PROGRAMA (PCJ

EI Contador de Programa es el que establece el ftujo de control de los direccionamientos de 121 memoria que contiene el c6diga del programa. En 121 mayorla de las instrucciones el PC se incrementa aotomatlcamente para apunrar a Ia siguiente instrucci6n, sin embargo, cuando la instrucci6n es de saito del tipo clrecro. elvator que se carga en el PC proviene'ue una parte de los bits del cOdigo OP pperando) de la propia instrucci6n. En los: salros relatives, 1.21 ALU suma al valor que contiene el PC el del salta y se vuelve a almacenar en el PC pot consiquieore esa sera la nueva direcci6n del saito.

De esto se deduce que los PIC tienen rres tipos de direccionamiento: Inmediato. donde el valor del data esta contenido en el OP de la instrucci6n. Directo, en el que 121 direccton del area de la

htJ,ramatJioD I CflCUltfJS 1m

e

o Eleglr I.Ill modelo de microcon rolacor u otro depende de las caractertsncas de proyecro a reanzar.

memoria de datos, dande se halla el eperandc esta contenida en el OP de la instrucci6n. Indirecto, doride la direccion de datos que guarda el operando esra contenida en un registm.

En el proximo capitulo comenzaremos a estudiar los mkrocontroladores PICI 2CE5XX, su arquitectura, instrucciones y diferencfas entre los diferentes modelos de 121 gama 5xx, aunque, en realidacl.

esta diferencia casi se resume en las diferentes capacidades de memoria EPROM. RAM y, en algun case, EEPROM. ademas, el modelo PIC I 2CE518, es el empleado en los proxirncs montajes a reaJizar,