34
Indice General 1 La CPU. Estructura y caracter¶ ³sticas 1 1 La Unidad Central de Proceso (CPU) ........................ 1 1.1 Diagrama de bloques de la CPU ....................... 1 1.1.1 Zona de control ........................... 2 1.1.2 Zona de operaciones ......................... 2 1.1.3 Zona de direccionamiento ...................... 3 2 Instrucciones ...................................... 4 3 Interrupciones ...................................... 5 3.1 Tipos de interrupciones ............................ 5 3.1.1 Interrupciones enmascarables .................... 5 3.1.2 Interrupciones no enmascarables .................. 6 3.2 Prioridad de las interrupciones ........................ 6 3.3 Proceso de interrupci¶ on ............................ 6 2 La memoria en el 68HC11 9 1 Los modos de funcionamiento del 68HC11 ...................... 9 2 El mapa de memoria del 68HC11 ........................... 9 3 Paginado de memoria ................................. 11 3 Dispositivos de E/S 13 1 E/S paralelo ....................................... 13 1.1 Puerto A .................................... 13 1.2 Puerto B .................................... 13 1.3 Puerto C .................................... 13 1.4 Puerto D .................................... 15 1.5 Puerto E .................................... 15 2 E/S serie ........................................ 15 2.1 SCI: Unidad de comunicaciones serie as¶ ³ncrona ............... 15 2.1.1 Transmisi¶ on y recepci¶ on ....................... 15 2.1.2 Eventos en el SCI .......................... 16 2.1.3 Registros de control ......................... 16 2.2 SPI: Unidad de comunicaciones serie s¶ ³ncrona ................ 18 2.2.1 Transmisi¶ on y recepci¶ on ....................... 19 2.2.2 Eventos en el SPI .......................... 19 2.2.3 Registros de control ......................... 19 1

¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

¶Indice General

1 La CPU. Estructura y caracter¶³sticas 1

1 La Unidad Central de Proceso (CPU) . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 Diagrama de bloques de la CPU . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Zona de control . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1.2 Zona de operaciones . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1.3 Zona de direccionamiento . . . . . . . . . . . . . . . . . . . . . . 3

2 Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 Interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.1 Tipos de interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.1.1 Interrupciones enmascarables . . . . . . . . . . . . . . . . . . . . 5

3.1.2 Interrupciones no enmascarables . . . . . . . . . . . . . . . . . . 6

3.2 Prioridad de las interrupciones . . . . . . . . . . . . . . . . . . . . . . . . 6

3.3 Proceso de interrupci¶on . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 La memoria en el 68HC11 9

1 Los modos de funcionamiento del 68HC11 . . . . . . . . . . . . . . . . . . . . . . 9

2 El mapa de memoria del 68HC11 . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Paginado de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Dispositivos de E/S 13

1 E/S paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.1 Puerto A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.2 Puerto B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.3 Puerto C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.4 Puerto D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.5 Puerto E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2 E/S serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.1 SCI: Unidad de comunicaciones serie as¶³ncrona . . . . . . . . . . . . . . . 15

2.1.1 Transmisi¶on y recepci¶on . . . . . . . . . . . . . . . . . . . . . . . 15

2.1.2 Eventos en el SCI . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.1.3 Registros de control . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2 SPI: Unidad de comunicaciones serie s¶³ncrona . . . . . . . . . . . . . . . . 18

2.2.1 Transmisi¶on y recepci¶on . . . . . . . . . . . . . . . . . . . . . . . 19

2.2.2 Eventos en el SPI . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.2.3 Registros de control . . . . . . . . . . . . . . . . . . . . . . . . . 19

1

Page 2: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

2 Indice

4 Temporizaci¶on, comparadores, capturadores y el conversor A/D 211 Temporizaci¶on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.1 El temporizador TCNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.2 Interrupci¶on en tiempo real . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2 Comparadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.1 Salida hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2 Interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.3 El comparador 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3 Capturadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.1 Control de los capturadores . . . . . . . . . . . . . . . . . . . . . . . . . . 243.2 Interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4 El acumulador de pulsos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.1 Control del acumulador de pulsos . . . . . . . . . . . . . . . . . . . . . . . 254.2 Interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5 El conversor A/D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.1 Control del conversor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Page 3: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

¶Indice de Figuras

1.1 CPU del M68HC11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1 Mapa de memoria en modo normal del M68HC11. . . . . . . . . . . . . . . . . . 102.2 Registro INIC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.1 Puertos de E/S paralelo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2 Registro de estado del SCI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3 Registro de control de velocidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.4 Registro de control 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.5 Registro de control 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.6 Conexionado de dos unidades SPI. . . . . . . . . . . . . . . . . . . . . . . . . . . 193.7 Registro de estado del SPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.8 Registro de control del SPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.1 Registro de control del temporizador. . . . . . . . . . . . . . . . . . . . . . . . . . 214.2 Registro de control del temporizador. . . . . . . . . . . . . . . . . . . . . . . . . . 224.3 Registro de control del temporizador. . . . . . . . . . . . . . . . . . . . . . . . . . 224.4 Registro de control de los comparadores. . . . . . . . . . . . . . . . . . . . . . . . 234.5 Registro de estado de comparadores y capturadores. . . . . . . . . . . . . . . . . 234.6 Registro de m¶ascara de comparadores y capturadores. . . . . . . . . . . . . . . . 244.7 Registro de con¯guraci¶on del sistema. . . . . . . . . . . . . . . . . . . . . . . . . 264.8 Registro de control del conversor. . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3

Page 4: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador
Page 5: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

