22/12/2015laboratorio de microprocesadores ing. claudio muñoz- ing. daniel a. jacoby 1 laboratorio...

Post on 25-Jan-2016

222 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

21/04/23 Laboratorio 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.

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

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

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

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

Jacoby

6

RTI (HCS12)

16 MHz

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

Jacoby

7

RTI (HCS12)

16 MHz

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

Jacoby

8

RTI (HCS12)

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

Jacoby

9

RTI (HCS12)

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

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

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

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´

top related