Le TBM (TimeBase Module) - Mcu/Cpu (hardware et périphériques) > 8 bits - Articles et téléchargements
Le TBM (TimeBase Module) - Mcu/Cpu (hardware et périphériques) > 8 bits - Articles et téléchargements
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
proposer
 
   
             
 
Catégories
 
   
             
 
Recherche
 
   
 

Le TBM (TimeBase Module)

Publié par ybourne le 05/10/2005 (2199 lectures)

Le TBM (TimeBase Module) permet d'obtenir des interruptions périodiques à une période programmable.

Inconvénient : ne permet pas d'obtenir un grand choix de périodes comme sur le PIT des 68HC908AB.

 


Son utilisation est très simple :

La fréquence du bus interne est divisée par un pré diviseur (TBR2 - TBR0) programmable. Une interruption peut être générée à chaque fois que le nombre de période de l'horloge interne atteint le nombre de pré division.

Le registre TBCR (TimeBase Control Register)

Bit 7 : TBIF : TimeBase Interrupt Flag :
Ce bit est mis à 1 lorsque le compteur du TBM est arrivé à la période programmée. Pour remettre ce flag à 0, il faut écrire un 1 dans le bit 3 (TACK).


Bit 6, 5 et 4 : TBR : Timebase Divider Selection :

Ces bits sont le prédiviseur de la fréquence du bus interne.


Bit 3 : TACK : Timebase ACKnowledge :

Ce bit en écriture seule permet de remettre à 0 le flag TBIF. Cette opération doit avoir lieu à la fin de la routine d'interruption par exmple.

Bit 2 : TBIE : TimeBase Interrupt Enable :

Ce bit valide l'interruption TBM à 1 ; il les inhibe à 0.

Bit 1
: TBON : TimeBase enabled :
Permet de valider l'utilisation du TBM à 1 ; de ne pas faire fonctionner le TBM à 0.

 


Exemple :

Avec une fréquence de bus interne de 8MHz, on veut obtenir une interruption toutes les 1 ms.
En positionnant le prédiviseur à 8192, on obtient en sortie de ce dernier :

125ns * 64 = 1.024ms

; Vecteur d'interruption du TBM
org $FFDC
fdb TBM_IT
...

; Initialisation du TBM
mov $1E,tbcr

; Validation des interruptions
cli
...
...


TBM_IT:
; Actions à effectuer toutes les 1.024ms
...
...
; Réinitialisation du TBM
mov $1E,tbcr
rti ; fin boucle d'IT

Article précédent Article suivant
Article précédent Le PIT (Programmable Interrupt Timer) Routine Timer et Tempo en C Article suivant
Les commentaires appartiennent à leurs auteurs. Nous ne sommes pas responsables de leur contenu.
Auteur Commentaire en débat
Powered by XOOPS© The XOOPS Project
Contacter les administrateurs

Le TBM (TimeBase Module) - Mcu/Cpu (hardware et périphériques) > 8 bits - Articles et téléchargements