horloge interne du 16F628
Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

horloge interne du 16F628



  1. #1
    freesbeep

    horloge interne du 16F628


    ------

    Salut a tous

    Voilà je me pose une question a propos de la valeur de l'horloge interne du 16F628. J'ai vu a plusieurs reprises sur internet que avant la première programmation du PIC, il faut lancer une lecture et noter la valeur de la dernière adresse pour ensuite l’écrire manuellement après avoir téléchargé le code .Hex

    Mais est ce que ceci est valable même si j'utilise une horloge externe (quartz par exemple) ?

    Car j'ai reproduis un montage a base de 16F628 avec le fichier .hex normalement fonctionnel) mais le pic n'as pas fonctionné, il y a un Qz de 20Mhz et j'ai lancé la programmation du PIC vierge directement sans noter aucune valeur. ça expliquerait peut être pourquoi le PIC ne fonctionne pas.

    -----

  2. #2
    paulfjujo

    Re : horloge interne du 16F628

    bonsoir,


    Avec quel outil programme tu le PIC

    Pickit2 ou 3 ?

    le Hex est t_il construit à partir de MPLAB ASM ?

    J'avais remarqué qu'avec MPLAB C18 ( je sais pas de rapport avec 16F ! )
    il fallait faire au moins 1 fois un export du Hex
    pour que les bits de config soit fondu dans le PIC ..
    ce qui donne une taille impressionnant du Hex 183Ko pour un 18F
    au lieu de quelques Ko ensuite.

    Les bits de config ne sont peut etre pas dans Ton Hex , ou ne correspondent pas à ta propre config.

  3. #3
    freesbeep

    Re : horloge interne du 16F628

    Je ne sais te répondre pour le fichier .hex puisque je l'ai téléchargé depuis un iste sur le net.
    Pour le programmateur j'utilise simplement le port série de mon ordi avec quelques résistances entre Rx et Tx Et les Pin MCLR, PGC et PGD. Un truc de ce genre
    https://ualgelab.files.wordpress.com...squematico.png

    J'ai déjà programmé avec succé un dsPIC et un pic 12F avec cette methode et ça marche très bien. (pour le 12F j'ai relevé la dernière adresse au tout début).

  4. #4
    gedonet

    Re : horloge interne du 16F628

    Bonjour

    Je pense que tu fais allusion au registre OSCCAL. Pour le 16F628, le problème est vite réglé, ce registre n'existe pas dans le 16F628.
    Dans ce pic, la seule "bizarrerie" que l'on puisse noter sur l'oscillateur interne, c'est qu'il a une fréquence de 37KHz pour le 16F628 et 48KHz pour le 16F628A.

    Par contre le registre OSCCAL existe sur d'autres PIC, les 12F et certains 16F comme le 16F676 par exemple.
    Tous les logiciels de programmation digne de ce nom, savent récupérer la valeur calibrée en usine, et ecrite à la derniere adresse de la flash pour la transferer dans le registre OSCCAL.

    Ceci dit, même en effaçant cette valeur le programme fonctionnera, il aura juste de l'imprecision dans les timing, uniquement avec l'oscillateur interne, pour un oscillateur externe ce registre ne sert à rien.

    Si on veut retrouver la valeur d'ajustement, il existe une note qui explique comment recalibrer avec GBF.

    Gilles

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

    Re : horloge interne du 16F628

    Bonjour
    Donc en aucun cas ceci ne peux expliquer le non fonctionnement de mon PIC après programmation

  7. #6
    paulfjujo

    Re : horloge interne du 16F628

    Il faudrait retrouver les bits de config dans le HEX
    ci dessous un exemple de compilation 16F628 d'un programme compilé via MPLAB ASM
    On retrouve facilement les bits de config vers le milieu du fichier
    1ex Oscillateur quartz
    2ex oscillateur Interne

    s'il est configuré en LP ou XT , l'oscillateur pour Q=20Mhz risque de ne pas demarrer..il faut mode HS

    Code:
     avec compliation asm
     config bits in the code !
    	;__CONFIG _CP_OFF & _DATA_CP_OFF & _LVP_OFF & _BODEN_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON  &
    	;_EXTCLK_OSC &  _XT_OSC
      __CONFIG 0x3F21
    
    :020000040000FA
    :020000000029D5
    :08000800831203138B13CC00DB
    :10001000030ECB008B1C11280B1275258B104A1771
    :1000200019288B1A0B1D19284A174F0881008109BE
    ... etc ...
    
    :100D0000F524072521256025080021251B25D03045
    :100D1000A900F5241625AD012D08F5240725212568
    :100D2000D130A9001B252908F5240725E024162524
    :100D30003B08A000E02416253B08A100E02416256E
    :100D40003B08A200E02416253B08A300E02416255A
    :100D50003B08A400E02416253B08A500E024162546
    :100D60003B08A600E02416253B08A70007252125FF
    :040D700060250800F2
    :02400E00213F50                                                                             <=... 213F...   config bit 3F21
    :1042000044346134743461346C346F34673437341B
    :10421000203436344D3468347A34203441344434D4
    :104220003734383439343634003431343634463463
    :104230003634323438345F3431343134303431341C
    :1042400030343734003445346334723469344D3497
    :1042500065346D34203450346134673465343A3415
    :104260000034503461347534733465343A34003476
    :104270004C346534633474344D3465346D342034D7
    :1042800050346134673465343A34003443346F3425
    :104290006E34743469346E34753465343A340034B1
    :1042A0004D3441344A34203444345334313433347B
    :1042B000303437340D340A34413441344D344D34C4
    :1042C0004A344A3457345734483448344D344D34E2
    :1042D000533453340D340A34003449346E34743456
    :1042E000653472342E345334653463343D340034D1
    :1042F0003034323431343034483448344234003489
    :00000001FF


    Code:
    ************************
    
    reconpilation avec Oscillateur interne
    coché : Config bit in the code !
    __CONFIG 0x3F31   ;Oscill interne
    
    :020000040000FA
    ....... etc  ...
    :100D60003B08A600E02416253B08A70007252125FF
    :040D700060250800F2
    :02400E00313F40										<= 3F31   Config bits
    :1042000044346134743461346C346F34673437341B
    :10421000203436344D3468347A34203441344434D4
    ... etc
    ::00000001FF

  8. #7
    freesbeep

    Re : horloge interne du 16F628

    voici le fichier .hex de mon code, deco1.hex.txt

  9. #8
    paulfjujo

    Re : horloge interne du 16F628

    compilé avec quoi ?

  10. #9
    paulfjujo

    Re : horloge interne du 16F628

    sous MikroC
    la config bit apparait à l'avant derniere ligne du HEX



    MikroC
    16F628
    Q=20MHz
    CONFIG : $2007 : 0x3D6A

    en fond de fichier
    :100EA0000034FF3FFF3FFF3FFF3FF F3FFF3FFF3F5C
    :02400E006A3D09 <- 3D6A
    :00000001FF


    CONFIG : $2007 : 0x3D70
    en fond de fichier
    Oscillateur interne

    :100EA0004E34623450343D3420340 0344C343D34BC
    :100EB00020340034FF3FFF3FFF3FF F3FFF3FFF3F36
    :02400E00703D03 <-- 3D70
    :00000001FF

    ****************************** ***************

    deco1.hex.txt
    :100690008900AA308900881488184 C2B081183120D
    :0806A00008000014080808001E
    :10074000AC00E33E031CAC2BBF3E0 3183F342E3EEF
    :10075000031C3F34ED30AC0703308 A002C088207BD
    :10076000003401343F343F3402343 F340334043422
    :1007700005343F3406343F343F343 F343F343F3454
    :100780000734083409343F343F343 F343F343F3476
    :100790003F343F343F343F340A340 B340C340D348F
    :1007A0000E340F341034113412341 334143415341D
    :1007B00016341734183419341A343 F343F341B3488
    :1007C0001C341D341E341F3420342 134223423348D
    :1007D000243425342634273428342 9342A342B343D
    :1007E0002C342D342E342F3430343 13432343334ED
    :0607F000343435343634C8
    :00000001FF
    $3436 ???

    rien de parlant dans ton fichier.. c'est pas gagné!
    En esperant aussi qu'il ne soit pas corrompu.
    En config classique , sous MikroC, on devrait au moins retrouver le classique $3D MSB du mot de config
    a moins qu'il y ait des zones code protegees.

  11. #10
    freesbeep

    Re : horloge interne du 16F628

    J'ai du mal a comprendre certains termes, le code est prévus pour un décodeur DCC, pourtant l'auteur m'a confirmé que son code fonctionne bien.
    http://www.dcctrains.netne.net/Dcc%20Decoder_eng.html

  12. #11
    Biname

    Re : horloge interne du 16F628

    Hello,

    ???
    Sur le schéma du site, on ne voit pas de condensateur entre OSC2 et la masse. Voir le PDF du PIC16F628A. Sans ce condensateur, l'oscillateur ne démarrera jamais.
    https://www.google.be/search?biw=141...F628A%20quartz

    Biname

  13. #12
    freesbeep

    Re : horloge interne du 16F628

    Oui j'ai ajouté par la suite un 30pF a chaque sortie OSC

  14. #13
    Biname

    Re : horloge interne du 16F628

    Hello,

    Une très bonne idée, charger ton .Hex dans WinPic800 et demander à voir Fusibles.

    Voici les fusibles de ton .Hex
    Nom : FreePicCodeFusibles.jpg
