Utilisation MTIM * nb de boucle [Forums - HC908 et S08]
Utilisation MTIM * nb de boucle [Forums - HC908 et S08]
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
Recherche
 
   
 

Parcourir ce sujet :   1 Utilisateur(s) anonymes



(1) 2 3 4 »


Utilisation MTIM * nb de boucle
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 541
Hors Ligne
Bonjour,

Je me heurte à un petit souci de précision avec le MTIM.

Voilà le problème :

J'utilise ce timer en IT conjointement avec mon module I2C également sous IT... (bon vous connaissez l'histoire). J'ai besoin de :

- une tempo fixe de 30µs
- une autre de Xms donc fixée à 1ms.

Pour les 30µs pas de problème puisque je passe par le timer qu'une seule fois, même si j'ai du jouer avec le MTIM_MOD afin d'ajuster cette tempo.

Pour l'autre, j'utilise ce même timer calibré à 1mS que je rappelle plusieurs fois si j'ai besoin par exemple de 200ms.

La où ça déconne, bien que peu gênant par rapport aux timings dont j'ai besoin, c'est qu'il m'est impossible d'avoir 1ms sans tout fausser, et ce, je suppose, à cause du code présent dans mes IT, et qui prend aussi du temps.

Par exemple, pour 1ms, mon timer est configuré comme suis :

Tmtim = Tclk * presc * MTIM_MOD = 0.05µs * 256 * 78 = 998,4ms

Lorsque je visualise mes trames I2C avec mon analyseur logique pour 1ms théorique, la tempo est mesurée réellement à plus de 2ms. Donc j'ajuste en baissant la valeur de MTIM_MOD. Une fois cet ajustage effectué, je fixe dans mon programme une tempo pour 200ms et là, et là, je la mesure à 150ms au lieu de 200. Donc ce réglage n'est pas linéaire !

Je sais pas si je me fais bien comprendre.

Une idée ?

Posté le : 17/06/2016 11:51
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer


Re: Utilisation MTIM * nb de boucle
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1929
Hors Ligne
Pourquoi veux tu passer plusieurs fois par le TIM 1ms ?
le TIM permet de gérer des période bien plus longues, non ? (dsl les périph du S08 commencent à se faire éloignés dans ma tête)
Tu peux nous remettre la datasheet du CPU stp ?

Posté le : 17/06/2016 12:10
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: Utilisation MTIM * nb de boucle
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 541
Hors Ligne
Avec plaisir :

http://cache.nxp.com/files/microcontr ... ?fpsp=1&WT_TYPE=Reference Manuals&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation&fileExt=.pdf

page 364

Et bien regarde : Avec le clock source étant le Tbus je peux faire maximum :

Ttim = Tclk * presc * MTIM_MOD(8bits) = 0,05µs * 256 * 256 = 3,276ms !

Après il y a un mode de clock source que je comprend pas : Fixed-frequency clock (XCLK).


J'ai aussi la RTC. Je l'ai faite fonctionner pour mon bazar en I2C, mais le souci c'est qu'il me faut remplir un registre 16bits à partir de mon buffer. Et je voudrait me servir de la RTC pour gérer l'activité de mon LCD avec une grosse tempo tempo du style 2min

Posté le : 17/06/2016 12:28
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer


Re: Utilisation MTIM * nb de boucle
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1929
Hors Ligne
.unaise un timer sur 8 bit je me souviens pas avoir vu ça avant, ils inventent des nouveaux modules moins performants que les anciens...

le FlexTimer tu peux t'en servir ? i lserait bien plus pratique.

Sinon avec la RTC tu dois pouvoir gérer une date à laquelle tu veux qu'elle te fasse signe.

sinon pour le MTIM il faut gérer un modulo ET un nombre de fois que tu déclenches sur TOF.

it TOF => je décrémente le compteurDeTOF et ressort

it TOF ET compteurDeTOF==0 je configure le modulo pour la fin et je relance

it TIE pour terminer

...par exemple

