Академический Документы
Профессиональный Документы
Культура Документы
2012/07/07 armcortexm.blogs.upv.es
Contenido
Objetivos Introduccin Caractersticas bsicas Diagrama de bloques Interrupciones asociadas a los timers Uso del timer del sistema: SysTick Ejercicios
Objetivos
Conocer y comprender la utilidad de los temporizadores. Sintetizar programas que hagan uso del sistema de temporizadores. Sintetizar manejadores de interrupcin para los temporizadores.
Introduccin
Semforos, pasos a nivel, ... Generacin de seales como ondas cuadradas, control de potencia
Introduccin
Hay que saber cunto tardan en ejecutarse las instrucciones. No se puede trabajar con frecuencias altas. Si hay interrupciones es imposible lograr precisin. La CPU desperdicia su tiempo y no puede hacer otras cosas.
No necesitan circuitos adicionales (integracin). Sin sobrecargar a la CPU (funcionamiento en paralelo con la CPU). ARM Cortex-M4: 1 timer de sistema de 24 bits + 14 timers adicionales
Caractersticas bsicas
Registro de cuenta (24 bits / 32 bits) Cuenta tiempo: TEMPORIZADOR Cuenta eventos: CONTADOR Contabilizacin ascendente (cuenta = cuenta+1). Contabilizacin Descendente (cuenta = cuenta-1). El desborde se usa para detectar el fin de cuenta/temporizacin. Dispone de hardware/software para arrancar y parar la cuenta.
Caractersticas bsicas
Diagrama de bloques:
Generacin:
- Eventos externos - Seal reloj interno
C/T
Contador
Control de puerta
Permite sacar mayor partido al sistema. Liberan a la CPU de tener que encuestar flag de desborde.
Interrupcin
Contador 000...010
1
I
Control de puerta
Temporizacin - Familia St STM32F
armcortexm.blogs.upv.es
Configurar el temporizador:
El registro de recarga del SysTick con el valor pasado como parmetro Configura la prioridad de la interrupcin del SysTick al valor ms bajo (IRQ priority). Configura la fuente de reloj para el contador del SysTick a HCLK - Core Clock Source. Habilita la interrupcin del timer. Inicia el contador.
Configurar el temporizador:
NVIC_SetPriority(SysTick_IRQn,...) despus de invocar la funcin SysTick_Config() NVIC_SetPriority() est definida en el fichero core_cm4.h
Reload Value = SysTick Counter Clock (Hz) x Desired Time base (s)
Reload Value es el parmetro que le pasamos a la funcin SysTick_Config() No debe exceder 0xFFFFFF
10
11
Ejercicios
Se desea disponer de una funcin en lenguaje C para realizar retardos de precisin del orden de milisegundos. Reloj del C de 168 Mhz. AYUDA:
Prototipo funcin: void delay_ms(uint32_t ms); Calcular ciclos de mquina a esperar y usar el timer del sistema para contabilizarlos Emplear mecanismo de desborde para realizar temporizaciones grandes Manual de la STM32F4 DSP and standard peripherals library http://armcortexm.blogs.upv.es/material-del-curso/
Temporizacin - Familia St STM32F
armcortexm.blogs.upv.es
12
Ejercicios
Reloj del C de 168 Mhz Se trata de un ejemplo tpico de tarea peridica. Interesa tener desocupada la CPU para otros menesteres.
13