Affichages : 155
Taille : 47,6 Ko

    Apparemment, les Fusibles ne sont pas bons ? LVP, ?RC_CLK_OUT ... A toi de chercher

    Yakade changer dans WinPic800 et de sauver (Fichier/Sauver Sous)

    Biname

  15. #14
    freesbeep

    Re : horloge interne du 16F628

    Et comment je peux savoir les bons fusibles ?
    je dois cohcer XT ?

  16. #15
    paulfjujo

    Re : horloge interne du 16F628

    bonjour,



    Bien Vu Biname !

    un bon outil ce WinPic800 pour visualiser un hex ou desassembler
    moi je cocherai plutot HS pour High Speed vu que Q=20Mhz !

  17. #16
    Biname

    Re : horloge interne du 16F628

    Hello,

    Oui pour HS et 20MHz (doc chapitrte 14 iirc).
    Le programmateur de Freesbeep doit être un HVP (High Voltage Programming JDM) donc il faudrait décocher LVP mais il me semble que HVP et MCLRE ne sont pas compatibles, RC_CLKOUT ???

    Mais pour être certain, il faudrait passer des heures à lire la doc.

    On trouve sur le net des tas de programmateurs LVP pour PIC dont de très simples utilisant le port //.
    Voir http://picpgm.picprojects.net/devices.html
    et http://www.franksteinberg.de/FT232-PIC-Programmer.htm

    Biname

Discussions similaires

  1. horloge interne
    Par da23real dans le forum Biologie
    Réponses: 0
    Dernier message: 15/01/2015, 12h40
  2. [Physiologie] Horloge interne
    Par LaureFuturaSciences dans le forum Biologie
    Réponses: 0
    Dernier message: 13/03/2014, 13h52
  3. Horloge biologique interne
    Par Galaxix dans le forum Psychologies (archives)
    Réponses: 3
    Dernier message: 30/07/2012, 19h13
  4. Horloge interne
    Par invite65ebd984 dans le forum Psychologies (archives)
    Réponses: 0
    Dernier message: 04/01/2009, 10h58
  5. PIC 16F628-20, horloge interne 4 ou 20 Mhz
    Par maho dans le forum Électronique
    Réponses: 2
    Dernier message: 22/01/2005, 19h01
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...