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

Osccal effacé sur un Pic 16F676



  1. #1
    renardhino

    Osccal effacé sur un Pic 16F676


    ------

    Bonsoir,

    Je viens de finir un clone programmateur de PIC et en pleine confiance, je me suis amusé avec les boutons du programme PiC Kit v2.60 .

    Et j'ai fait des bétises

    J'avais acheté qq pics, dont un vieux 16F628 et qq 16F676 .

    En fait je me suis emmêlé les pinceaux et ai téléchargé un fichier .hex prévu pour le 628 vers les 16F676 .

    J'utilise le programme Pic Kit 2 v2.60 .

    Après qq reset, pour vérifier que la fonction reset du clone fonctionnait, je me retrouve avec des valeurs invalides pour OSCCAL:

    Voici le message : "Invalid OSCCAL Value Detected:
    To Abort , click Cancel
    To Continue, click 'OK' "

    Je clique sur OK ,

    La programmation se fait mais la valeur de OSCCAL reste à 3FFF

    Je n'arrive pas à reprogrammer cette variable par le programme Pic Kit 2 v2.60 par le menu Tools -> OSCCAL -> Set Manually
    ou par Tools -> OSCCAL -> Autoregenerate .

    Après la tentative de modif, la variable reste néanmoins à la valeur 3FFF .

    Est-ce possible d'initialiser cette variable avec une valeur correcte ?

    Une autre question, est-ce que le PIC peut marcher avec une valeur de OSCCAL incorrecte ?

    Merci pour votre aide ,

    Cédric

    -----

  2. Publicité
  3. #2
    satmicro1

    Re : Osccal effacé sur un Pic 16F676

    Bonjour,

    Selon Microchip, la valeur de OSCCAL est déterminée en fabrication et est destinée à ajuster finement la fréquence de l'oscillateur interne.

    Donc :
    1- Ce n'est pas grave.
    2- En utilisant un quartz, on n'utilise de toute façon pas cette valeur.

    Cordialement

  4. #3
    renardhino

    Re : Osccal effacé sur un Pic 16F676

    C'est ce que je pensais,

    merci pour la confirmation,

    Bye

  5. #4
    renardhino

    Re : Osccal effacé sur un Pic 16F676

    Je ne sais pas ce qui se passe c'est la 2ème fois que le message que je poste n'apparait pas . Le site est buggé ??

    J'aimerais savoir s'il y a moyen de ratrapper le coup et de programmer de nouveau OSCCAL à une valeur correcte .
    Merci pour votre aide

  6. #5
    gedonet

    Re : Osccal effacé sur un Pic 16F676

    Bonjour
    Je suis dans le même cas que toi, j'ai effacé la valeur pour OSCCAL d'un 16F676, encore que j'avais noté cette valeur sur un papier, mais evidement j'ai trop bien "rangé" ce papier.
    Je vais donc realiser le programme utile pour le 16F676, ce sera une adaptation de la note AN250 et du programme source. Les outils utiles sont un generateur de signal carré à 5kHz (gbf, voir un autre pic) on peut aussi utiliser pour la verif un frequencemetre ou un oscillo pour controler le 5kHz produit par le pic une fois corrigé.
    Donc si tu n'est pas trop pressé, tu peux attendre cette semaine ou la prochaine et je te passerai mon programme et mes remarques, ou modifier toi même le programme.
    Si cela t'interesse, j'ai ecrit un fichier maquette pour le 16F676 comme ceux de Bigonoff car ce petit pic est un peut different des autres 16F et il y a plein de petites astuces à bien contrôler et que j'indique dans mon fichier maquette.
    Gilles

  7. A voir en vidéo sur Futura
  8. #6
    gedonet

    Re : Osccal effacé sur un Pic 16F676

    Citation Envoyé par gedonet Voir le message
    Bonjour
    Je suis dans le même cas que toi, j'ai effacé la valeur pour OSCCAL d'un 16F676, encore que j'avais noté cette valeur sur un papier, mais evidement j'ai trop bien "rangé" ce papier.
    Je vais donc realiser le programme utile pour le 16F676, ce sera une adaptation de la note AN250 et du programme source. Les outils utiles sont un generateur de signal carré à 5kHz (gbf, voir un autre pic) on peut aussi utiliser pour la verif un frequencemetre ou un oscillo pour controler le 5kHz produit par le pic une fois corrigé.
    Donc si tu n'est pas trop pressé, tu peux attendre cette semaine ou la prochaine et je te passerai mon programme et mes remarques, ou modifier toi même le programme.
    Si cela t'interesse, j'ai ecrit un fichier maquette pour le 16F676 comme ceux de Bigonoff car ce petit pic est un peut different des autres 16F et il y a plein de petites astuces à bien contrôler et que j'indique dans mon fichier maquette.
    Gilles
    J'avais oublié le fichier maquette. Si tu l'utilises et que tu y trouves de erreurs signale le moi, ce fichier est tout neuf il peut encore y avoir des oublies.
    Gilles
    Fichiers attachés Fichiers attachés

  9. Publicité
  10. #7
    renardhino

    Re : Osccal effacé sur un Pic 16F676

    Merci pour ton aide,
    Je vais jeter un oeil à tout ça, mais ce sera l'oeil d'un débutant en PIC .

    Par contre c'est vrai que je cherchais plutôt un moyen simple d'initialiser dans un programme cette variable.

    Merci pour ton aide et on reste en contact,

    Ciao, ciao

    Si par ailleurs qqn d'autre sait en 2 ou 3 lignes comment s'initialise cette variable, je suis preneur ...

  11. #8
    gedonet

    Re : Osccal effacé sur un Pic 16F676

    Bonjour
    J'ai fait le programme hier, je ne l'ai pas encore testé sur le pic, je n'ai pas de GBF et frequencemetre chez moi, mais cela semble fonctionner sur Isis.
    En piece jointe le fichier source et un petit schema de branchement.
    Gilles
    Images attachées Images attachées
    Fichiers attachés Fichiers attachés

  12. #9
    gedonet

    Re : Osccal effacé sur un Pic 16F676

    Citation Envoyé par renardhino Voir le message
    Si par ailleurs qqn d'autre sait en 2 ou 3 lignes comment s'initialise cette variable, je suis preneur ...
    Pour l'explication, je te fais un copier coller de l'explication fournit par un connaisseur:
    le mot de calibration de l'horloge est à l'adresse 0x3ff sur ce PIC : il s'agit d'une instruction MOVLW qui place dans le registre W une valeur de calibration d'horloge interne, déterminée lors de la fabrication du PIC.

    lors du reset le PC n'est pas branché sur 0x000 mais sur 0x3ff : la première instruction effectuée place donc dans le registre W la valeur de calibration d'horloge, puis le PC est incrémenté et retourne à 0x000 qui est le vrai vecteur de reset utilisateur.
    il faut donc considérer lors du démarrage du PIC que W est chargé avec la valeur de calibration d'horloge, c'est ensuite au programmeur d'effectuer le branchement vers son programme principal depuis ce vecteur de reset, et de placer W dans le registre OSCCAL si il le souhaite, c'est à dire lorsque l'horloge interne est sélectionnée et que l'on a besoin de la meilleure précision.

    l'adresse 0x3ff n'est pas protégée en écriture, ce qui signifie que si le programmateur ne prend pas en charge correctement ce PIC, une opération d'effacement ou d'écriture va perdre la valeur de configuration et il sera alors impossible d'avoir la meilleure précision de l'horloge à moins de tester 256 valeurs, ou pire, le programmateur peut placer une instruction qui va empécher le reset normal du PIC.
    un programmateur correct ne doit pas effacer cette adresse mémoire, ou tout au moins lire la valeur de cette adresse et la replacer après une opération d'effacement/d'écriture.

    en cas de doute il faut lire le PIC et s'assurer que l'adresse 0x3ff contient bien une instruction MOVLW.
    si ce n'est pas le cas, il faut y placer une instruction MOVLW .128 par exemple, pour au moins palier à tout problème lors du reset. pour une meilleure précision il faut placer le mot d'un PIC de la même série de fabrication.

    si ça ne supprime pas le message de l'ICD, il faut également vérifier que les bits de configuration du PIC sont cohérents.
    A+,
    Bruno
    Gilles

  13. #10
    renardhino

    Re : Osccal effacé sur un Pic 16F676

    J'ai un fréquence-mètre mais pas de GBF, mais un NE555 devrait faire l'affaire .
    Faut le monter de manière à avoir un rapport cyclique de 50 % .
    C'est vrai que le montage a l'air simple .
    Je sens que je vais me laisser tenter
    Je vais m'y mettre, peut-être ce soir ...

  14. #11
    gedonet

    Re : Osccal effacé sur un Pic 16F676

    Salut
    Tiens moi au courant pour les resultats. Il y a quand même une interrogation qui reste d'apres ce que j'ai compris, la valeur pour OSCCAL est enregistrée dans l'EEprom, pour une utilisation normal, il te faudra aller l'ecrire à l'adresse 0x3FFF de la memoire flash, la derniere case, ou l'inclure dans ton programme à chaque fois.
    Je vais ecrire peut être ce soir un programme pour sortir du 5 kHz avec un 16F877A.
    Un petit detail, sur le schema, le BP test est un bouton normalement ouvert, ce n'est pas tres clair sur mon dessin.
    Gilles

  15. #12
    renardhino

    Re : Osccal effacé sur un Pic 16F676

    Justement avant que je rentre dans le code,
    que fais ce montage ?
    Il récupère une valeur convenable pour OSCCAL et la programme à l'adresse 0x3FF du programme ?
    Merci pour votre aide,
    Cédric

  16. Publicité
  17. #13
    gedonet

    Re : Osccal effacé sur un Pic 16F676

    Bonjour
    Lorsque l'on appuie sur le bouton "calibrate", le pic attend un front montant du signal 5kHz dés ce front, TMR0 est mis à zero et au front montant suivant (200ms) le programme lit la valeur de TMR0 ensuite le pic compare cette valeur avec la valeur théorique que doit donner un pic parfaitement reglé à 4MHz si la valeur est mauvaise OSCCAL est corrigé en consequence et sauvé en EEprom.

    Je te passe en piece jointe un programme qui genere un signal à 5kHz avec un pic 16F877A et un quartz à 4MHz.
    La pin de sortie est dans mon cas RA2, mais il suffit de changer le #define de signal pour en utiliser une autre, la mise en sortie est gerer par mon programme.
    On peut tres bien l'adapter sur un autre pic.
    Gilles
    Fichiers attachés Fichiers attachés

  18. #14
    renardhino

    Re : Osccal effacé sur un Pic 16F676

    Bon et bien impeccable
    J'ai compilé le fichier hier sans accroc .
    Je ferai le montage ce soir ou dans les jours, dès que j'ai un peu de temps.
    Je te tiens au courant dès que j'ai fait le test .

    A bientôt,
    Cédric

  19. #15
    renardhino

    Re : Osccal effacé sur un Pic 16F676

    Bonsoir,
    J'ai finalement réalisé le montage, enfin je pense .
    J'ai branché l'alimentation et la masse du Pic16F676 et le signal de 5 kHz
    avec un rapport de forme de 50 % sur la branche 13 .
    J'ai pas trop compris à quoi servait le bouton test , et j'ai donc relié par un fil la broche 12 à la masse .
    Voilà, bon j'ai appuyé une fois sur calibrate et poireauté, et bien il se passe rien . J'ai aucune oscillation sur la broche 2 .
    La diode D1 reste allumée .

    Ca marche chez vous ?

    Autrement j'avais vu cette note d'application sur le site de microchip,
    note que je retrouve plus . Vous avez le lien vers cette note ?

  20. #16
    gedonet

    Re : Osccal effacé sur un Pic 16F676

    Bonjour
    Je n'ai pas encore testé.
    Le lien pour la note d'application: http://ww1.microchip.com/downloads/e...tes/00250a.pdf
    Si tu appuies sur le BP calibrate, il ne se passe rien en externe, juste la led qui s'allume, le pic ecrit une valeur, deduite de la difference entre valeur reel et valeur theorique, en EEprom. Pour avoir un signal sur 2 il faut appuyer sur le BP test.
    Il faut que je fasse le test aussi avec un 12F675 dont je connais la valeur d'OSCCAL, il ne me rest plus qu'à trouver un peut de temps.
    Gilles

  21. #17
    renardhino

    Re : Osccal effacé sur un Pic 16F676

    Bonjour,
    La mauvaise surprise, c'est qu'il y a pas moyen de débugger un pic16F676 juste avec le PicKit2, il faut en plus deux circuits : AC162052 ICD header et
    AC164110 qui ne sont pas donnés
    A moins que ça ne marche chez vous y a plus qu'à utiliser un simulateur .
    Je vais essayer de voir la note d'application ...
    A bientôt,
    Cédric

  22. #18
    gedonet

    Re : Osccal effacé sur un Pic 16F676

    Bonjour
    J'ai un ICD2 (un clone), et on ne peut pas non plus debugger un 16F676, parceque ce pic n'est pas prevu pour et un header ne te sera pas d'une grand aide dans ce cas precis car le pic qui serait dans le header, pour se substituer au 16F676, ne possede pas de registre OSCCAL .
    Gilles

  23. Publicité
  24. #19
    renardhino

    Re : Osccal effacé sur un Pic 16F676

    Bonsoir,
    Si c'est possible de debugger un 16F676, regarde ça

    Bon mais j'ai pas envie de lâcher 50 euros, déjà que j'ai fini par faire un
    clone de pic Kit 2 pour pas payer les frais de ports depuis les états-unis ...

    Si tu arrives à faire fonctionner le programme, merci de me tenir au courant .

    Ciao,

    Cédric

Discussions similaires

  1. Graticule d'oscilloscope effacé
    Par mortaurat dans le forum Électronique
    Réponses: 14
    Dernier message: 02/01/2009, 12h18
  2. erreur 0X00 programmation PIC plus questions sur les PIC
    Par ROTT dans le forum Électronique
    Réponses: 4
    Dernier message: 22/07/2007, 14h36
  3. CD-RW effacé sans raison
    Par marcmassa dans le forum Matériel - Hardware
    Réponses: 4
    Dernier message: 19/11/2006, 09h50
Découvrez nos comparatifs produits sur l'informatique et les technologies.