Vous êtes sur la page 1sur 2

Pontificia Universidad Católica del Perú

Curso: IEE256 Sistemas Digitales Profesor: Ing. Hugo Pratt

Temporizador del Sistema (SysTick) en LM3S9B92, LM3S6965 y Tiva


TM4C123GH6PM
El SysTick timer es un temporizador sencillo de usar. Forma parte de los periféricos de los núcleos
Cortex-M, y está incluido en todos los microcontroladores con núcleo Cortex-M3 y Cortex-M4, y
opcionalmente (depende del fabricante) en los que tienen núcleo Cortex-M0.
Este temporizador forma parte del módulo NVIC (Nested Vector Interrupt Controller) y por ello los
nombres de los registros en lenguaje C comienzan con el término NVIC. En la tabla se muestra el
nombre de cada registro en la hoja de datos y el nombre en lenguaje C.

Registro Nombre en lenguaje C


STCTRL NVIC_ST_CTRL_R
STCURRENT NVIC_ST_CURRENT_R
STRELOAD NVIC_ST_RELOAD_R

Registros de E/S del SysTick


No se deben modificar los bits que aparecen en color gris, pues son reservados o empleados para
otras funciones que no se verán en el curso.

Dirección base de todos los registros: 0xE000.E000

Nombre (offset)
bit 31 17 16 15 3 2 1 0
STCTRL reservado COUNT reservado CLK_SRC INTEN ENABLE
(0x010) R R/W R/W R/W
valor incial 0 0 0
valor reset: 0x0000.0000 en LM3S6965; 0x0000.0004 en LM3S9B92 y TM4C123GH6PM

bit 31 24 23 0
STRELOAD reservado RELOAD
(0x014) R/W
valor incial 0x000000

bit 31 24 23 0
STCURRENT reservado CURRENT
(0x018) R/W (se borra al escribir)
valor incial 0x000000

Cuando se lee tiene el valor actual del contador

Descripción de bits
CLK_SRC Fuente de reloj ENABLE Habilitador INTEN habilitador de
del SysTick interrupciones
Ninguna SysTick no genera
0 0 Desactivado 0
(no funcionará) peticiones
SysTick genera
Reloj del sistema
1 1 Activado 1 peticiones de
usar este valor
interrupción

SysTick_LM3S9B92_RegistrosRev1.doc Página 1 de 2 26/09/2014


Pontificia Universidad Católica del Perú
Curso: IEE256 Sistemas Digitales Profesor: Ing. Hugo Pratt

COUNT Descripción
0 Contador no ha llegado a cero desde la última vez que se leyó
1 Contador llegó a cero

El bit COUNT es de solo lectura y se borra de las dos maneras siguientes:


 Cuando se escribe en registro NVIC_ST_CURRENT_R
 Cuando se lee registro en el que está este bit (NVIC_ST_CTRL_R)

Configuración de módulo y frecuencia

Módulo  RELOAD  1 para RELOAD  0 xFFFFFF

f osc
frecuencia 
RELOAD  1

fosc : Frecuencia de reloj del sistema, en Hz.


RELOAD: Valor grabado en registro NVIC_ST_RELOAD _R (24 bits)

Configuración del SysTick


1. Programar valor de recarga (registro NVIC_ST_RELOAD_R)
2. Borrar valor actual de contador escribiendo cualquier valor en NVIC_ST_CURRENT_R (sin
modificar bits reservados)
3. Configurar SysTick (registro NVIC_ST_CTRL_R)
a. CLK_SRC = 1, ENABLE=1
b. Si no se usarán interrupciones hacer INTEN=0

Este es un diagrama funcional. No


asumir que así es el circuito del
SysTick.

SysTick_LM3S9B92_RegistrosRev1.doc Página 2 de 2 26/09/2014

Vous aimerez peut-être aussi