13
21/06/22 Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. 1 Laboratorio de microprocesadores Real Time Interrupt HC(S)12

22/12/2015Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A. Jacoby 1 Laboratorio de microprocesadores Real Time Interrupt HC(S)12

Embed Size (px)

Citation preview

Page 1: 22/12/2015Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A. Jacoby 1 Laboratorio de microprocesadores Real Time Interrupt HC(S)12

21/04/23 Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A.

Jacoby

1

Laboratorio de microprocesadores

Real Time Interrupt HC(S)12

Page 2: 22/12/2015Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A. Jacoby 1 Laboratorio de microprocesadores Real Time Interrupt HC(S)12

21/04/23 Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A.

Jacoby

2

RTI (HCS12)

En en el desarrollo de software en tiempo real es necesario contar con una interrupción periódica.

El motivo fundamental es que mediante una interrupción periódica podemos “muestrear” los eventos que genera el hardware evitandonos asi el gadfly loop y ademas limitar el numero de lineas de interrupcion dedicadas (recurso que puede ser escaso y dificil de administrar cuando el numero de interrupciones es grande).

Todos los microcontroladores modernos poseen un generador periódico de interrupciones. Estos generadores pueden generar interrupciones periódicas a diferentes frecuencias programables por software.

Page 3: 22/12/2015Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A. Jacoby 1 Laboratorio de microprocesadores Real Time Interrupt HC(S)12

21/04/23 Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A.

Jacoby

3

Antes de estudiar la RTI veamos de donde se obtiene el reloj que la alimenta.

RTI (HCS12)

16 MHz

Page 4: 22/12/2015Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A. Jacoby 1 Laboratorio de microprocesadores Real Time Interrupt HC(S)12

21/04/23 Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A.

Jacoby

4

PLL

RTI (HCS12X)

Nota: Synr [$34]=4 Refdv [$35]=1

80 MHz

Page 5: 22/12/2015Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A. Jacoby 1 Laboratorio de microprocesadores Real Time Interrupt HC(S)12

21/04/23 Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A.

Jacoby

5

RTI Clock

RTI (HCS12)

16 MHz

80 MHz

40 MHz

16 MHz

SCM: Self Clock Mode

Page 6: 22/12/2015Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A. Jacoby 1 Laboratorio de microprocesadores Real Time Interrupt HC(S)12

21/04/23 Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A.

Jacoby

6

RTI (HCS12)

16 MHz

Page 7: 22/12/2015Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A. Jacoby 1 Laboratorio de microprocesadores Real Time Interrupt HC(S)12

21/04/23 Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A.

Jacoby

7

RTI (HCS12)

16 MHz

Page 8: 22/12/2015Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A. Jacoby 1 Laboratorio de microprocesadores Real Time Interrupt HC(S)12

21/04/23 Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A.

Jacoby

8

RTI (HCS12)

Page 9: 22/12/2015Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A. Jacoby 1 Laboratorio de microprocesadores Real Time Interrupt HC(S)12

21/04/23 Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A.

Jacoby

9

RTI (HCS12)

Page 10: 22/12/2015Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A. Jacoby 1 Laboratorio de microprocesadores Real Time Interrupt HC(S)12

21/04/23 Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A.

Jacoby

10

Ejemplo RTI (HCS12)

Divider Chain

Si RTICTL=01011001b

RTR[6:4]=5 (101) estamos dividiendo por 24

RTR[3:0]=9 (1001) Estamos dividiendo por 10

La cadena dividirá por:

N= 1024 * 24 *10 = 210 24 10 = 10 214 (Ver Tabla)

TRTI = (16MHz/N)-1 = 10.24 mseg

Es decir que recibiremos una interrupción cada 10.24 mseg

1

1024 RTR[6:4]= 5 RTR[3:0]= 1016 MHz TRTI

Page 11: 22/12/2015Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A. Jacoby 1 Laboratorio de microprocesadores Real Time Interrupt HC(S)12

21/04/23 Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A.

Jacoby

11

RTI (HCS12)

CPURTI IRQ

D QVcc

Interrupt Flag

Interrupt Enable

Clear Interrupt Flag

Page 12: 22/12/2015Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A. Jacoby 1 Laboratorio de microprocesadores Real Time Interrupt HC(S)12

21/04/23 Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A.

Jacoby

12

RTI (HCS12)

CPURTI IRQ

D QVcc

Interrupt Flag

Interrupt Enable

Clear Interrupt Flag

Page 13: 22/12/2015Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A. Jacoby 1 Laboratorio de microprocesadores Real Time Interrupt HC(S)12

21/04/23 Laboratorio de microprocesadores Ing. Claudio Muñoz- Ing. Daniel A.

Jacoby

13

Para borrar el RTIF hay que escribirle un “1” !!!!

Interrupciones (HCS12)

´1´