¶Indice de Tablas

1.1 Variacion de las prioridades de las interrupciones enmascarables . . . . . . . . . . 6

4.1 Control de los comparadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.2 Control de los capturadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5

Page 6: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador
Page 7: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

Cap¶³tulo 1

La CPU. Estructura y caracter¶³sticas

1 La Unidad Central de Proceso (CPU)

La CPU es el cerebro del sistema microcontrolador. De forma similar a como ocurr¶³a en el

microprocesador, se encarga de la descomposici¶on de las instrucciones en tareas simples a los

distintos elementos hardware del sistema, as¶³ como de efectuar las operaciones necesarias en

¶este.

1.1 Diagrama de bloques de la CPU

En la CPU del M68HC11 se pueden distinguir tres zonas, que se comunican entre s¶³ a trav¶es de

un bus interno:

² Zona de control: que gestiona y posibilita el funcionamiento de los distintos elementos que

la componen. Consta b¶asicamente del decodi¯cador/secuenciador de instrucciones.

² Zona de operaciones: que lleva a cabo todas las operaciones que forman el repertorio del

microcontrolador. Consta de la unidad aritmetico-l¶ogica (ALU), el acumulador (A y B) y

el registro de c¶odigos de condici¶on (CCR).

² Zona de direccionamientos: que permite acceder a distintas zonas de memoria. Consta

b¶asicamente del contador de programa (PC), los registros de ¶³ndice (X e Y) el latch de

direcciones.

1

Page 8: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

2 Cap¶³tulo 1. La CPU. Estructura y caracter¶³sticas

1.1.1 Zona de control

El decodi¯cador/secuenciador funciona de forma similar al controlador interno del M68020. As¶³,

cuando una instrucci¶on llega a esta unidad, se descompone en una secuencia de microordenes o

comandos sencillos a los distintos elementos que componen la CPU, posibilitando as¶³ su ejecuci¶on.

1.1.2 Zona de operaciones

La parte m¶as importante de la zona de operaciones es la unidad aritm¶etico-l¶ogica (ALU), que

es un circuito capaz de llevar a cabo las siguientes operaciones:

² Suma e incremento, con y sin acarreo.

² Resta y decremento, con y sin acarreo.

² Multiplicaci¶on.

² Divisi¶on entera y fraccional.

² Operaciones l¶ogicas AND, OR y EOR.

² Complementos 1 y 2.

² Desplazamientos aritm¶eticos y l¶ogicos.

² Rotaciones.

Toda operaci¶on se lleva a cabo forzosamente sobre el operando de una instrucci¶on y el

registro acumulador o ¶unicamente sobre el acumulador si es que la operaci¶on implica un ¶unico

operando. Al registro acumulador puede accederse en formato palabra (D) o en formato byte,

y en este ¶ultimo caso puede trabajarse indistintamente con el byte m¶as signi¯cativo (ACCA) o

con el menos signi¯cativo (ACCB) (Ver Fig. 1.1).

El registro de estado de la CPU (CCR) presenta 8 bits, cuyo signi¯cado es el siguiente:

² S: Bit de reacci¶on a PARADA. Si est¶a a 1, no se obedece a la orden STOP.

² X, H, I: M¶ascaras de las distintas interrupciones.

² H: Acarreo medio. Marca el acarreo a tama~no byte de operaciones con datos tama~no

palabra.

Page 9: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

1. La Unidad Central de Proceso (CPU) 3

Figura 1.1: CPU del M68HC11.

² N: Bit de negativo. Se activa si el resultado de la ¶ultima operaci¶on es negativo.

² Z: Bit de cero. Se activa si el resultado de la ¶ultima operaci¶on es cero.

² V: Bit de desbordamiento. Se activa si el resultado de la ¶ultima operaci¶on est¶a fuera del

rango del microcontrolador.

² C: Bit de acarreo. Se activa si el resultado de la ¶ultima operaci¶on tiene acarreo.

1.1.3 Zona de direccionamiento

La zona de direccionamiento consta de cuantro registros de direcciones y un latch, todos de 16

bits. El primero de ellos es el contador de programa (PC), que almacena la direcci¶on de la

instrucci¶on de programa que se est¶a ejecutando. Este registro est¶a conectado al latch de salida

de direcciones, que posibilita la comunicaci¶on con el bus de direcciones externo. El puntero de

pila (SP) permite de¯nir en memoria una pila tipo LIFO que crece hacia arriba. El puntero se

decrementa o incrementa en una unidad o dos seg¶un se introduzca o saque de la pila un byte o

una palabra. Los registros de ¶³ndice (X e Y) sirven para calcular direcciones efectivas cuando

se trabaja con modos de direccionamiento indexado.

El M68HC11 permite los siguientes modos de direccionamiento:

² Inmediato: el operando va justo a continuaci¶on de la instrucci¶on en memoria de programa.

² Extendido y directo: la direcci¶on del operando va a continuaci¶on de la instrucci¶on. En

el primer caso ocupa dos bytes y en el segundo uno s¶olo, por lo que el direccionamiento

directo s¶olo sirve para las primeras 256 posiciones de memoria.

Page 10: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

4 Cap¶³tulo 1. La CPU. Estructura y caracter¶³sticas

² Indexado: la direcci¶on efectiva es igual a la suma de la direcci¶on que acompa~na a la

instrucci¶on y el contenido de un registro ¶³ndice.

² Indirecto por pila: la direcci¶on del operando se encuentra en el puntero de pila.

² Relativo: la direcci¶on a calcular es relativa al contenido actual del contador de programa.

