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 »


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

J'avoue que j'ai du te relire plusieurs fois David. Mais j'ai bien compris votre méthode.

Du coup je comprend bien qu'il faut le laisser tourner le timer en free running et de traiter le nombre de TOF.

Le truc c'est que j'ai utilisé la même ISR pour les tempos nécessitant qu'une seule ISR et la tempo utilisant plusieurs fois l'ISR pour faire de plus grandes tempos. Du coup je comprend mieux cette erreur.

Mais je garde ma config actuelle :

=> RTC pour l'init du LDC, et ensuite RTC libre
=> MTIM pour les petites tempos courantes pour les manip du LCD

Mais je garde cette info bien au chaud pour la prochaine fois


Posté le : 20/06/2016 10:39
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: 1918
Hors Ligne
le principe du séquenceur de sephane c'est justement de gérer ces 505689 petites tempos sans importance particulières.
Il y a une It timer qui donne un ticks de base, toujours le même donc pas prise de tête à configurer et ensuite tu fais ce que tu as à faire, tous les ticks, un ticks sur 2, sur 4 , sur 16 sur 3600 sur 1000000000000000...

En gros tu as 3 types de timing dans les applis
>>Ceux qui sont la finalité de l'appli (un PWM qui pilote un moteur pas à pas, mesures de périodes...), gérés évidement par du hardware et fait avec soin pour être précis
>>Les tempos de "rythme" (ex mettre à jour le lcd toutes les 500ms) tu t'en moque que ce soit précis, ca se gèr ede toutes les manières possibles, quelquechose comme un séquenceur, dans une taches non prioritaire c'est parfait.
>>Les "tempos" d'attente que le LCD traite une commande ou qu'une mémoire écrive une valeur ; là la tempo quelle qu'elle soit n'est pas idéale puisque source d'erreur si trop courte et de perte de temps de latences si trop long. Dans ce cas LA seule bonne solution est de gérer les status des lcd et autres mémoire, faits pour ça (avertir dés que le job est fait)

Posté le : 20/06/2016 11:01
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: 530
Hors Ligne
Promis, un jour sortirai ma prochaine appli ou l'évolution de celle-ci avec le séquenceur ou RTOS !

Merci David

Posté le : 20/06/2016 11:32
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: 1918
Hors Ligne
que ce serait triste si on avait pas pleins de trucs à améliorer d'un coup à l'autre...

Posté le : 20/06/2016 11:42
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: 530
Hors Ligne
C'est pas faux ! Avec vous, j'ai l'impression d'être à l'école ! C'est limite du bourrage de crâne !

Tu veux un café ?

Posté le : 20/06/2016 11:47
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:
13/10/2005 10:06
De haute-savoie (74)
Messages: 1162
Hors Ligne
Je pense que le séquenceur est peut être préférable au RTOS dans un premier temps. Plus simple à gérer et cela donne les bases de l'architecture logicielle temps réel.

Pour les timers, En effet, dans l'IT du timer tu ne dois rien faire d'autre que le clear du flag et incrémenter une variable. Ensuite tu sors. Et le traitement de cette variable se fait en tâche de fond.
Dans le cas du séquenceur, c'est le même principe sauf qu'on gère plusieurs multiples. Le tick de base est chez moi généralement à 10ms, puis on compte x fois 10 ms pour produire des tempo même jusqu'à 10s ou 10mn si tu veux. C'est l'avantage et cela ne prends quasiment pas de ressources dans l'IT.

Dans le cas de tempo simples à usage multiple, moi je ferai une fonction delay (valeur en ms) et un timer qui tick toutes les 1 ms... Si tu veux une tempo de 200ms alros tu lances delay(200);
Dans l'IT tu incrémente une variable qui compte... dans ta fonction délai il suffit de mesurer si ton compteur à atteint 200, donc un seul test... C'est propre, rapide, efficace. et très précis, sauf s'il y a des IT de priorité supérieure. Mais comme je disais on peut encore tricher un désactivant les IT en arrivant dans la première. La contre partie c'est qu'on peut perdre des infos sur un bus de comm par exemple en faisant ça. J'avais le cas sur un S08QB8 dont le timer pour faire du PWM était moins prioritaire que la SCI... C'était la merde pour faire un PWM précis.

Mais, pour tes timings précis alors on peut utiliser le output compare d'un timer pour générer un front. L'avantage c'est que c'est matériel, pas de latence, pas d'IT. et on a un beau front très précis (au coup d'horloge près). Mais cela ne s'applique pas pour des tempo purement logicielles...

Après, si tu commences à avoir des logiciels un peu compliqués avec timings précis et tout et tout, alors il est temps de passer sur un 32-bits pour avoir une gestion des priorités des interruptions plus élaborée.




Posté le : 20/06/2016 20:30
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: 530
Hors Ligne
Toujours aussi claires et précises tes explications Stéphane

Passer sur un Kinetis équivalent à mon S08PA16 par exemple ?

Je tenterai l'aventure si je créé une nouvelle version de ma carte et si bien sur, ça vaut le coup.

Pour le séquenceur et mon projet, je vais voir... il me reste un timer FTM2 de dispo alors pourquoi pas ?

Posté le : 20/06/2016 23:13
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: 1918
Hors Ligne
Salut

Tu n'as très clairement pas besoin de plus que ton S08 pour faire ce que tu veux faire.
Il y a peut être des Coldfire V1 compatibles pin pin avec ton S08 mais à vérifier et surtout les coldfire sont horriblement compliqués pour pas beaucoup de perf je trouve (ou alors me ressenti ne concerne que les coldfire V2, je ne sais plus...)

Si tu dois passer aux 32 bits il faut regarder les ARM kinetis (les m0+, les moins puissants sont déjà énooooormes) mais encore une fois là tu n'en as pas besoin et même si le 32 bit apporte avec lui de la puissance ces engins ont tellement de possibilités de configuration qu'ils sont quand même vachement plus compliqués qu'une S08, il y a des registres dans tous les sens. Perso j'ai débuté sur HC11 et j'ai découvert qu'un code pouvait faire des choses sur s08 ; j'en aurais été incapable sur kinetis et j'aurais plus les quelques cheveux qui me restent.

Posté le : 20/06/2016 23:26
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: 530
Hors Ligne
Bah je disais ça dans la mesure ou je comprend bien aujourd'hui que les S08 commence à avoir de l'âge et que peut-être ils disparaitront.

Et puis, c'est pour évoluer dans le bon sens

Il y a bien un Kinetis totalement compatible avec le PA16 : MKE02M64

Mais là, tout de suite, j'ai pas la foi de passer au Kinetis !

Posté le : 20/06/2016 23:45
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:
13/10/2005 10:06
De haute-savoie (74)
Messages: 1162
Hors Ligne
Alors le Coldfire V1 est vraiment pas plus compliqué qu'un S08. Par contre démarrer un projet en Coldfire aujourd'hui ne me parait pas une bonne idée... Ils sont dépassés, et vont disparaitre rapidement donc le Kinetis me parait mieux, mais effectivement un poil plus complexe je pense qu'un Coldfire

Posté le : 20/06/2016 23:54
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]