Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Pic temps de reaction int_rb int_ext



  1. #1
    cookieParis

    Pic temps de reaction int_rb int_ext


    ------

    Bonjour,

    j'ai un petit soucis et j'aimerais vous en faire part, histoire de savoir si quelqu'un a déjà constaté ce problème.

    Je programme un pic 16F886 cadencé a 20 Mhz, grace au compilateur picc, j'envoie un pulse pour déclencher une interruption sur le port B , si celui ci fait en dessous de 25 micro seconde il arrive qu'il ne soit pas détecté.
    Avez vous déjà constaté ce problème ?.

    Demain je test avec le port RB_0 ( enfin l'int_ext )

    Merci !
    A demain !

    -----

  2. Publicité
  3. #2
    cookieParis

    Re : Pic temps de reaction int_rb int_ext

    Pour ceux que ca interesse j'ai visualisé ce problème a l'oscilloscope, le seul moyen que j'ai trouvé de le résoudre c'est de passé a des pic 18F qui ont la possibilité de rendre prioritarire certaines interruptions, en faisant ca je passe en dessous des 4 MicroSecondes de temps de réponse.

  4. #3
    DavidDB

    Re : Pic temps de reaction int_rb int_ext

    Salut,

    Pour les INT, le pulse doit faire au minimum un TCY, soit 200ns...

    Il doit y avoir un sérieux problème dans ton programme si il faut 25µsec pour le détecter, ou alors un problème hard dû au temps de montée du signal...

    David.

  5. #4
    cookieParis

    Re : Pic temps de reaction int_rb int_ext

    je me suis mal exprimé; apres test l'interruption est bien détecté mais il faut 25 µs au max au pic pour finir ce qu'il est en train de faire avant de rentrer dans l'interruption.
    je pense que la faute incombe au compilateur C de Css-info.

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

    Re : Pic temps de reaction int_rb int_ext

    Salut,

    Pas possible, même en C...

    Dès que l'INT est détectée, le programme principale est détourné à l'adresse 0x004.
    Donc, le µC ne peut pas finir la tâche en cours si une INT se présente (sauf si tu l'as réellement programmé, avec, par exemple, l'utilisation de flag positionné par la routine d'INT).

    David.

  8. #6
    RISC

    Re : Pic temps de reaction int_rb int_ext

    Bonsoir,

    Le temps de réponse au interruptions est spécifié pour les PIC16F dans leur datasheet :
    pour une interruption externe (ex PORTB) il est de 3 ou 4 cycles instructions (quelque soit le nb de cycles de l'instruction en cours.
    Donc à 20MHz d'horloge, tu as un temps de cycle instruction de :
    1 / (20MHz / 4) = 200ns ce qui veut dire qu'au plus tard en 800ns tu rentre sur le vecteur d'interruption.

    Je te conseille de regarder le code assembleur de ton interruption généré par ton compilateur dans MPLAB :
    View > Disassembly listing

    Tu trouveras peut-être la raison...
    Cela dit 25us c'est énorme (environ 125 cycles instructions donc probablement plus de 100 instructions assembleur...)

    a+

  9. Publicité
  10. #7
    cookieParis

    Re : Pic temps de reaction int_rb int_ext

    merci pour vos réponses

Discussions similaires

  1. visionneuse et temps de reaction
    Par Vincent.H dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 10/07/2008, 07h36
  2. Cinétique et temps de demi-réaction
    Par sixsou26 dans le forum Chimie
    Réponses: 5
    Dernier message: 22/09/2007, 09h51
  3. Temps de réaction
    Par Christallis dans le forum Chimie
    Réponses: 4
    Dernier message: 21/03/2007, 21h04
  4. avancement de la reaction (1)pour ce temps.
    Par leleti dans le forum Chimie
    Réponses: 7
    Dernier message: 31/03/2006, 12h44
  5. Mesurer le temps de réaction.
    Par Kaz dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 29/12/2004, 23h24
Découvrez nos comparatifs produits sur l'informatique et les technologies.