Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
BulgaraCeha slovacaCroataEnglezaEstonaFinlandezaFranceza
GermanaItalianaLetonaLituanianaMaghiaraOlandezaPoloneza
SarbaSlovenaSpaniolaSuedezaTurcaUcraineana

AdministrationAnimauxArtComptabilitéDiversesDroitéducationélectronique
FilmsL'économieL'histoireL'informatiqueLa biologieLa géographieLa grammaireLa littérature
La médecineLa musiqueLa politiqueLa psychologieLa sociologieLe tourismeLes mathématiquesManagement
PersonnalitésPhysiqueRecettesSportTechnique

Le timer

technique



+ Font mai mare | - Font mai mic



DOCUMENTE SIMILARE

Le timer

Le fonctionnement du timer est régie par 3 registres mappés en mémoire 0.

TIM : reflète la valeur du compteur.



PRD : permet de charger la division de fréquence.

TCR : registre de contrôle.

Le timer fonctionne en diviseur de fréquence programmable avec comme entrée CLKOUT1 (signal de fréquence fclk/2). Une interruption TINT est générée à chaque fois que le compteur TIM est décrémenté à 0. Il est alors rechargé par la valeur placée dans PRD pour le compteur TIM et TDDR pour le prescaler PSC. La fréquence de CLKOUT1 est donc tout d’abord divisée par le premier compteur PSC (de 1 à 24) puis la retenue de ce compteur est envoyée sur le deuxième compteur TIM (division de fréquence programmable de 1 à 216). Soit une division de fréquence pouvant varier de 1 à 16 *216.

La période d’interruption est alors :

TTINT = TCLKOUT1 x [TDDR + 1] x [PRD + 1]

Remarque : il est possible de stopper le comptage des cycles en plaçant le bit TSS du registre TCR à 0.

Registre de contrôle TCR :

12

6

0

Réservé

SOFT

FREE

PSC

TRB

TSS

TDDR

Timer Reload Bit.

Quand TRB = 1 :

chargement des compteurs

TDDR PSC

PRD TIM

 

Timer Stop Status

Quand TSS = 1 compteur arrêter.

Au reset TSS = 0

 

Etat du compteur PSC. Pour connaitre l’etat global du compteur il faut lire le registre TIM et PSC

 

Division de fréquence de 1 à 16

 

Les bits soft et free sont utilisés en mode émulation.

 


Fig. 36 : Schéma fonctionnel du timer.

Exemple :

On désire générer un signal carré de fréquence 50 kHz sur la broche XF (rappel : XF est un bit utilisateur du registre ST1 relié à la broche XF du DSP). Le TMS320C50 a une fréquence d’horloge de 40 MHz La table des vecteurs d’interruption sera placée à l’adresse 800h. Il faudra donc généré une routine d’interruption timer toutes les 10 us et dans cette routine inverser la valeur du bit XF.

.ps 0808h ; directive assembleur : permet de spécifier

; l’adresse d’écriture en mémoire programme

timer B rout_timer ; Branchement vers la routine d’interruption ITINT

.ps 0840h

.entry ; point d’entrer du programme

SETC  INTM ; désactivation des it

LDP  #0 ; page 0

OPL #0810h, PMST ; IPTR = 1 donc table d’it à l’adresse 0800h et SARAM en mémoire programme

SPLK #199, PRD ; Tint = 200 * Tclkout = 10 us

OPL #8, IMR ; démasque interruption Timer

SPLK #20h, TCR ; Charge PRD TIM et 0 PSC et TSS = 0 : départ compteur

SPLK #1000b, IFR ; efface toutes les interruptions

LACL #0 ; initialisation de ACC pour la routine d’interruption du TIMER

CLRC INTM ; activation des it

WAIT :  B WAIT

rout_timer : XOR #0 ; ACC ACC XOR 0

XC 2, EQ ; si ACC = 0 alors effectuer les 2 instructions suivantes

CLRC XF ; mettre à 0 XF

RETE ; retour d’it, INTM = 0

SETC XF ; sinon mettre à 1 XF

RETE ; et retour d’it



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 678
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved