les interruptions prioritaires (mode préemptive)et les pics 16/18/.......
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

les interruptions prioritaires (mode préemptive)et les pics 16/18/.......



  1. #1
    invitefd11d45f

    les interruptions prioritaires (mode préemptive)et les pics 16/18/.......


    ------

    slt à tous
    bon j'ai un petit projet ,,, pour cela il faut manipuler 3 interruption .
    On associer pour chaque interruption un niveau de priorité exemple :
    interr1 -> priorité 0
    interr2 -> priorité 1
    interr3 -> priorité 2
    donc : pour les pic 16fxx il est impossible d'interrompu une interruption durant l'exécution de son sous-programme
    pour les pic 18fxx il existe 2 niveau de priorité seulement
    HP - High Priority et LP low priority (pour notre projet on est besoin de 3 niveau )
    donc la question ,,,, je demande soit une solution pour les pic 18f
    afin d'avoir réalisé le 3eme niveau
    ou bien une autre famille de pic qui comporte au moins 3 niveaux de priorité d'interruption
    merci d’avance

    -----

  2. #2
    invite092cb13c

    Re : les interruptions prioritaires (mode préemptive)et les pics 16/18/.......

    Citation Envoyé par ab-tech Voir le message
    donc : pour les pic 16fxx il est impossible d'interrompu une interruption durant l'exécution de son sous-programme
    Bonjour
    On ne peut effectivement pas interrompre le deroulement d'une interruption sur un 16F, mais une deuxieme interruption n'est pas perdu pendant le travail sur la premiere, le flag est positionné et sera pris en compte à la sortie, voir dans la même interruption selon la position des tests des flags.
    Pour les priorités il faut choisir l'ordre du test des flags, les premieres testées seront les premieres traitées en cas de double ou triple interruptions.
    Le 18F apporte juste un niveau suplementaire en hard pour les priorités.
    Gilles

  3. #3
    invitefd11d45f

    Re : les interruptions prioritaires (mode préemptive)et les pics 16/18/.......

    Citation Envoyé par gedonet Voir le message
    Bonjour
    On ne peut effectivement pas interrompre le deroulement d'une interruption sur un 16F, mais une deuxieme interruption n'est pas perdu pendant le travail sur la premiere, le flag est positionné et sera pris en compte à la sortie, voir dans la même interruption selon la position des tests des flags.
    Pour les priorités il faut choisir l'ordre du test des flags, les premieres testées seront les premieres traitées en cas de double ou triple interruptions.
    Le 18F apporte juste un niveau suplementaire en hard pour les priorités.
    Gilles
    merci gedonet ,,,,

    donc pour les pics 16fxxx par la suite tu n'avoir qu'un programme compliquer

    pour les pics 18fxxx le problème de 2 niveau seulement toujours

    merci

  4. #4
    RISC

    Re : les interruptions prioritaires (mode préemptive)et les pics 16/18/.......

    Salut,
    Citation Envoyé par ab-tech Voir le message
    donc : pour les pic 16fxx il est impossible d'interrompu une interruption durant l'exécution de son sous-programme
    Non, c'est incorrect...Il est tout à fait possible d'autoriser les interruptions à l'intérieur d'une interruption. Il faut pour cela clearer le flag de l'interruption en cours et gérer un système "multi-banques" pour la sauvegardes des registres W, status,.. associés à chaque interruption.
    Cela dit c'est assez lourd et de plus ce système ne permettra pas de gérer des priorités...sauf à le faire par soft :
    * accepter (toujours) l'interruption
    * vérifier quel flag l'a générée
    * si elle est plus prioritaire, continuer
    * sinon revenir dans l'interruption d'origine (resetet son flag et positionner un sémaphore)
    * à la fin de l'interruption en cours, appeler la fonction de l'interruption qui était moins prioritaire
    Cette stratégie n'est implémentable qu'en assembleur...

    pour les pic 18fxx il existe 2 niveau de priorité seulement
    HP - High Priority et LP low priority (pour notre projet on est besoin de 3 niveau )
    donc la question ,,,, je demande soit une solution pour les pic 18f
    afin d'avoir réalisé le 3eme niveau
    Même chose que pour les PIC16

    ou bien une autre famille de pic qui comporte au moins 3 niveaux de priorité d'interruption
    Les PIC24F comportent 15 niveaux de priorité dont 7 pour l'utilisateur. De plus, chaque interruption a son propre vecteur d'interruption.

    a+

  5. A voir en vidéo sur Futura
  6. #5
    invitee05a3fcc

    Re : les interruptions prioritaires (mode préemptive)et les pics 16/18/.......

    Citation Envoyé par ab-tech Voir le message
    ou bien une autre famille de pic qui comporte au moins 3 niveaux de priorité d'interruption
    je n'y connais rien en PIC, mais je voudrais bien que tu m'expliques pourquoi tu veux 3 niveaux d'interruptions et quel en est l'intérêt pour toi? Qu'est ce que ça représente dans l'exécution de ton programme ?


    PS Dans ton titre, cà veut dire quoi? interruptions prioritaires (mode préemptive)

  7. #6
    invitefd11d45f

    Re : les interruptions prioritaires (mode préemptive)et les pics 16/18/.......

    Citation Envoyé par RISC Voir le message
    Salut,

    Non, c'est incorrect...Il est tout à fait possible d'autoriser les interruptions à l'intérieur d'une interruption. Il faut pour cela clearer le flag de l'interruption en cours et gérer un système "multi-banques" pour la sauvegardes des registres W, status,.. associés à chaque interruption.
    Cela dit c'est assez lourd et de plus ce système ne permettra pas de gérer des priorités...sauf à le faire par soft :
    * accepter (toujours) l'interruption
    * vérifier quel flag l'a générée
    * si elle est plus prioritaire, continuer
    * sinon revenir dans l'interruption d'origine (resetet son flag et positionner un sémaphore)
    * à la fin de l'interruption en cours, appeler la fonction de l'interruption qui était moins prioritaire
    Cette stratégie n'est implémentable qu'en assembleur...


    Même chose que pour les PIC16



    Les PIC24F comportent 15 niveaux de priorité dont 7 pour l'utilisateur. De plus, chaque interruption a son propre vecteur d'interruption.

    a+

    oui je suis d ‘accord mais : supposer que vous avez un sous-programme d’interruption de 10 ligne , donc on va tester si une autre interruption est arrivée 10 fois c’est très lourd pour un système temps réel.

    le meme pb pour les pics 18f

    mmmmmmm pour le 24 une bonne vision



    ‘merci bcp bcp ’ ,, A+

  8. #7
    invitee05a3fcc

    Re : les interruptions prioritaires (mode préemptive)et les pics 16/18/.......

    Citation Envoyé par ab-tech Voir le message
    supposer que vous avez un sous-programme d’interruption de 10 ligne ,
    et qui s'exécute en combien de temps ?
    c’est très lourd pour un système temps réel
    temps réel , ça ne veut rien dire.
    Pour réguler la température d'un four, le temps réel c'est la minute
    Pour lire un capteur de position incrémental, le temps réel c'est, peut être, la milliseconde.

    temps réel, ça veut dire que le temps de réaction de la chaine de calcul est négligeable par rapport à la vitesse d'évolution du processus à contrôler.

  9. #8
    invitefd11d45f

    Re : les interruptions prioritaires (mode préemptive)et les pics 16/18/.......

    Citation Envoyé par DAUDET78 Voir le message
    je n'y connais rien en PIC, mais je voudrais bien que tu m'expliques pourquoi tu veux 3 niveaux d'interruptions et quel en est l'intérêt pour toi? Qu'est ce que ça représente dans l'exécution de ton programme ?


    PS Dans ton titre, cà veut dire quoi? interruptions prioritaires (mode préemptive)
    supposé que vous êtes en train de créer un programme qui comporte 2 sous-programme :
    le premier pour saisie les fiches des patients est un autre qui surveille La température du patient ;;;;;
    À un certain moment, vous êtes dans la tâche d'édition d’une fiche pour un patient ,,,soudain la température du patient ont augmenté !! Comment pensez-vous que le comportement du programme
    normalement le programme à arrêter le processus (édition d’une fiche ) temporaire et de procéder à la mise en œuvre de ce dernier parce qu'il est plus une priorité que le premier
    Donc cette tâche est appeler (interruption préemptive ) c’est-à-dire une interruption qui bloque une autre qui est moins une priorité.

  10. #9
    invitee05a3fcc

    Re : les interruptions prioritaires (mode préemptive)et les pics 16/18/.......

    Oui, c'est bien ce que je pensais ... on ne parle pas d'interruption, mais de MultiTache et pour ça, il faut un OS MultiTache (qui est appelé, à tord, OS temps réel)

    Pour le PIC voir ICI par exemple

  11. #10
    RISC

    Re : les interruptions prioritaires (mode préemptive)et les pics 16/18/.......

    Salut,

    +1 à la remarque de DAUDET.
    Il existe aussi FreeRTOS qui a été porté sur les PIC18.

    a+

  12. #11
    invitee05a3fcc

    Re : les interruptions prioritaires (mode préemptive)et les pics 16/18/.......

    Citation Envoyé par RISC Voir le message
    +1 à la remarque de DAUDET.
    mais il faut 8 messages pour que la vraie question apparaisse .... tout le reste, c'est une discussion dans le vide au Café du Commerce

  13. #12
    RISC

    Re : les interruptions prioritaires (mode préemptive)et les pics 16/18/.......

    Citation Envoyé par DAUDET78 Voir le message
    mais il faut 8 messages pour que la vraie question apparaisse .... tout le reste, c'est une discussion dans le vide au Café du Commerce
    La prochaine tournée est pour moi

  14. #13
    invitefd11d45f

    Re : les interruptions prioritaires (mode préemptive)et les pics 16/18/.......

    Citation Envoyé par DAUDET78 Voir le message
    et qui s'exécute en combien de temps ?

    temps réel , ça ne veut rien dire.
    Pour réguler la température d'un four, le temps réel c'est la minute
    Pour lire un capteur de position incrémental, le temps réel c'est, peut être, la milliseconde.

    temps réel, ça veut dire que le temps de réaction de la chaine de calcul est négligeable par rapport à la vitesse d'évolution du processus à contrôler.
    mmmmm bien reçu

    je pense que j'ai un problème dans le logiciel ' Proteus_7.2_SP ' ou bien la configuration de pic lui-même puisque quand une interruption détecté normalement le programme allumera une LED pendant une durée bien définie mais elle éteinte toujours après presque 2 seconds
    la figure suivante présente bien le problème .
    http://forums.futura-sciences.com/at...1&d=1261495894
    Images attachées Images attachées  

  15. #14
    invite092cb13c

    Re : les interruptions prioritaires (mode préemptive)et les pics 16/18/.......

    Citation Envoyé par RISC Voir le message
    Salut,

    Non, c'est incorrect...Il est tout à fait possible d'autoriser les interruptions à l'intérieur d'une interruption. Il faut pour cela clearer le flag de l'interruption en cours et gérer un système "multi-banques" pour la sauvegardes des registres W, status,.. associés à chaque interruption.
    Salut RISC
    Il me semble que, même si l'idée est séduisante, c'est un peut risqué de dire cela à quelqu'un qui ne maitrise pas totalement le mecanisme des interruptions, j'imagine de suite les gars qui vont remettre en route le flag GIE avant un retfie ou un return, la pile risque d'en prendre un coup.

    Pour ab-tech, il semble que tu aies des débordement de ton watchdog, donc soit tu l'arretes, soit tu maitrises mieux le timing entre le reset du compteur de wathdog.
    Gilles

  16. #15
    invitefd11d45f

    Re : les interruptions prioritaires (mode préemptive)et les pics 16/18/.......

    Citation Envoyé par gedonet Voir le message
    Salut RISC
    Il me semble que, même si l'idée est séduisante, c'est un peut risqué de dire cela à quelqu'un qui ne maitrise pas totalement le mecanisme des interruptions, j'imagine de suite les gars qui vont remettre en route le flag GIE avant un retfie ou un return, la pile risque d'en prendre un coup.

    Pour ab-tech, il semble que tu aies des débordement de ton watchdog, donc soit tu l'arretes, soit tu maitrises mieux le timing entre le reset du compteur de wathdog.
    Gilles
    merci bcp gedonet

    j'ai arrêté le watchdog et --->Le pgm bug (bloquer )

    maintenant je veux essayer avec les pic 16F84A

    j'aime bien les solutions soft que hard

    puisque ma spécialité 'informatique industrielle ' dit ça

Discussions similaires

  1. Les interruptions
    Par invite1e012ef4 dans le forum Électronique
    Réponses: 5
    Dernier message: 26/02/2009, 16h11
  2. Aides sur les Interruptions
    Par invite55fe29e6 dans le forum Électronique
    Réponses: 8
    Dernier message: 18/06/2007, 14h20
  3. Parasite et les interruptions
    Par inviteb44153e1 dans le forum Électronique
    Réponses: 0
    Dernier message: 22/02/2007, 17h58
  4. Les interruptions ? Pic16F84 !
    Par invitef1f90160 dans le forum Électronique
    Réponses: 6
    Dernier message: 31/12/2005, 09h15
  5. Sida : les interruptions programmées
    Par invitea84f33ae dans le forum MST : SIDA, syphilis, hépatite...
    Réponses: 18
    Dernier message: 06/01/2005, 15h09
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...