Académique Documents
Professionnel Documents
Culture Documents
Capítulo 4.
Entrega Nº 7
Con los bits CLKSA y CLKSB del registro de Estado y control del módulo
(TPMxSC) determina que fuente es la seleccionada.
Una de las funciones básicas del módulo TPM es la de Timer de Referencia o Timer
Overflow, que consiste en generar una indicación y/o una interrupción cada vez que se
cumpla con la cuenta de un tiempo determinado. En esta función el TPM es muy
similar al TIM08 con la única diferencia que en el módulo TPM existe un bit
denominado “CPWMS” que controla el sentido de la cuenta del contador de 16 bits
free running, ya que dicho contador puede contar en forma “ascendente” (Up Counter)
o “Descendente” (Down Counter) según el estado del bit CPWMS.
Si CPWMS = 0, entonces la cuenta será ascendente, o sea desde $0000 hasta el valor
determinado por el contenido de los registros TPMxMODH / TPMxMODL que por
defecto tienen el valor $FFFF luego del reset del MCU.
Una aclaración importante de comentar es que las funciones Timer Reference, Input
Capture (ICAP) y Output compare (OC), utilizan el contador en forma
ASCENDENTE, o sea CPWMS = 0 y NO SOPORTAN la forma descendente del
contador.
La función Timer Reference del. TPM consiste en generar una cuenta de tiempo por
medio del contador de 16 bits del tipo free – running que se irá incrementado desde su
valor inicial de $0000 hasta el valor configurado en los registros TPMxMODH y
TPMxMODL. Cuando se alcanza dicho valor, se generará una indicación de
“overflow” por medio de la puesta a “1” del bit “TOF” (Timer Overflow) y si se ha
habilitado previamente la interrupción (TOE) se generará un pedido de interrupción por
Timer Overflow con su correspondiente vector asociado. Como se puede ver, la
función Timer Reference es similar a la implementada en el módulo TIM08 de los
HC908.
Se configura un canal del módulo para que se genere una interrupción por un flanco
determinado (puede ser ascendente, descendente o ambos) y se dispara el contador
de free running de 16 bits, cuando el flanco de la señal entrante coincide con el
configurado, se genera una interrupción y el valor de la cuenta de tiempo que posee el
contador es transferido a los registros del canal (TPMCnVH / TPMCnVL).
Luego se guarda el valor contenido en estos registros en dos variables en RAM (cabe
aclarar que el rescate de los valores contenidos en dichos registros en posiciones de
RAM no es automático y debe ser ejecutado por el programa del usuario).
Continuará.......
Nota de Redacción: El lector puede descargar este capítulo y capítulos anteriores del
curso desde la sección “Artículos” (Curso_HC9S08) en el sitio web de EduDevices
(www.edudevices.com.ar )