Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Descripcion de Un Microcontrolador (Modulos Basicos)
Descripcion de Un Microcontrolador (Modulos Basicos)
Descripcin General de un
Microcontrolador (Mdulos Bsicos)
(Basado en Freescale HC08 y HCS08)
Autores:
Ing. Jorge R. Osio
Ing. Walter Arztegui
Ing. Jos A. Rapallini
Septiembre de 2011
Descripcin General de un Microcontrolador (Mdulos)
Versin 2.0
Pgina 1
INDICE.
1. Introduccin
1.1. Mdulos Disponibles en las Diferentes Lneas de Microcontroladores
1.2. Mdulos Especficos de la Familia HC908QT/QY
2.3. Interrupciones
2.4. Modos de bajo Consumo
2.5. Mdulo IRQ Durante el Quiebre de Interrupcin
2.6. Seales de Entrada/Salida
2.6.1. Pines de Entrada IRQ
2.7. Registros
Pgina 2
4.4. Interrupciones
4.5. Modo Wait
4.6. TIM Durante el Quiebre de Interrupciones
4.7. Seales de Entrada/Salida
4.7.1. Pin de Clock del TIM (PTA2/TCLK)
4.7.2. Pines I/O de canales del TIM (PTA0/TCH0 y PTA1/TCH1)
Pgina 3
Apndice.
1. Registros de Control, de Estado y de Datos
2. Resets e Interrupciones
2.1. Procesamiento de Excepciones
2.1.1. Reconocimiento
2.1.2. Arbitraje
2.1.3. Stacking (apilado)
2.1.4. Bsqueda de Vectores
Pgina 4
1. Introduccin
La gran diferencia entre los Microprocesadores [5], [9] y [10] y los Microcontroladores es que
estos ltimos tienen espacio de memoria y una variedad de mdulos perifricos que le permiten
interactuar directamente con el mundo Exterior.
La memoria se puede dividir en memoria Flash (para el almacenamiento del programa),
Memoria RAM (en donde ser crean las variables) y Registros de control y estados.
Dentro de los mdulos Perifricos se pueden distinguir dos grupos, aquellos que se encargan de
contribuir, asegurar y monitorear el buen funcionamiento del MCU y los que permiten comunicar
al MCU con otros dispositivos externos de diferentes maneras y mediante diferentes protocolos.
Dentro de los mdulos que se encargan de asegurar el buen funcionamiento del MCU se
encuentran el Mdulo oscilador, el Mdulo SIM, el Mdulo COP y el LVI. Todos Estos mdulos
fueron desarrollados en el Apunte Descripcin General de un Microcontrolador CPU basado en
los Microcontroladores de Freescale HC908 [1] y [2].
En este Apunte se desarrollarn el resto de los mdulos que incluye la Familia HC908QT/QY y
otros mdulos, como el SCI, SPI, I2C y el USB, que aparecen muy comnmente en las nuevas
Familias de Microcontroladores. Bsicamente se describirn todos aquellos mdulos que le
permiten al Microcontrolador interactuar con el mundo exterior.
Mdulo Oscilador: Provee al MCU de una fuente de Clock. Esta fuente se puede
implementar mediante un oscilador interno, un cristal externo y mediante un circuito RC.
Mdulo SIM: Generacin y control de clock, control de Master reset, control de
interrupciones, manejo de la temporizacin en el MCU.
Mdulo COP: Ayuda a recuperar la lnea de ejecucin de cdigo del usuario.
Mdulo LVI: Realiza la supervisin de la fuente de alimentacin.
Pgina 5
Mdulo IRQ: Es un mdulo que permite al MCU recibir interrupciones externas mediante
un puerto de entrada.
Mdulo AWU: Este Mdulo no provee una interfaz externa al MCU, pero interviene en
todas aquellas operaciones en donde el MCU se queda inactivo esperando la llegada de
algn evento externo.
Mdulo TIM: Provee Diferentes Modos de Temporizacin mediante Contadores, divisores
de la frecuencia de Bus, Capturadores de entrada, Comparadores de Salida y hasta
modulacin por ancho de pulso PWM.
Mdulo KBI: Permite generar interrupciones por teclado externamente.
Mdulo ADC: Permite Digitalizar seales analgicas con una resolucin de hasta 255
niveles.
Pgina 6
2.1. Caractersticas
Entre las caractersticas del IRQ se incluyen:
Pin de interrupcin externa, IRQ
Bits de control de interrupcin IRQ
Deteccin de Interrupcin programable por flanco solamente o por flanco y nivel.
Deteccin de interrupcin automtica
Pullup interno seleccionable.
Pgina 7
RST, IRQ: Estos pines tienen tienen pullups internos (de 30K Ohms)
PTA[0:5]: Capacidad de alto suministro de corriente
PTA[0:5]: Estos pines tienen interrupciones por teclado programables y pullups
PTB[0:7]: No disponible en MC68HC908QT1, MC68HC908QT2, y MC68HC908QT4
ADC: No disponible en MC68HC908QY1 y MC68HC908QT1
Pgina 8
2.2.1. MODE = 1
Si el bit Mode est seteado, el pin IRQ tendr sensibilidad por flanco descendente y por nivel
bajo. Con el Mode seteado, se deben realizar las siguientes acciones para borrar el requerimiento de
interrupcin IRQ:
Retorno del pin IRQ a un nivel alto. Mientras el pin IRQ est en bajo, el requerimiento de IRQ
seguir activo.
El borrado del vector de carga IRQ (vector Fetch IRQ) o el borrado por software. Un vector
fetch IRQ genera una seal de reconocimiento de interrupcin para borrar el latch IRQ. El
Software genera la seal de reconocimiento de interrupcin escribiendo un 1 al ACK en
INTSCR. El bit ACK es til en aplicaciones que consultan el pin IRQ y precisan del software
para borrar el latch IRQ. Escribiendo el ACK antes de abandonar una rutina de servicio de
interrupcin tambin se pueden prevenir interrupciones indeseadas causadas por ruido.
Seteando el ACK no se afectarn las subsiguientes transiciones en el pin IRQ. Un flanco
descendente que ocurre despus de escribir el ACK guarda otro requerimiento de interrupcin.
Si la mscara del bit IRQ, IMASK, es borrada, la CPU [5] carga el contador de programa con
la direccin del vector IRQ.
El vector fetch IRQ o el borrado por software y el regreso del pin IRQ a un nivel alto, pueden
ocurrir en cualquier orden.
La solicitud de interrupcin sigue pendiente mientras el pin IRQ est en nivel bajo. Un reset
borrar el latch IRQ y el bit de control MODE, borrando as la interrupcin incluso si el pin
permanece en nivel bajo. Utilice la instruccin BIH o BIL para leer el nivel lgico sobre el pin IRQ.
Pgina 9
2.2.2. MODE = 0
Si el bit MODE est en cero, el pin IRQ solo se activar con un flanco descendente. Con el
MODE borrado, el borrado del vector fetch IRQ o un borrado por software borra inmediatamente
el latch IRQ.
El bit IRQF en INTSCR se puede leer para chequear las interrupciones pendientes. El bit IRQF
no es afectado por IMASK, lo que hace que sea til en aplicaciones donde se prefiere hacer polling
(lectura continua del estado del pin).
2.3. Interrupciones
La siguiente fuente de IRQ puede generar requerimientos de interrupcin:
flag de interrupcin (IRQF) el bit IRQF es seteado cuando el pin IRQ se encuentra
configurado en el modo IRQ. El bit de la mscara de interrupcin del IRQ, IMASK, se
utiliza para habilitar o deshabilitar los requerimientos de interrupcin por IRQ.
Pgina 10
real sobre el pin. Por el contrario, cuando el IRQ est activado, el bit 2 del registro de datos del
puerto A siempre se leer como un 0.
Cuando se utiliza el disparo de interrupcin sensible al nivel, se evitan las falsas interrupciones
por enmascaramiento del requerimiento de interrupcin en la rutina de interrupcin. Se conecta un
pullup interno a VDD en el pin IRQ; esto se puede desactivar seteando el IRQPUD en el registro
CONFIG2 ($001E).
2.7. Registros
El registro de control y estado IRQ (INTSCR) controla y monitorea las operaciones del mdulo.
El registro INTSCR tiene las siguientes funciones:
Muestra el estado del flag IRQ
Borra el latch IRQ
Enmascara el requerimiento de interrupcin IRQ
Controla la sensibilidad de disparo del pin de interrupciones IRQ
Pgina 11
3.1. Caractersticas
Este mdulo incluye:
Pgina 12
Pgina 13
Pgina 14
KEYF (Keyboard Flag Bit): Es un bit de solo lectura que es seteado cuando est pendiente un
pedido de interrupcin sobre el puerto A o el despertar automtico. El Reset borra este registro.
1 = interrupcin pendiente.
0 = interrupcin no pendiente.
ACKK (Keyboard Acknowledge Bit): Escribiendo un 1 en este bit de solo escritura limpia los
pedidos de interrupcin sobre el puerto A o despertar automtico. Siempre se lee como 0. El Reset
tambin lo limpia.
IMASKK (Keyboard Interrupt Mask Bit): Escribiendo un 1 a este bit de lectura/escritura
previene la generacin de un pedido de interrupcin desde el puerto A o despertar automtico. El
Reset borra este bit.
1 = pedido de interrupcin enmascarado.
0 = pedido de interrupcin no enmascarado.
MODEK: no tiene relacin con el mdulo AWU.
Pgina 15
4.1. Caractersticas
Entre las Caractersticas del TIM se incluyen las siguientes:
Dos canales de input capture / output compare
Disparo mediante flanco ascendente, flanco descendente, o cualquier flanco para
captura de entrada.
Accin de comparador de salida por seteo, borrado o conmutado.
Generacin de Modulacin por ancho de pulso (PWM) por medio de buffers o sin ellos.
Entrada de clock de TIM programable
Seleccin de divisor de la frecuencia de clock del bus interno con 7 frecuencias
Entrada de clock de TIM Externo
Operacin de mdulo contador con lmite de cuenta o de libre ejecucin
Conmutado de cualquier pin de canal por desborde
Bits de reset y Stop en el contador del TIM
TCH0
TCH1
TCLK
PTA0/TCH0
PTA1/TCH1
PTA2/TCLK
Pgina 16
Figura 9. Diagrama en bloques que resalta los pines y bloques del Mdulo TIM
Pgina 17
Pgina 18
Pgina 19
Para sincronizar los cambios no bufereados en el valor del comparador de salida sobre el canal x
se deben utilizar los siguientes mtodos:
Cuando se cambia a un valor menor, se deber habilitar la interrupcin en el comparador de
salida del canal x y se deber escribir el nuevo valor en la rutina de interrupcin del
comparador de salida. La interrupcin del comparador de salida ocurre al final del pulso
actual. La rutina de interrupcin tiene hasta el final del periodo de desborde del contador para
escribir el nuevo valor.
Al cambiar a un valor mayor del comparador de salida, se debern habilitar la interrupcin
por desborde y escribir el nuevo valor en la rutina de interrupcin por desborde del TIM. La
interrupcin por desborde ocurre al final del periodo actual de desborde del contador. Al
Escribir un valor mayor en la rutina de interrupcin del comparador de salida (al final del
pulso actual) podra causar dos comparaciones de salida a ocurrir en el mismo periodo de
desborde del contador.
Pgina 20
El valor del comparador de salida en los registros del canal 0 controla la salida sobre el pin
TCH0.
Escribiendo los registros del canal 1 se habilitan dichos registros para controlar sincrnicamente
la salida despus de los desbordes del TIM. Posteriormente, en cada desborde, los registros del
canal (0 o 1) que controlan la salida son los ltimos en escribirse. TSC0 controla y monitorea la
funcin del comparador de salida bufereado, y quedar en desuso el registro de control y estado del
canal 1 (TSC1). Mientras el bit MS0B est seteado, el pin del canal 1, TCH1, queda disponible
como u pin I/O de propsito general.
Durante la operacin del comparador de salida bufereado, no se escriben nuevos valores de
comparacin de salida a los registros del canal actualmente activo. El software del usuario deber
hacer un seguimiento del canal actualmente activo para prevenir escribir un nuevo valor a dicho
canal. Escribir los registros del canal activo es similar a generar comparaciones de salidas no
bufereadas.
Pgina 21
Pgina 22
Escribiendo los registros del canal 1 se habilitan dichos registros para controlar sincrnicamente
el ancho de pulso a iniciar en el prximo periodo PWM. En cada desborde, los registros del canal (0
o 1) que controlan el ancho de pulso son los ltimos en escribirse. TSC0 controla y monitorea la
funcin PWM bufereada, y dejar en desuso el registro de control y estado del canal 1 (TSC1).
Mientras el bit MS0B est seteado, el pin del canal 1, TCH1, queda disponible como un pin I/O de
propsito general.
Durante la generacin de PWM bufereada, no se escriben nuevos valores de comparacin de
salida a los registros del canal actualmente activo. El software del usuario deber hacer un
seguimiento del canal actualmente activo para prevenir la escritura de un nuevo valor a dicho canal.
Escribir los registros del canal activo es similar a generar seales PWM no bufereadas.
4.3.4.3. Inicializacin del PWM
Para asegurar una correcta operacin en la generacin de seales PWM bufereadas o no, se debe
seguir el siguiente procedimiento de inicializacin:
1. En el Registro de control y estados del TIM (TSC):
a. Detener el contador del TIM seteando el bit de stop, TSTOP.
b. Resetear el contador y el preescalador seteando el bit de reset del Tim, TRST.
2. En los registros del modulo contador del TIM (TMODH:TMODL), se debe escribir el valor para
el periodo de PWM deseado.
3. En los registros del canal x (TCHxH:TCHxL), se debe escribir el valor del ancho de pulso
deseado.
4. En el registro de control y estados del canal x (TSCx):
a. Se debe escribir 0:1 (para comparacin de salida o seales PWM no bufereadas) o 1:0 (para
comparacin de salida o seales PWM bufereadas) para los bits de seleccin de modo,
MSxB:MSxA. Ver la tabla 3.
b. Se debe escribir 1 al bit de conmutado sobre desborde (toggle-on-overflow), TOVx.
c. Se debe escribir 1:0 (polaridad 1 para borrar la salida en la comparacin) o 1:1 (polaridad 0
para setear la salida en la comparacin) para seleccionar el flanco/nivel en los bits,
ELSxB:ELSxA. La accin de salida en la comparacin debe forzar la salida al complemento
del nivel del ancho de pulso. Ver tabla 3.
5. En el registro de control y estados del TIM (TSC), se debe borrar el bit de stop del TIM, TSTOP.
Seteando la opcin de conexin MS0B de los canales 0 y 1 y configurndolos para la operacin
de PWM bufereada. Los registros del canal 0 (TCH0H:TCH0L) controlan la salida del PWM
bufereado. El registro de control y estados del TIM 0 (TSCR0) controla y monitorea la seal PWM
desde los canales linkeados. MS0B tiene prioridad sobre MS0A.
Borrando el bit de cambio en desborde (toggle-on-overflow), TOVx, se inhiben los cambios
de la salida sobre los desbordes del TIM. Subsecuentemente el comparador de salida trata de forzar
la salida a un estado quedando fijo y sin efecto. El resultado es una salida con ciclo de trabajo al
0%.
Seteando el bit de mximo ciclo de trabajo del canal x (CHxMAX) y seteando el bit TOVx se
genera una salida a un ciclo de trabajo del 100%.
Pgina 23
4.4. Interrupciones
Las siguientes Fuentes de TIM pueden generar requerimientos de interrupciones:
Flag de Desborde del TIM (TOF) El bit TOF es seteado cuando el contador del TIM
alcanza el valor programado en los registros del Mdulo contador. El bit de habilitacin de
interrupcin por desborde del TIM, TOIE, habilita el requerimiento de interrupcin del
CPU por desborde del TIM. TOF y TOIE se encuentran el Registro de control y estados del
TIM.
Flags de canal del TIM (CH1F:CH0F) El bit CHxF es seteado cuando ocurre una
captura de entrada o una comparacin de salida sobre el canal x. El requerimiento de
Interrupcin del CPU en el canal x del TIM es controlado por el bit de habilitacin de
interrupcin del canal x, CHxIE. El requerimiento de interrupcin del CPU en el canal x del
TIM se habilita cuando CHxIE =1. CHxF y CHxIE se encuentran en el registro de control y
estados del canal x del TIM.
Pgina 24
Pgina 25
PS1
PS0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Pgina 26
Pgina 27
Seleccin de disparo por flanco ascendente, flanco descendente o cualquier flanco en el capturador
de entrada activo.
Seleccin de conmutado de Salida sobre el desborde del TIM
Seleccin de ciclo de trabajo de PWM de 0% y 100%
Seleccin de operacin buffereada o no del comparador de salida/PWM.
Figura 17. Registros de control y estado del canal del TIM (TSC0:TSC1)
CHxF Bit de Flag del canal x: Cuando el canal x es un capturador de entrada, este bit de
escritura/lectura se setea cuando un flanco activo ocurre sobre el pin del canal x. Cuando el canal x
es un comparador de entrada, CHxF se setea cuando el valor de los registros del contador del TIM
coincide con el valor en los registros del canal x del TIM.
Para borrar el CHxF se debe verificar mediante la lectura del registro de control y estado del
canal x que el CHxF est seteado y luego escribir un 0 al mismo. Si ocurre otro requerimiento de
interrupcin antes de completada la secuencia de borrado, la escritura de un 0 a CHxF no tendr
efecto. De cualquier manera, un requerimiento de interrupcin no se puede ignorar borrando el
CHxF. El reset borra el bit CHxF. Escribir un 1 al CHxF no tendr ningn efecto.
1 = Captura de entrada o comparacin de Salida sobre el canal x
0 = No hay captura de entrada o comparacin de Salida sobre el canal x
CHxIE Bit de habilitacin de Interrupcin del Canal: Este bit de lectura/escritura habilita el
requerimiento del servicio de interrupcin del CPU sobre el canal x del TIM. El reset borra el bit
CHxIE.
1 = Habilita el requerimiento de Interrupcin del CPU en el Canal x
0 = Deshabilita el requerimiento de Interrupcin del CPU en el Canal x
MSxB Bit de seleccin de Modo B: Este bit de lectura escritura selecciona la operacin de
comparador de salida/PWM buffereado. El MSxB existe solo en el registro de control y estado
del canal 0 del TIM.
Seteando el MS0B se deshabilita el registro de control y estado del canal 1 y se devuelve la
condicin de pin de entrada/salida de propsito general al TCH1. El reset borra el bit MSxB.
1 = Habilita la operacin de comparador de salida/PWM buffereada
0 = Deshabilita la operacin de comparador de salida/PWM buffereada
Pgina 28
MSxA Bit de seleccin de Modo A: Cuando ELSxB:A $00, este bit de lectura/escritura
selecciona ya sea la operacin de captura de entrada o la operacin de comparador de salida/PWM
no bufereada. Ver tabla 3.
1 = Operacin comparador de Salida/PWM no bufereada
0 = Operacin de Captura de Entrada
Cuando ELSxB:A = 00, este bit de lectura/escritura selecciona el nivel inicial de salida del pin
TCHx (Ver tabla 3). El reset borra el bit MSxA.
1 = Salida inicial en nivel bajo
0 = Salida inicial en nivel alto
Nota: Antes de cambiar la funcin del canal por escritura del bit MSxB o MSxA, se debe setear los
bits de TSTOP y TRST en el registro de control y estado del TIM (TSC).
Tabla 3. Seleccin de modo, flanco y nivel
MSxB
x
MSxA
0
ELSxB
0
ELSxA
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
x
x
x
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
MODO
Configuracin
preset de Salida
Captura de
Entrada
Comparador de
Salida o PWM
Comparador de
Salida Bufereado
PWM buferreado
Pgina 29
CHxMAX Bit de ciclo de trabajo Mximo del Canal x: Cuando el bit TOVx est en 1,
seteando el bit CHxMAX se fuerza a un ciclo de trabajo del 100% de la seal PWM bufereada y no
buffereada. Como muestra la Figura 18, el bit CHxMAX tiene efecto un ciclo despus de ser
seteado o borrado. La salida queda a un nivel de ciclo de trabajo del 100% hasta un ciclo despus
de haber borrado el bit CHxMAX.
Pgina 30
Pgina 31
5.1. Caractersticas
Este mdulo incluye:
Seis pines de interrupcin por teclado con bits de habilitacin separados y uno de
enmascaramiento de interrupcin.
Dispositivo de pull-up configurable por software en el caso de que el bit del puerto sea
configurado como entrada.
Sensibilidad de la interrupcin programable a flanco solo o flanco y nivel.
Salida desde modos de bajo consumo.
Pgina 32
Si la interrupcin por teclado es solo sensible a flanco, un flanco de bajada sobre el pin no
almacena un pedido de interrupcin si otro pin ya est en nivel bajo. Para prevenir la
prdida de un pedido de interrupcin, el software puede deshabilitar la ltima entrada
mientras est en nivel bajo.
Si la interrupcin por teclado es sensible al flanco descendente y nivel bajo, se producir un
requerimiento de interrupcin cuando cualquier entrada de interrupcin est en nivel bajo.
Si el bit MODEK est seteado, las entradas de interrupcin por teclado son sensibles al flanco
descendente y nivel bajo y para borrar un pedido de interrupcin se deben cumplir las siguientes
acciones:
Bsqueda de vector o borrado por software: una bsqueda de vector genera una seal de
reconocimiento de interrupcin que borra el pedido de interrupcin. El software puede
generar esta seal de reconocimiento, escribiendo 1 en el bit de ACKK en el registro de
control y estado de teclado (KBSCR); tal bit es til en aplicaciones que chequean
continuamente las entradas de interrupcin por teclado (poll) y necesitan que el software
borre los pedidos. Escribiendo el bit ACKK antes de dejar la rutina del servicio de
interrupcin se pueden prevenir las interrupciones espurias debidas al ruido. Setear este bit
ACKK no afecta las subsecuentes transiciones sobre las entradas de interrupcin por
teclado, un flanco de bajada que ocurre despus de escribir este bit almacena otro pedido
de interrupcin. Si se borra el bit de mscara de interrupcin por teclado IMASKK, la
unidad central de proceso (CPU) carga el contador de programa con la direccin del vector
en las direcciones $FFE0 y $FFE1.
Retorno de todas las entradas de interrupcin por teclado a 1 lgico (mientras cualquiera de
los pines de entrada de interrupcin por teclado est en 0, la interrupcin permanece
seteada).
Pgina 33
Pgina 34
3. Escribir el bit ACKK en el registro de control y estado de interrupcin por teclado para
limpiar cualquier falsa interrupcin.
4. Borrar el bit IMASKK.
Una seal de interrupcin sobre un pin disparado por flanco puede ser aceptado inmediatamente
despus de habilitar el pin. En cambio, una seal de interrupcin sobre un pin disparado por flanco
y nivel debe ser aceptado despus de un retardo que depende de la carga externa.
Otra manera de evitar una interrupcin falsa puede ser:
1. Configurar los pines como salida seteando apropiadamente los bits del registro de
direccin de datos A (DDRA).
2. Escribir unos en los bits apropiados del registro de datos del puerto A.
3. Habilitar los pines KBI seteando los bits apropiados del registro de habilitacin de
interrupcin por teclado.
Pgina 35
Pgina 36
Pgina 37
Pgina 38
6.2. Descripcin
El ADC en el Microcontrolador M68HC08 es un conversor unipolar, de aproximaciones
sucesivas disponible para una resolucin de 8 bits o 8-/10-bits [6], garantizado para ambas
opciones. Los Microcontroladores de Freescale M68HC08 incluyen mdulos ADC con una gran
variedad de opciones para el usuario, permitiendo de este modo diferentes aplicaciones [7].
Pgina 39
Caracterstica opcional
Pgina 40
Pgina 41
CH3
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
reservado
No usado
VDDA3
VSSA3
ADC desactivado
Para apagar el ADC se deben colocar todos unos en los bits CH[4:0]
Pgina 42
Pgina 43
Apndice.
1. Registros de Control, de Estado y de Datos
A continuacin se describen todos los registros de Datos, de Estado y de Control del MCU
HC908, En cada Registro se detalla el nombre, la direccin de memoria en que se encuentra, el
estado por defecto y el nombre de cada uno de los bits que forma cada registro.
Pgina 44
Pgina 45
Pgina 46
Pgina 47
Pgina 48
2. Resets e Interrupciones
Los Resets [11] y [13] inicializan al CPU a un estado conocido. Todos los resets son manejados
por medio del Modulo de Integracin del Sistema (S.I.M) [5].
Tipos de Resets:
Power On
COP
Illegal Address
External Pin
LVI
Illegal Opcode
Las Interrupciones [14] suspenden el procesamiento normal para que el CPU pueda realizar
algunos servicios requeridos.
Fuentes de Interrupciones:
IRQ external PIN
SCI
TIM
CGM (PLL)
IRQ / KBI
SPI
ADC
SWI
Pgina 49
2.1.1. Reconocimiento
Detecta Reset o Interrupciones pendientes.
Resets:
Es reconocida y ejecutada inmediatamente una vez ingresada (no hay sincronismo, es una
excepcin imperativa).
Interrupciones:
Es reconocida durante el ltimo ciclo de la instruccin corriente.
En el caso que ingrese durante el ltimo ciclo, ser reconocida durante el ltimo ciclo de la
prxima instruccin.
Acta despus del ltimo ciclo de la instruccin corriente.
Hay sincronismo.
2.1.2. Arbitraje
Resets:
Determinacin de igual y ms alta prioridad.
No hay arbitraje
Interrupciones:
Difiriendo prioridades, ms bajas que los resets.
Realizado por el SIM
Pgina 50
Pgina 51
Pgina 52
Significa que para una resolucin de 12 bits este error tendr un peso del 0.024%.
Pgina 53
Existen situaciones en donde el ruido radiado o conducido (EMI) es intenso, para esto se hacen
las siguientes recomendaciones:
- Ubicar un condensador de 0.01uF, con baja ESR a la entrada del canal de conversin,
pero se debe tener en cuenta que esto altera la velocidad de muestreo.
- Hacer algoritmos que promedien las muestras, para suavizar los cambios ruidosos.
- Utilizar un reloj asncrono como fuente del ADC y promediar las muestras.
Pgina 54
Pgina 55
Est definido como el ms alto valor (valor absoluto) de la suma de los errores diferenciales
acumulados.
Pgina 56
Referencias:
[1] Web Site Freescale Semiconductors, www.freescale.com , 2007.
[2] Douglas H. Summerville, Embedded Systems Interfacing for Engineers using the Freescale
HCS08 Microcontroller II: Digital and Analog Hardware Interfacing, State University of New
York at Binghamton, Morgan y Claypool Publishers, 2009.
[3] Data sheet: MC68HC908QY4 Microcontrolers, Rev. 5, 07/2005
[4] Daniel Di Lella, Curso de Microcontroladores HC908, Electrocomponentes S.A., 2005
[5] Reference Manual: CPU Central Processor Unit Microprocesador, CPU08RM, Rev. 4, 02/2006.
[6] J. Feddeler, Lucas Bill, ADC Definitions and Specifications, Divisin de sistemas de
Ingeniera, Austin, Texas, febrero de 2003.
[7] Referente Manual: ADC - Analog-to-Digital Converter, ADCRM, Motorota, 1996.
[8] Luis Reynoso Covarrubias, Programming the Analog-to-Digital Converter on M68HC08
Microcontrollers, Freescale semiconductor, Nota de aplicacin, Julio de 2005.
[9] H. Taub: "Circuitos Digitales y Microprocesadores", Mc Graw-Hill, 1989.
[10] Fernando I. Szklanny, Hoarcio Martinez Del Pezzo: Introduccin a los Microprocesadores,
Editorial Arb, 1979.
[11] A. C. Dowton: Computadores y Microprocesadores: Componentes y Sistemas, Versin en
espaol de Ernesto morales Peake, Addison-Wesley, 1993.
[12] James W. Bignell y Robert L. Donovan, Electrnica Digital. Mxico: Editorial Continental,
2005.
[13] Ross Mitchell, Resetting MCUs, Nota de aplicacin, Motorola, East Kilbride, Scotland,
1993.
[14] Mark Martinets, Interrupt Handling Considerations When Modifying EEPROM on HC08
Microcontrollers, Nota de aplicacin, Motorola, agosto de 2002.
Pgina 57