² Inherente: el operando est¶a contenido en uno de los registros de la CPU.

2 Instrucciones

Las instrucciones en el 68HC11 constan de un ¶unico byte, aunque un total de 75 requieren modo

de trabajo prebyte y, por tanto, requieren otro. Una instrucci¶on cualquiera del micro consta de

dos campos: el c¶odigo de operaci¶on y el operando, siendo el operando un campo opcional. La

arquitectura del micro es tipo LOAD/STORE, es decir, toda operaci¶on se lleva a cabo mediante

un registro interior intermedio de la CPU. Las instrucciones se dividen en cuatro grandes grupos:

² Carga, almacenamiento y transferencia:

{ Carga: LDAA, LDAB, LDD, LDX, LDY, LDS, CLRA, CLRB.

{ Almacenamiento: STTA, STAB, STD, STX, STY, STS, CLR.

{ Transferencia: PSHA, PSHB, PSHX, PSHY, PULA, PULB, PULX, PULY, TAB,

TBA, TSX, TSY, TXS, TYS, XGDX, XGDY.

² Aritm¶eticas:

{ Sumas: ADDA, ADDB, ADDD, ADCA, ADCB, ABA, ABX, ABY, INCA, INCB,

INC, INX, INY, INCS.

{ Restas: SUBA, SUBB, SUBD, SBCA, SBCB, DECA, DECB, DEC, DEX, DEY,

DES.

{ Comparaciones: CMPA, CMPB, CPD, CPX, CPY, CBA.

{ Complemento a 2: NEG, NEGA, NEGB.

{ Multiplicaciones y divisiones: MUL, IDIV.

² Operaciones l¶ogicas y de manipulaci¶on de bits:

{ Operaciones l¶ogicas: ANDA, ANDB, ORAA, ORAB, EORA, EORB, COMA, COMB.

{ Manipulaci¶on de bits: BITA, BITB, BCLR, BSET, BRCLR, BRSET.

Page 11: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

3. Interrupciones 5

² Desplazamientos y rotaciones:

{ Desplazamientos aritm¶eticos: ASL, ASLA, ASLB, ASLD, ASR, ASRA, ASRB.

{ Desplazamientos l¶ogicos: LSR, LSRA, LSRB, LSRD.

{ Rotaciones: ROL, ROLA, ROLB, ROR, RORA, RORB.

² Bifurcaciones y saltos:

{ Bifurcaciones: Bcc, BRA, BSR.

{ Saltos: JMP, JSR.

² Instrucciones de modi¯caci¶on del CCR: CLC, SEC, CLI, SEI, CLV, SEV, TAP, TPA.

² Otras: RTS, RTI, SWI, WAI, NOP, STOP.

3 Interrupciones

Las interrupciones son eventos que ocurren en un instante determinado de tiempo y que detienen

el funcionamiento normal de la CPU para que ¶esta pase a ejecutar una rutina de atenci¶on a

dicha interrupci¶on. Cuando ¶esta concluye, el microcontrolador puede reanudar su ciclo normal

de trabajo. Igual que ocurr¶³a en el caso de los microprocesadores, la direcci¶on de inicio de una

rutina de atenci¶on a interrupci¶on se toma de una zona de memoria conocida como tabla de

vectores de interrupci¶on. En el caso del 68HC11 existen dos tablas distintas, seg¶un se trabaje

en modo bootstrap o no, pero ambas constan de 21 vectores y las direcciones asociadas a ¶estos

tienen tama~no palabra, por lo que la tabla en total ocupa 42 bytes.

3.1 Tipos de interrupciones

El 68HC11 presenta dos tipos de interrupciones: enmascarables y no enmascarables. Adicional-

mente, es necesario mencionar las interrupciones externas especiales IC1, IC2, IC3, PAI y STRA.

3.1.1 Interrupciones enmascarables

Son aquellas que pueden evitarse mediante el bit I del registro CCR. La instrucci¶on CLI act¶ua

directamente sobre dicho bit, permitiendo las interrupciones. La instrucci¶on SEI hace justo lo

contrario. La tabla 1.1 muestra las posibles interrupciones enmascarables que pueden presentarse

a la CPU.

Page 12: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

6 Cap¶³tulo 1. La CPU. Estructura y caracter¶³sticas

Tabla 1.1: Variacion de las prioridades de las interrupciones enmascarablesPSEL3 PSEL2 PSEL1 PSEL0 Aumentar prioridad a

0 0 0 0 Desbordamiento del temporizador0 0 0 1 Desbordamiento del acumulador de pulsos0 0 1 0 Acumulador de pulsos0 0 1 1 Transferencia completa del transmisor s¶³ncrono

0 1 0 0 Sistema de comunicaci¶on as¶³ncrono0 1 0 1 Reservado0 1 1 0 IRQ0 1 1 1 Interrupci¶on en tiempo real1 0 0 0 Capturador de entrada 11 0 0 1 Capturador de entrada 21 0 1 0 Capturador de entrada 31 0 1 1 Comparador 11 1 0 0 Comparador 21 1 0 1 Comparador 31 1 1 0 Comparador 41 1 1 1 Comparador 5

3.1.2 Interrupciones no enmascarables

Son aquellas que no se pueden inhibir. Son las debidas a fallos internos, instrucciones ilegales,

RESET, interrupciones software y la interrupci¶on externa XIRQ.

3.2 Prioridad de las interrupciones

La interrupci¶on m¶as prioritaria es el RESET, seguido de las no enmascarables. El resto tienen la

prioridad asignada por hardware, pero puede variarse usando los cuatro bits menos signi¯cativos

del registro HPRIO en tanto que est¶en inhibidas. La tabla 1.1 muestra como programar dichos

bits.

3.3 Proceso de interrupci¶on

Una interrupci¶on en el 68HC11 se desarrolla seg¶un los pasos a continuaci¶on:

1. Llegada de una interrupci¶on no enmascarable o no enmascarada.

2. Paso a estado de interrupci¶on.

3. Almacenamiento de todos los registros de la CPU en la pila.

Page 13: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

3. Interrupciones 7

4. Inhibici¶on de cualquier otra interrupci¶on enmascarable por enmascaramiento para evitar

anidaci¶on.

5. Extracci¶on de la tabla de vectores de interrupci¶on de la direcci¶on de inicio de la rutina de

atenci¶on a interrupci¶on.

6. Carga de dicha direcci¶on en el PC.

7. Desarrollo de la rutina hasta alcanzar RTI.

Es importante notar que cualquier proceso de interrupci¶on se dispara por la activaci¶on del

°ag correspondiente. Mientras que en el M68020 estas interrupciones se activaban por °anco,

aqu¶³ lo hacen por nivel y por ello es absolutamente imprescindible desactivar el °ag que ha

desatado una interrupci¶on dentro de su propio c¶odigo de atenci¶on si no se quiere caer en un

bucle in¯nito.

Page 14: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador
Page 15: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

Cap¶³tulo 2

La memoria en el 68HC11

1 Los modos de funcionamiento del 68HC11

El 68HC11 presenta cuatro modos distintos de funcionamiento, que se seleccionan a partir de

las patillas MODA y MODB de la pastilla. Dichos modos se diferencian principalmente en el

mapa de memoria que presentan y son los siguientes:

² Single chip: En este modo de trabajo el mapa de memoria del microcontrolador est¶a

constituido por la RAM, la EEPROM los registros de control y la ROM. Sirve para trabajar

con programas previamente grabados en ROM.

² Expandido: Sirve para expandir la memoria del modo single chip a~nadiendo memorias

externas. A cambio, se pierden dos puertos, el B y el C, que se usan como buses de datos

y direcciones de dichas memorias.

² Bootstrap: En este caso, los vectores de excepci¶on de la pastilla no se encuentran en

la ROM normal, sino en una especial llamada ROM de arranque. Llama al programa

BOOTSTRAP .

² Special test: Parecido al bootstrap, pero con la salvedad de que tiene acceso a memoria

externa. Adem¶as, puede accederse a registros que, de otro modo, estar¶³an protegidos.

Suele usarse en pruebas de f¶abrica.

2 El mapa de memoria del 68HC11

Dado que trabaja con un bus de direcciones de 16 bits, el 68HC11 puede direccionar hasta un

total de 64 Kbytes, encontr¶andose parte de esta memoria dentro de la propia pastilla. Cuando

9

Page 16: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

10 Cap¶³tulo 2. La memoria en el 68HC11

Figura 2.1: Mapa de memoria en modo normal del M68HC11.

se trabaja en modo normal, si no se est¶a utilizando memoria extendida, el mapa de memoria del

sistema es el que se presenta en la Fig. 2.1.

La memoria RAM, para lectura y escritura de datos, se mapea en los primeros 256 bytes

de la memoria. A continuaci¶on, desde la posiciones $1000 a la $103F se sit¶uan los registros de

control de la CPU. Las posiciones $B600 a $B7FF corresponden a la EPROM.

Cuando se trabaja en el modo especial, las posiciones $B740 a $BFFF est¶an ocupadas

por una ROM que contiene el programa BOOTSTRAP que se usa para cargar c¶odigo externo.

Los ¶ultimos 42 bytes de esta zona sirven para almacenar la tabla de vectores de interrupci¶on del

modo especial.

Finalmente, los ¶ultimos 8 Kbytes de memoria los ocupa una ROM que suele estar de-

sactivada. Su funci¶on es servir de almacenamiento a programas suministrados por el fabricante,

caso de disponer de ellos.

Los ¶ultimos 42 bytes del mapa de memoria sirven para almacenar la tabla de vectores

de interrupci¶on del modo normal.

Page 17: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

3. Paginado de memoria 11

Figura 2.2: Registro INIC.

3 Paginado de memoria

El mapa de memoria presentado en el apartado anterior puede variarse a trav¶es del registro de

control INIT (Fig. 2.2, cambiando la disposici¶on de las zonas que mostraba. El registro INIC

permite ¯jar al valor que se desee los 4 bits de mayor peso de la direcci¶on de comienzo de la

memoria RAM (INIT[7-4]), as¶³ como los 4 bits de mayor peso de la direcci¶on de comienzo de los

registros de control (INIT[3-0]). Ya que una direcci¶on consiste en 16 bits y los 12 restantes no

se pueden ¯jar, la memoria queda as¶³ dividida en 16 p¶aginas de 4 Kbytes cada una, pudiendo

situarse tanto la RAM como los registros de control en cualquiera de esas p¶aginas. La situaci¶on

que ocupan en la Fig. 2.1 es la con¯guraci¶on por defecto.

N¶otese que es responsabilidad del dise~nador evitar con°ictos entre dispositivos cuando

¶estos se distribuyen en el mapa de memoria del sistema.

Page 18: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador
Page 19: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

Cap¶³tulo 3

Dispositivos de E/S

1 E/S paralelo

De forma similar a la VIA, el 68HC11 utiliza un total de 5 puertos de E/S paralelo de prop¶osito

general, que se muestran en la Fig. 3.1. No obstante, muchos bits de esos puertos se usan para

otras funciones que se ver¶an m¶as adelante, quedando en este caso inhabilitados para la E/S

paralelo. A continuaci¶on se presentan dichos puertos cuando se utilizan como entrada/salida.

Sus usos alternativos se ver¶an m¶as adelante.

1.1 Puerto A

Situado en la posici¶on $1000, presenta 3 pines de entrada (PA0-PA2), cuatro de salida (PA3-

PA6) y uno con¯gurable como entrada o salida (PA7) mediante el bit 7 del registro PACTL. Si

dicho bit est¶a a 0, PA7 es entrada y si est¶a a 1 salida.

1.2 Puerto B

El puerto B se encuentra en la posici¶on $1004 y presenta 8 pines de salida. No obstante, cuando

se trabaja en modo extendido, dicho puerto est¶a inhabilitado, ya que se usa para enviar el byte

alto del bus de direcciones a las memorias (A15-A8).

1.3 Puerto C

El puerto C est¶a en la posici¶on $1007 y sus 8 pins pueden con¯gurarse como entrada o como salida

mediante el registro DDRC. Un 0 en un bit de dicho registro con¯gura el pin correspondiente

13

Page 20: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

14 Cap¶³tulo 3. Dispositivos de E/S

Figura 3.1: Puertos de E/S paralelo.

Page 21: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

2. E/S serie 15

en C como entrada y un 1 lo har¶³a como salida.

Cuando se trabaja en modo extendido, este puerto tambi¶en est¶a inhabilitado, ya que se

usa para enviar la parte baja del bus de direcciones, pero tambi¶en se multiplexa sobre ¶el el bus

de datos (A7-A0 y D7-D0).

1.4 Puerto D

El puerto D se encuentra en la direcci¶on $1008 y s¶olo presenta 6 bits, que pueden con¯gurarse

indistintamente como entrada o salida mediante el registro de con¯guraci¶on DDRD. Cuando

trabaja como salida, puede operar en modo normal o colector abierto, de acuerdo al bit 5 del

registro SPCR. Por defecto, se opera en colector abierto (SPCR5=1).

1.5 Puerto E

El puerto E, en la posici¶on $100A, presenta 8 pins de entrada.

2 E/S serie

El 68HC11 presenta dos m¶odulos de transmisi¶on serie, seg¶un se desee que ¶esta sea s¶³ncrona o

as¶³ncrona.

2.1 SCI: Unidad de comunicaciones serie as¶³ncrona

Una comunicaci¶on as¶³ncrona en el 68HC11 puede constar de 8 o 9 bits m¶as un bit de arranque y

uno de parada. Dicha comunicaci¶on es full-duplex y se controla mediante 5 registros mapeados

en memoria.

2.1.1 Transmisi¶on y recepci¶on

Las unidades de transmisi¶on y recepci¶on de la SCI son registros de desplazamiento cuya velocidad

es con¯gurable por el usuario. Ambos registros comparten la misma posici¶on de memoria en el

mapa del microcontrolador, multiplex¶andose con el terminal R/#W. Dicha posici¶on es la $102F

y se etiqueta como SCDR. Para enviar datos, basta escribir en esa posici¶on y para recibirlos leer

de ella.

Page 22: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

16 Cap¶³tulo 3. Dispositivos de E/S

2.1.2 Eventos en el SCI

Los eventos en el SCI se marcan mediante los °ags que componen su registro de estado, denom-

inado SCSR y mapeado en la posici¶on $102E. Dichos °ags se pueden observar en la Fig. 3.2 y

corresponden a los siguientes eventos:

² TC: Se activa si se ha terminado de enviar un caracter y la l¶³nea de transmisi¶on ha quedado

vac¶³a.

² RDRF: Se activa cuando se recibe un dato completo.

² IDLE: Se activa cuando se queda vac¶³a la l¶³nea de recepci¶on.

² OR: Se activa cuando se recibe un dato, no habiendo leido a¶un el anterior. Este nuevo

dato se pierde.

² NF: Se activa cuando se detecta un error en el dato recibido.

² FE: Se activa al detectar un error de trama.

El bit 0 no se utiliza y s¶olo los eventos RC, TDRE, RDRF e IDLE pueden provocar interrupci¶on.

Todos estos bits se ponen a 0 autom¶aticamente al leer el registro SCSR y a continuaci¶on el SCDR

y es necesario llevar a cabo esta operaci¶on si no se quiere que en evento provoque interrupci¶on

una y otra vez.

Figura 3.2: Registro de estado del SCI.

2.1.3 Registros de control

El SCI se programa mediante los siguientes registros:

² Registro de velocidad (BAUD). Situado en la posici¶on $102B, permite con¯gurar la veloci-

dad en baudios de la transmisi¶on. Los bits BAUD4 y BAUD5 (Fig. 3.3) permiten escoger

un valor m¶aximo de velocidad que depende de la frecuencia de reloj de la pastilla. Para

un reloj de 8 MHz, que es el caso habitual, se puede disponer de 125 Kbauds, 40 Kbauds,

Page 23: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

2. E/S serie 17

30 Kbauds y 9600 baudios para los valores 00, 01, 10 y 11 respectivamente. Una vez ¯jada

dicha velocidad m¶axima, se puede transmitir a un divisor de esa velocidad que se ¯ja con

los bits BAUD0 a BAUD2 (Fig. 3.3). El factor de divisi¶on es igual a 2BAUD0¡2 y, por

tanto, var¶³a entre 1 y 128. El resto de los bits se utilizan ¶unicamente en modo prueba.

Figura 3.3: Registro de control de velocidad.

² Registro de control 1 (SCCR1). Situado en la posici¶on $102C, este registro permite ¯jar

el tama~no de dato a enviar. Si el bit SCCR14 est¶a a cero, el tama~no de palabra es de 8

bits, y si est¶a a 1, de 9. Caso de ¯jar el tama~no de palabra a 9 bits, el noveno bit del dato

se lee de SCCR17 si se est¶a recibiendo o se escribe en SCCR16 si se est¶a transmitiendo.

El bit SCCR13 o bit de WAKE se usa cuando se trabaja con sistemas multireceptores.

Cuando se trabaja en modo WAKEUP, el receptor est¶a inactivo hasta que un evento lo

saca de dicho estado mediante interrupci¶on. Si WAKE vale 0, dicho evento es la l¶³nea de

transmisi¶on vac¶³a. Cuando vale 1, es la detecci¶on de una marca de direcci¶on.

El resto de los bits no se utilizan.

Figura 3.4: Registro de control 1.

² Registro de control 2 (SCCR2). Ocupa la posici¶on $102D y sirve para con¯gurar la salida

al exterior del circuito de comunicaciones serie, que se lleva a cabo a trav¶es de los dos

bits menos signi¯cativos del puerto D, siendo D0 el receptor y D1 el transmisor. Los bits

centrales del registro, TE y RE (Fig. 3.5 sirven para activar el transmisor y el receptor

respectivamente.

Los bits SCCR27-SCCR26 y SCCR25-SCCR24 (Fig. 3.5) son las m¶ascaras de interrupci¶on

del transmisor y receptor del SCI respectivamente. Cuando presentan un 1, la interrupci¶on

est¶a permitida y si presentan un 0 deshabilitada.

Page 24: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

18 Cap¶³tulo 3. Dispositivos de E/S

{ TIE permite enmascarar la generaci¶on de interrupci¶on al vaciarse el registro trans-

misor.

{ TCIE enmascara la interrupci¶on que se produce si la l¶³nea de transmisi¶on est¶a libre.

{ RIE enmascara la interrupci¶on que se genera al recibir un dato completo.

{ ILIE enmascara la interrupci¶on que se produce cuando la l¶³nea de recepci¶on est¶a

vac¶³a.

Los dos bits restantes sirven para entrar en estado de BREAK (BRK), con lo que se env¶³an

inde¯nidamente se~nales de BREAK por la l¶³nea de transmisi¶on, y para activar el estado

WAKEUP (RWU).

Figura 3.5: Registro de control 2.

2.2 SPI: Unidad de comunicaciones serie s¶³ncrona

Las comunicaciones s¶³ncronas en el 68HC11 siempre se llevan a cabo en modo maestro/esclavo,

permiti¶endose la existencia de un ¶unico maestro y un n¶umero inde¯nido de esclavos. Existe la

posibilidad de llevar a cabo una comunicaci¶on full-duplex entre un maestro y un esclavo, pero

tambi¶en es posible con¯gurar varios sistemas de la forma que se desee.

En una unidad SPI cualquiera existen cuatro l¶³neas que posibilitan su conexi¶on con otra

unidad:

² MOSI: L¶³nea de salida maestro a esclavos.

² MISO: L¶³nea de entrada a maestro desde esclavos.

² SCK: Reloj serie a compartir, ¯jado por el maestro.

² SS: L¶³nea de selecci¶on de esclavo.

La Fig. 3.6 muestra como se conectar¶³an una unidad maestra y una esclava mediante las

l¶³neas enumeradas.

Page 25: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

2. E/S serie 19

Figura 3.6: Conexionado de dos unidades SPI.

2.2.1 Transmisi¶on y recepci¶on

De forma similar a como ocurr¶³a con el SCI, para transmitir o recibir datos con el SPI existen

dos registros multiplexados mediante la l¶³nea R/#W en la posici¶on $102A y referenciados como

SPDR. Cuando se escribe en este registro y siempre y cuando la unidad est¶e con¯gurada como

maestra, el dato se transmite a las unidades esclavas activas, que podr¶an tomar el dato mediante

una simple lectura del mismo registro.

2.2.2 Eventos en el SPI

Los eventos en el SPI se marcan mediante los °ags que componen su registro de estado, denom-

inado SPSR y mapeado en la posici¶on $1029. Dichos °ags se pueden observar en la Fig. 3.7 y

corresponden a los siguientes eventos:

² SPIF: se activa cuando ¯naliza una transferencia entre el MCU y un perif¶erico u otro

microcontrolador.

² WCOL: se activa cuando se intenta escribir en el registro de datos antes de haber trans-

mitido el dato anterior.

² MODF: se activa cuando una unidad maestra se intenta seleccionar como esclava.

El resto de los bits no se utilizan. En todos los casos se resetean los °ags con una lectura

de SPSR (Fig. 3.7 seguida de un acceso al registro SPDR.

2.2.3 Registros de control

El SPI se controla mediante un ¶unico registro mapeado en la posici¶on de memoria $1028 y

denominado SPCR. Los bits de este registro (Fig. 3.8) cumplen el siguiente propo¶osito:

Page 26: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

20 Cap¶³tulo 3. Dispositivos de E/S

Figura 3.7: Registro de estado del SPI.

² SPIE: m¶ascara de interrupci¶on. Cuando est¶a a 1, el SPI puede interrumpir.

² SPE: cuando est¶a a 1, activa el SPI.

² DWON: el puerto D act¶ua como colector abierto si est¶a a 1 y como CMOS si est¶a a 0.

² MSTR: cuando est¶a a 1, el SPI trabaja como maestro y cuando est¶a a 0 como esclavo.

² CPOL: si est¶a a 0, el reloj se mantiene a nivel alto mientras no haya datos a transmitir.

En caso contrario, se mantendr¶a a nivel bajo.

² CPHA: ¯ja la fase del reloj.

² SPR0-SPR1: Permite seleccionar la velocidad de transmisi¶on a partir de la se~nal de reloj

dividida por 2, 4, 16 o 32 para los valores 00, 01, 10 y 11 respectivamente.

Figura 3.8: Registro de control del SPI.

Page 27: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

Cap¶³tulo 4

Temporizaci¶on, comparadores,capturadores y el conversor A/D

1 Temporizaci¶on

1.1 El temporizador TCNT

El 68HC11 incorpora un temporizador de 16 bits que arranca en el valor 0 y se incrementa con

cada pulso de reloj hasta llegar a $FFFF. Cuando se alcanza dicho valor, caso de estar permitida,

se produce una interrupci¶on y el temporizador vuelve a comenzar la cuenta desde 0. El valor

del temporizador puede leerse en cualquier momento, pero no escribirse y est¶a almacenado en

el registro TCNT ($100E y $100F).

Figura 4.1: Registro de control del temporizador.

El temporizador puede funcionar con uno cualquiera de cuatro divisores -1, 4, 8 o 16-

de la frecuencia de reloj de la pastilla. El divisor se escoge mediante los bits 0 y 1 del registro

TMSK2 (Fig. 4.2). Para un reloj de 8 MHz, estas cuatro frecuencias permiten una cuenta total

de 32.77 ms, 131.1 ms, 261.1 ms y 524 ms respectivamente. Si se desea contar un tiempo superior

a ¶estos, puede implementarse un contador software atendiendo a la interrupci¶on de llegada a

$FFFF.

El bit TOI del registro TMSK2 permite la interrupci¶on de llegada a $FFFF del tempo-

21

Page 28: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

22 Cap¶³tulo 4. Temporizaci¶on, comparadores, capturadores y el conversor A/D

rizador, mientras que el resto obedecen a otros bloques. Dicha interrupci¶on obedece al °ag TOF

del registro TFLG2 (Fig. 4.3).

Figura 4.2: Registro de control del temporizador.

1.2 Interrupci¶on en tiempo real

Cada cierto tiempo, caso de estar habilitada, puede producirse una interrupci¶on en el 68HC11.

El tiempo que transcurre entre estas interrupciones puede ¯jarse mediante los bits 0 y 1 del

registro PACTL, y para un cristal de 8 MHz podr¶³a ser de 4.1 ms, 8.2 ms, 16.4 ms o 32.77 ms.

Cuando transcurre el intervalo de tiempo previsto, se activa el °ag RTIF en el registro

TFLG2 (Fig. 4.3) y, si est¶a permitido mediante la escritura de un 1 en el bit6 de TMSK2 (Fig.

4.2), se produce la interrupci¶on. Para borrar el °ag hay que escribir un 1 en dicho °ag y un 0

en el resto, es decir, mover $40 a TFLG2.

Figura 4.3: Registro de control del temporizador.

2 Comparadores

El 68HC11 presenta cinco comparadores independientes de 16 bits que funcionan de la siguiente

forma:

1. Carga de un valor en el registro comparador deseado (TOC1 a TOC5).

2. Comparaci¶on de dicho valor con el valor actual del temporizador.

3. Si ambos valores son iguales y est¶a permitida, interrupci¶on del comparador.

Page 29: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

2. Comparadores 23

Tabla 4.1: Control de los comparadoresOMx OLx Acci¶on sobre comparador x

0 0 No hay salida hw0 1 Cambio de estado del pin correspondiente1 0 Pin correspondiente a 01 1 Pin correspondiente a 1

2.1 Salida hardware

Adem¶as, opcionalmente, puede activarse un pin del microcontrolador de PA3 a PA6 en el puerto

de E/S paralelo A. A este respecto, la acci¶on de los comparadores se controla mediante los bits

OMx y OLx del registro TCTL1 (Fig. 4.4). La tabla 4.1 muestra el efecto de esos bits sobre el

funcionamiento del comparador correspondiente.

Figura 4.4: Registro de control de los comparadores.

2.2 Interrupciones

La activaci¶on de los comparadores queda re°ejada en los cuatro bits m¶as signi¯cativos del registro

de estado TFLG1 (Fig. 4.5 y sus interrupciones pueden enmascararse de forma independiente

mediante los cuatro bits m¶as signi¯cativos del registro de m¶ascara TMSK1.

Figura 4.5: Registro de estado de comparadores y capturadores.

2.3 El comparador 1

El comparador 1 se comporta de forma especial en cuanto a su salida hardware, ya que controla

5 pines simult¶aneamente (PA7-PA3). El registro OC1M permite con¯gurar que pins se ver¶an

afectados por dicho comparador y el valor que sale por los pins activos en OC1M al igualarse

Page 30: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

24 Cap¶³tulo 4. Temporizaci¶on, comparadores, capturadores y el conversor A/D

Tabla 4.2: Control de los capturadoresEDGxB EDGxA Acci¶on sobre capturador x

0 0 Capturador deshabilitado

0 1 Captura con °ancos de subida1 0 Captura con °ancos de bajada

1 1 Captura con cualquier °anco

el valor del comparador al temporizador es el que se encuentra en los bits correspondientes de

OC1D.

3 Capturadores

El 68HC11 presenta tres capturadores que permiten detectar en qu¶e instante se ha dado un

suceso determinado. Cada capturador presenta un registro de 16 bits y los detectores de °anco

y generadores de interrupci¶on correspondientes. As¶³, cuando se produce un °anco, el valor del

temporizador principal queda grabado en el capturador activo y, si est¶a permitida, se produce

una interrupci¶on. Mediante este sistema puede contarse el tiempo transcurrido entre dos °ancos,

ya lleguen de forma peri¶odica o no.

3.1 Control de los capturadores

El registro TCTL2, mapeado en la posici¶on $1021, permite activar y con¯gurar los capturadores.

La tabla 4.2 presenta las combinaciones de bits de dicho registro y el efecto que tienen sobre los

capturadores.

3.2 Interrupciones

La activaci¶on de un capturador mediante el °anco correspondiente se re°eja en el registro de

estado TFLG1 (Fig. 4.5). Si la m¶ascara correspondiente est¶a a 1 (Fig. 4.6) se produce inter-

rupci¶on.

Figura 4.6: Registro de m¶ascara de comparadores y capturadores.

Page 31: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

4. El acumulador de pulsos 25

4 El acumulador de pulsos

El acumulador de pulsos PACNT es un registro tama~no byte mapeado en la posici¶on $1027

que puede leerse o escribirse en cualquier instante. Dicho acumulador se va incrementando en

una unidad cada vez que recibe un pulso a trav¶es del bit 7 del puerto E/S paralelo A. Cada

uno de estos incrementos es susceptible de provocar una interrupci¶on, pero la llegada a $FF

del acumulador provocar¶a adem¶as una interrupci¶on de ¯n de cuenta. Llegado a este punto, el

acumulador vuelve a comenzar a contar desde 0.

Existe un segundo modo de trabajo para el acumulador que permite estimar la duraci¶on

de un pulso que llga del exterior. En este caso, la entrada al acumulador es el resultado de

la funci¶on AND de la se~nal exterior y una onda cuadrada con una frecuencia 64 veces menor

que la frecuencia de reloj. As¶³, miestras el pulso exterior est¶e a nivel alto, cada °anco activo

de este divisor del reloj provoca el incremento del acumulador y puede estimarse el tiempo que

permanece a dicho nivel.

4.1 Control del acumulador de pulsos

Para controlar el acumulador de pulsos se usa el registro PACTL (Fig. ??), donde hay que usar

los siguientes bits:

² DDRA7: Este bit permite con¯gurar el bit 7 del puerto A como entrada o salida. Para

usar el acumulador de pulsos, hay que escribirle un 0 para que trabaje como entrada.

² PAEN: Cuando est¶a a 1, activa el acumulador de pulsos.

² PAMOD: A 0 con¯gura el acumulador como tal y a 1 lo habilita para estimar la duraci¶on

de un pulso exterior.

² PEDGE: Si est¶a a 0, el acumulador obedece a °ancos de bajada. Si est¶a a 1, obedece a

°ancos de subida.

4.2 Interrupciones

La llegada de un °anco activo al acumulador de pulsos provoca la activaci¶on del °ag PAIF

del registro TFLG2 (Fig. 4.3), que puede ser origen de interrupci¶on si PAII en TMSK2 (Fig.

4.2) est¶a a valor 1. Asimismo, como se coment¶o previamente, la llegada a $FF del acumulador

Page 32: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

26 Cap¶³tulo 4. Temporizaci¶on, comparadores, capturadores y el conversor A/D

tambi¶en produce la activaci¶on de un °ag, PAOVF en TFLG2, que puede enmascararse o no

mediante el bit PAOVI del registro TMSK2.

5 El conversor A/D

Uno de los principales motivos de la versatilidad del 68HC11 es el que incorpora una serie

de conversores A/D que permiten el procesado de se~nales anal¶ogicas externas. El n¶umero de

entradas depende del modelo de la pastilla, variando de 4 a 8 pins. Una conversi¶on lleva un

tiempo de 32 ciclos de reloj.

Este microcontrolador proporciona dos entradas de referencia para las conversiones, de-

nominadas VRL y VRH. El usuario puede ¯jar dichas tensiones en un rango de 0 a 6 voltios.

Generalmente, suelen ¯jarse a tierra y Vcc.

Figura 4.7: Registro de con¯guraci¶on del sistema.

5.1 Control del conversor

Si bien la activaci¶on del conversor se lleva a cabo mediante el bit m¶as signi¯cativo del registro

OPTION, mapeado en la posici¶on $1039 (Fig. 4.7), su control se lleva a cabo mediante el

registro ADCTL, mapeado en la posici¶on $1030 (Fig. 4.8). Los bits de este registro cumplen los

siguientes prop¶ositos:

² CCF: bit de s¶olo lectura. Se activa cuando se produce una conversi¶on completa.

² SCAN: hace que se realice una sola conversi¶on (0) o que ¶estas se produzcan de forma

cont¶³nua (1).

² MULT: cuando este bit est¶a a 0, se llevan a cabo cuatro conversiones consecutivas sobre el

mismo canal y los resultados se almacenan en los registros ADR1-ADR4. En caso contrario,

a dichos registros van a parar los resultados de las conversiones de los respectivos canales.

Si se dispone de 8 canales, los bits CD y CC permiten escoger qu¶e grupo de cuatro se

utiliza.

Page 33: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador

5. El conversor A/D 27

²

Figura 4.8: Registro de control del conversor.

Page 34: ¶Indice General - grupoisis.uma.es · Cap¶³tulo 1 La CPU. Estructura y caracter¶³sticas 1 La Unidad Central de Proceso (CPU) La CPU es el cerebro del sistema microcontrolador