Posté le : 17/06/2016 13:27
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: Utilisation MTIM * nb de boucle
Modérateur
Inscrit:
24/09/2005 13:30
De 04110 - VACHERES- FRANCE
Messages: 1496
Hors Ligne
Ca fait un peu de bien de voir autre chose que de l'IIC, j'avoue que j'en pouvais plus de ces emails, désolé ;)

Tout comme Charly, pour ne pas avoir à gérer des TOF, je te conseille d'utiliser un autre TIMER, un FTM dans ton cas.
Tu le configures comme il faut au niveau prescaler et modulo et tu choppes directement une IT au bout de tes 200ms.

Yvan

Posté le : 17/06/2016 13:36
Le houblon, c'est bon pour la récupération.
Transférer la contribution vers d'autres applications Transférer


Re: Utilisation MTIM * nb de boucle
Pilier de la communauté
Inscrit:
13/10/2005 10:06
De haute-savoie (74)
Messages: 1163
Hors Ligne
Dans un premier temps pour vérifier si les init du MTIM sont correctes, désactives toutes les autres IT. Tu devrais alors retrouver tes 1ms. Si ce n'est pas le cas, ton init est fausse. Ensuite si la présence des autres IT change tes timings c'est effectivement qu'il y a des IT plus prioritaires qui tombent et décalent d'autant la longueur de tes IT...
De manière générale on ne devrait pas passer plus de quelques us dans une IT, mais même alors ça décalerai de quelques us !
Malheureusement les priorités d'IT sous S08 sont défines par le matériel et ne sont pas modifiables comme sur un Coldfire ou autre CPU...

Posté le : 17/06/2016 13:54
Transférer la contribution vers d'autres applications Transférer


Re: Utilisation MTIM * nb de boucle
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 541
Hors Ligne
Moi aussi l'I2C m'a rendu fou ! Mais y'a des gens ici qui m'ont bien aidé à m'en sortir avec mes histoire d'IT et de timings !!


Oui David, c'est ce que j'ai fait et je gère les TOF fois le nombre de ms que je veux. Mais c'est vrai que c'est lourd, mais surtout pas précis !

J'avais pensé au Ftm, et ça me rassure que tu me dises ça Yvan car j'hésitais à m'en servir ché pas pourquoi ... J'ai 2 modules : FTM0 qui me sert à générer un PWM et FTM2 libre.

ça c'est cool !

Sinon Yvan, pour l'I2C, tu veux qu'on en parle ?

Posté le : 17/06/2016 13:55
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer


Re: Utilisation MTIM * nb de boucle
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1929
Hors Ligne
Utiliser un vrai time rest LA solution

mais je ne comprends pas ce que tu dis à propos de la précision, pour le MTIM serait pas précis en faisant des n it TOF ?
C'est un freeruningcounter, le temps que tu passes en it à gérer le compteur ne pénalise pas du tout le timing, encore un intérêt des it...




Posté le : 17/06/2016 14:02
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: Utilisation MTIM * nb de boucle
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 541
Hors Ligne
@Stéphane

Mes timing sont bons puisque je teste mon timer en générant un simple signal carré, et c'est parfait.

@David
Et bien non ce n'est pas précis puisque je fais comme tu dis n IT TOF ET AUSSI n CODE dans l'IT. Et peut-être aussi pour les raisons qu'évoque Stéphane

Posté le : 17/06/2016 14:07
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer


Re: Utilisation MTIM * nb de boucle
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1929
Hors Ligne
le déclenchement d'une it peut être retardé si une autre it prioritaire est en train de tourner mais ça ça n'impactera que al dernière it, celle de la fin de ta tempo
pas les n TOF intermédiaires puisque le compteur aura repris a 0 et continuera.

Si tu n'est pas précis avec le timer c'est que tu fais une énoooooorme ânerie dans les it

Posté le : 17/06/2016 14:17
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer



 Haut   Précédent   Suivant
(1) 2 3 4 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Powered by XOOPS© The XOOPS Project
Contacter les administrateurs

Utilisation MTIM * nb de boucle [Forums - HC908 et S08]