[PIC]- Création Timer 50 ns
Répondre à la discussion
Affichage des résultats 1 à 20 sur 20

[PIC]- Création Timer 50 ns



  1. #1
    jorg1n

    [PIC]- Création Timer 50 ns


    ------

    Bonjour...
    je viens vers vous, car je me pose une question...
    si je veux créer un Timer de 50ns (création d'IT toutes les 50ns) avec mon PIC 18F, quel type de Quartz je dois utiliser?
    En théorie, pour 50ns, on tourne a 20MHz, Mais je pense qu'il serait préférable d'utiliser un quartz de 40 Mhz non?

    Merci d'avance
    Bonne fin de journée

    -----

  2. #2
    DAUDET78

    Re : [PIC]- Création Timer 50 ns

    Tu as trop fumé de moquette Jorg1n ! C'est quoi cette histoire d'interruption toutes les 50nS? Jamais ton processeur ne pourra faire ça !!!
    Tu veux faire quoi en fait ? C'est quoi le problème ?
    J'aime pas le Grec

  3. #3
    jorg1n

    Re : [PIC]- Création Timer 50 ns

    Tu veux faire quoi en fait ? C'est quoi le problème ?
    Et bien je souhaite générer un signal carré en sortie de période 50µs, a l'aide d'un compteur qui incrémenterai une variable toutes les 50 ns et dès que cette variable atteindrai 500, je changerai l'état d'un bit et ainsi de suite...

    Pourquoi mon PIC ne peut pas réaliser cela?? si je lui met un quartz de 40MHz??

    Merci d'avance

  4. #4
    invitea09d71c0

    Re : [PIC]- Création Timer 50 ns

    tu veux générer un signal carrer toute les 50µs pas de problème.
    je comprend pas pourquoi tu veux partir de 50 nanosec.

    40 Mhz / 4 = 10 Mhz (cycle d'horloge) soit 100 ns.

    il te faudrai un fréquence d'horloge de 20 Mhz. (soit 80 Mhz a l'entrée de ton pic... impossible avec un 18F)

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

    Re : [PIC]- Création Timer 50 ns

    Si je comprend bien, ton signal 20Mhz est externe? Et il te sert de référence temporel? Il me semble bien (à vérifier) qu'il y a une entrée externe de comptage qui va sur un timer. Donc ce timer fera une interruption tous les 25 µS. Pourquoi tu n'utilises pas l'horloge interne pour faire ton signal carré à 20 Khz ?
    J'aime pas le Grec

  7. #6
    invite74b5b8f7

    Re : [PIC]- Création Timer 50 ns

    Salut,
    Et bien je souhaite générer un signal carré en sortie de période 50µs, a l'aide d'un compteur qui incrémenterai une variable toutes les 50 ns et dès que cette variable atteindrai 500, je changerai l'état d'un bit et ainsi de suite...
    Pourquoi tu ne fais pas une IT toutes les 25us (avec un timer) et tu changes l´état de ton bit toutes les 25us, ca donne un signal carré de periode 50us!

    Mais d´un côté, pourquoi faire simple quand on peut faire compliqué?! (a moins que j´ai raté quelque chose ?)

  8. #7
    DAUDET78

    Re : [PIC]- Création Timer 50 ns

    Citation Envoyé par lil-vince Voir le message
    a moins que j´ai raté quelque chose ?
    Non , rien ..... sauf ma réponse #5
    J'aime pas le Grec

  9. #8
    jorg1n

    Re : [PIC]- Création Timer 50 ns

    Bonjour,

    bon je reviens sur mon histoire d'interruption toutes les 50 ns...
    j'ai vu qu'il y avait des PIC qui tournaient avec un Quartz de 64 Mhz, le 18F24K20 par exemple...
    Comment je peux savoir si cela pourrait convenir, en gros, comment je peut déterminer le temps minimum entre 2 interruptions (générer par le timer0 , qui peut fonctionner en 8 bits ou 16 bits) en fonction de la vitesse du quartz?
    Cela me permettra ensuite de voir la faisabilité de ce que je souhaite faire...
    Merci encore...

  10. #9
    marmotte

    Re : [PIC]- Création Timer 50 ns

    Citation Envoyé par jorg1n Voir le message
    Bonjour,

    bon je reviens sur mon histoire d'interruption toutes les 50 ns...
    j'ai vu qu'il y avait des PIC qui tournaient avec un Quartz de 64 Mhz, le 18F24K20 par exemple...
    Comment je peux savoir si cela pourrait convenir, en gros, comment je peut déterminer le temps minimum entre 2 interruptions (générer par le timer0 , qui peut fonctionner en 8 bits ou 16 bits) en fonction de la vitesse du quartz?
    Cela me permettra ensuite de voir la faisabilité de ce que je souhaite faire...
    Merci encore...
    Je crois que tu as serieusement besoin de lire la section Timer de la datasheet de ton 18F.

    Comment déterminer le temps minimum entre 2 ITs logicielles?

    Facile, c'est toi qui le parametre en initialisant la valeur de débordement de ton timer.

    Le timer incrémente son compteur d'événement une fois par cycle µ (Fosc/4). Pour avoir le mini, tu charges le compteur d'événements 8bits avec 0xFF ou ton 16bits avec 0xFFFF. Au cycle d'horloge suivant, ton compteur va déborder et créer une interruption (puisqu'il passe à 0x00).

    A cela il faut ajouter les cycles nécessaires pour sauvegarde du contexte, saut vers le vecteur d'interruption, saut vers la routine de traitement de l'IT, puis retour de la fonction de traitement d'IT, sortie de l'IT, récupération du contexte. Pour quantifier ces cycles, tout dépend de la taille de tes fonctions, des sauts a faire etc... Ca se mesure grace a l"outil MPSIM fournit dans MPLAB.


    Donc pour résumer:
    1 cycle pour débordement du timer
    X cycles pour traitement de l'interruption liée au débordement du timer

    Sachant que 1 Cycle dure 4/Fosc, Fosc etant la fréquence de l'oscillateur du µC (ATTENTION si la PLL est activée ou non).

    Mais comme les autres, tu pars sur une mauvaise piste, lit ta datasheet avant tout !
    If the world doesn't change today, what would it be tomorrow?

  11. #10
    freepicbasic

    Re : [PIC]- Création Timer 50 ns

    Les pic genre Pic16F84 peuvent accepter jusqu'a 50mhz (20ns) sur l'entrée int.
    Si l'on met en route le prescaler d'une valeur appropriée on peu faire une int tout les 50µs.
    Le 18F doit pouvoir le faire aussi , peut être même plus.

    On peut donc compter du 50Mhz mais pas faire d'interruptions a cette vitesse comme déjà dit.

    L'application modèle est le fréquencemètre;
    http://l.lefebvre.free.fr/freq/freq_01.html
    http://f6csx.free.fr/PROJETS/Fmetre/Fmetre.htm
    A+, pat

  12. #11
    jorg1n

    Re : [PIC]- Création Timer 50 ns

    Merci pour cette réponse ....
    en fait c'est le temps du cycle que je cherchais par rapport à la fréquence du quartz...
    je vais donc travailler la dessus...et voir si je me plante...

    Je vais réaliser un petit chronogramme que je posterai pour que vous compreniez ce que je souhaite faire...

    Merci encore

  13. #12
    jorg1n

    Re : [PIC]- Création Timer 50 ns

    Merci freepicbasic...je vais regarder tout ça

  14. #13
    jorg1n

    Re : [PIC]- Création Timer 50 ns

    Re-Bonjour,

    j'ai fais un petit chronogramme pour vous expliquez ce que je souhaite faire...
    le voici:
    http://img509.imageshack.us/img509/7941/principefv4.png
    Petite explication:
    - le signal DS, est un compteur qui va de 0 à 500
    - le signal C est une consigne, sa valeur peut varier.(il s'agira d'une tension en entrée sur le PIC -utilisation du convertisseur A/N)
    - Les signaux A1 et A2 ont une période de 50µs et sont en opposition de phase.(sortie du PIC)
    - Et pour terminer, les signaux A3 et A4 (sortie du PIC)sont eux aussi en opposition de phase, mais sont en retard par rapport aux signaux A1 et A2, et leur retard est fixé par la consigne

    En gros, je dois d'avoir réaliser mon compteur qui compte toutes les 50 ns ...mais est-ce possible...y a t'il un moyen de faire cela autrement??

    J'ai regardé le principe du fréquencemètre, mais je ne peu utiliser q'un microcontroleur...

    Merci encore pour votre aide
    A bientot...

  15. #14
    freepicbasic

    Re : [PIC]- Création Timer 50 ns

    on peut compter des impulsions de 50ns , mais pas générer un signal au pas de 50ns.
    Le pas le plus rapide sera a calculé , par la vitesse su processeur à 20mhz on a 200ns par instruction multiplié par le nombre d'instructions de l'int .
    Ce qui limite vraiment la marge manœuvre.
    A+, pat

  16. #15
    invitee0bbe70d

    Re : [PIC]- Création Timer 50 ns

    Bonsoir,

    Concernant les fréquences maximum qu'on peut entrer sur certains PIC18 (vérifier pour les PIC16), il est possible par exemple d'entrer des fréquences jusqu'à 50MHz sur les TIMER0 et TIMER1 (broches T13CKI et T0CKI) à condition d'utiliser un taux de prescaler minimum de 8.
    La formule de la fréquence max est :
    input period min = le plus grand de (Tcy+40) / N et 20ns
    Donc avec N=8, on a (Tcy+40)/8=(100+40)/8=17.5ns dans ce cas on a donc bien 20ns...sachant bien sur qu'avec un prescaler de 8 on aura donc une résolution de 160ns.
    Il existe aussi de nouveaux PIC18 à 64MHz : PIC18FxxKxx comme le PIC18F45K20 qui permettent j'imagine de générer des fréquences plus élevées que les PIC18 standards. Attention la série "K" fonctionne sous 3.6V max.

  17. #16
    jorg1n

    Re : [PIC]- Création Timer 50 ns

    Merci pour vos conseils..
    Pensez vous qu'il est possible de réaliser ce que je souhaite faire?? car j'ai l'impression que j'en demande un peu trop au PIC...
    Merci d'avance

  18. #17
    freepicbasic

    Re : [PIC]- Création Timer 50 ns

    Citation Envoyé par jorg1n Voir le message
    Merci pour vos conseils..
    Pensez vous qu'il est possible de réaliser ce que je souhaite faire?? car j'ai l'impression que j'en demande un peu trop au PIC...
    Merci d'avance
    tu parle de consigne , j'en déduit que le but est de faire un signal de commande de servo moteur, mais si le pas ;division en nombre d'unité de déplacement est trop petit, le pic ne sais pas faire.
    Il faut passer par de l'analogique.
    A+, pat

  19. #18
    jorg1n

    Re : [PIC]- Création Timer 50 ns

    Bonjour,

    je reviens vers vous car je souhaite réaliser mon petit projet, et je me demandais si cela n'était pas réalisable avec un PIC de série supérieure, comme par exemple un PIC 16 BIT (PIC24 ou dsPIC)??
    La programmation des ces petites bêtes est elle semblable au 18F??
    Merci encore

    Bonne journée

  20. #19
    freepicbasic

    Re : [PIC]- Création Timer 50 ns

    Citation Envoyé par jorg1n Voir le message
    Bonjour,

    je reviens vers vous car je souhaite réaliser mon petit projet, et je me demandais si cela n'était pas réalisable avec un PIC de série supérieure, comme par exemple un PIC 16 BIT (PIC24 ou dsPIC)??
    La programmation des ces petites bêtes est elle semblable au 18F??
    Merci encore

    Bonne journée
    la programmation est comparable mais pas identique ni full compatible.

    Quant a ton problème.
    Il faut calculer le temps qu'il faut au processeur pour faire la tâche la plus rapide .
    Temps du cycle (pour pic horloge/4) x nombre d'instructions , et cela pour un µC RISC.

    Pour synthétiser un tel signal il faudrait un processeur qui tourne à une fréquence supérieur au Ghz...
    (1ns * 4)/50ns = 12.5 instructions , vraiment peu et le µC ne ferait que ça , et un prog de seulement 12 instructions ne fait pas grand chose...

    Et je ne compte même pas les pas (unité de progression du signal synthétisé) qui multiplie la fréquence nécessaire.

    Sinon on considère le simple temps de réaction et confie la synthèse à un CI analogique externe, le pic ne faisant que de le piloter.
    A+, pat

  21. #20
    jorg1n

    Re : [PIC]- Création Timer 50 ns

    Je te remercie,

    de toute façon, le PIC réalisera seulement le compteur (toutes les 50ns voir 24 ns si possible) et une convertion A/N, et un tout petit peu de traitement..

    Je vais voir tout ça.
    Merci encore

Discussions similaires

  1. Timer PIC en mode compteur
    Par invite0106aa64 dans le forum Électronique
    Réponses: 4
    Dernier message: 06/11/2010, 06h01
  2. PIC et timer 1
    Par invite4da20f6d dans le forum Électronique
    Réponses: 1
    Dernier message: 06/08/2008, 14h33
  3. [PIC]- Création timer 400ms
    Par jorg1n dans le forum Électronique
    Réponses: 9
    Dernier message: 24/07/2008, 23h30
  4. timer à base de pic
    Par spirou38 dans le forum Électronique
    Réponses: 1
    Dernier message: 31/07/2007, 21h31
  5. timer dans un pic
    Par invite1a90427b dans le forum Électronique
    Réponses: 2
    Dernier message: 21/03/2007, 20h00
Découvrez nos comparatifs produits sur l'informatique et les technologies.