[18F2510] Crazy ICSP inside ...
Répondre à la discussion
Affichage des résultats 1 à 20 sur 20

[18F2510] Crazy ICSP inside ...



  1. #1
    Seb.26

    Question [18F2510] Crazy ICSP inside ...


    ------

    Hi world

    bon, décidément, j'ai pas de bol en ce moment avec mes PIC et l'ICSP ...

    Je suis sur un 18F2510, mais cette fois, j'ai dû utiliser les pin RB7 et RB6 pour connecter un LCD 4x20

    RB7 => LCD_Data_B7
    RB6 => LCD_Data_B6 (original, non ?! )

    Par contre, la pin Vpp (MCLR) est dédiée à l'ICSP (donc en l'air quand y'a pas d'ICSP), évidement, le MCLR est désactivé dans les config bits.

    Le schéma :
    Nom : Sch_ICSP.png
Affichages : 91
Taille : 45,5 Ko

    NB: j'avais prévu des Résistances de 10k au cas ou la prog par ICSP ne soit pas possible ... mais comme ça marche à condition que la carte soit alimentée, j'ai mis des straps ...

    J'ai aussi viré les résistances du contraste, ça marche nickel à la masse.

    Bon, maintenant, le problème, c'est que mon PIC ne tourne que si l'ICSP est branché ... ... ou alors ... ... si je touche une pin RB6 ou RB7 avec la sonde de l'oscillo !!!

    NB: j'ai une pin de debug qui bouge quand le PIC tourne ...

    Sans ICSP, si je plug l'alim, le LCD boot (2 lignes sur 4 affichées par défaut) ... ensuite si avec ma sonde, je viens toucher l'une ou l'autre des pin RB6 ou RB7, le PIC boot, fait l'init du LCD et affiche le classique "Hello world !".

    Si je mets le connecteur ICSP, le PIC tourne aussi ...

    Mes bits de config :

    Code:
       Address    Value   Field             Category                                  Setting                     
    
       300001      08   OSC     Oscillator                      INT RC-Port on RA6,Port on RA7                    
                        FCMEN   Fail-Safe Clock Monitor Enable  Disabled                                          
                        IESO    Internal External Switch Over ModeDisabled                                          
       300002      00   PUT     Power Up Timer                  Enabled                                           
                        BODEN   Brown Out Detect                Disabled in hardware, SBOREN disabled             
                        BODENV  Brown Out Voltage               4.5V                                              
       300003      1E   WDT     Watchdog Timer                  Disabled-Controlled by SWDTEN bit                 
                        WDTPS   Watchdog Postscaler             1:32768                                           
       300005      01   CCP2MUX CCP2 Mux                        RC1                                               
                        PBADEN  PortB A/D Enable                PORTB<4:0> configured as digital I/O on RESET     
                        LPT1OSC Low Power Timer1 Osc enable     Disabled                                          
                        MCLRE   Master Clear Enable             MCLR Disabled,RE3 Enabled                         
       300006      81   STVR    Stack Overflow Reset            Enabled                                           
                        LVP     Low Voltage Program             Disabled                                          
                        XINST   Extended Instruction Set Enable bitDisabled                                          
       300008      0F   CP_0    Code Protect 00800-01FFF        Disabled                                          
                        CP_1    Code Protect 02000-03FFF        Disabled                                          
                        CP_2    Code Protect 04000-05FFF        Disabled                                          
                        CP_3    Code Protect 06000-07FFF        Disabled                                          
       300009      C0   CPB     Code Protect Boot               Disabled                                          
       30000A      0F   WRT_0   Table Write Protect 00800-01FFF Disabled                                          
                        WRT_1   Table Write Protect 02000-03FFF Disabled                                          
                        WRT_2   Table Write Protect 04000-05FFF Disabled                                          
                        WRT_3   Table Write Protect 06000-07FFF Disabled                                          
       30000B      E0   WRTC    Config. Write Protect           Disabled                                          
                        WRTB    Table Write Protect Boot        Disabled                                          
       30000C      0F   EBTR_0  Table Read Protect 00800-01FFF  Disabled                                          
                        EBTR_1  Table Read Protect 02000-03FFF  Disabled                                          
                        EBTR_2  Table Read Protect 04000-05FFF  Disabled                                          
                        EBTR_3  Table Read Protect 06000-07FFF  Disabled                                          
       30000D      40   EBTRB   Table Read Protect Boot         Disabled
    C'est bizarre ce truc quand même ?!!!

    Ce qui me gène le plus, c'est que l'ICSP est censé être controlé par la pin Vpp ... aucunement par les signaux pin Clock ou Data !!!

    -----
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  2. #2
    Seb.26

    Re : [18F2510] Crazy ICSP inside ...

    PS: j'ai essayé de mettre le Vpp (MCLR) à la masse : idem ...

    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  3. #3
    invitef26bdcba

    Re : [18F2510] Crazy ICSP inside ...

    Salut,

    Essaye déjà avec la broche MCLR active...

    La dédier pour RE3 n'est pas toujours une bonne chose. Faut vraiment que l'alimentation soit soignée pour se passer de cette broche.

    David.

  4. #4
    invite219b5772

    Re : [18F2510] Crazy ICSP inside ...

    salut,
    jai deja eu ce probleme sur un circuit pour un sous-marin. Ton montage est sur plaquette blanche ou sur PCB??

    As-tu esssyer de brancher le PROGRAMMEUR sur le board mais de facon a avoir juste la masse de brancher.

    aussi je te conseil de mettre 1001 = Internal oscillator block, CLKO function on RA6, port function on RA7 et de ne rien mettre dans ton code ( void main(void) { while(0xdead); } ) et de verifier que le MCU 'roule' bien grace a un oscilloscope sur la pin RA6
    -Nik-

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

    Re : [18F2510] Crazy ICSP inside ...

    Ok, mon alim n'est pas super propre :

    Nom : Alim.png
Affichages : 80
Taille : 16,4 Ko

    J'ai 72mV d'oscillation en 50kHz ( la freq de découpage du TS2576 ) ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  7. #6
    invitef26bdcba

    Re : [18F2510] Crazy ICSP inside ...

    Je ne pense pas que le problème soit l'ondulation...

    Par contre, le temps de montée de l'alim peut poser problème vu que MCLR n'est pas utilisé pour le démarrage du µC.

    Tu n'as pas l'occasion de remettre en service MCLR afin de voir si le problème persiste?

    David.

  8. #7
    Seb.26

    Re : [18F2510] Crazy ICSP inside ...

    Citation Envoyé par DavidDB Voir le message
    Je ne pense pas que le problème soit l'ondulation...

    Par contre, le temps de montée de l'alim peut poser problème vu que MCLR n'est pas utilisé pour le démarrage du µC.

    Tu n'as pas l'occasion de remettre en service MCLR afin de voir si le problème persiste?

    David.
    J'ai essayé de mettre le MCLR sur le +5v "à la main" une fois la carte sous tension ... idem ... rien ne bouge ...

    J'ai aussi essayé de ne brancher qu'une pin de l'ICSP (Vpp, GND, Vdd, Dat et Clk) en mettant le connecteur ICSP à 90° sur le port ICSP ... idem ... rien ne bouge

    J'ai essayé de mettre un mini circuit MCLR avec une diode, une capa 0.1uF et d'cativer le MCLR ... idem ... rien ne bouge ...

    En fait mon PIC ne bouge que si l'ICSP est présent ou si je touche les pin RB6 et/ou RB7 ...

    Par exemple, si je relies RB7 au GND, le PIC boot, et affiche des trucs (bizarres vu que le bit est forcé à 0 ... mais ça a l'air "correct" ... ) ... idem avec le +5 (sauf que là, la séquence d'init du LCD est foireuse, donc ça affiche rien )
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  9. #8
    Seb.26

    Re : [18F2510] Crazy ICSP inside ...



    Je viens de virer la diode et capa du MCLR ... remettre le MCLR en disable ... et ça ... marche ...

    purée que j'aime pas quand les trucs tombent en marche ... mon PIC tourne sans l'ICSP (et sans que je touche à quoi que ce soit ... )

    Pourquoi j'ai dans l'idée que ça va pas durer ?! ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  10. #9
    Seb.26

    Re : [18F2510] Crazy ICSP inside ...

    ... non, en fait, maintenant, quand le branche l'ICSP pour flasher le PIC, je peux le retirer, le PIC continu de tourner, mais si je débranche l'alim de la carte, le PIC ne boot pas ...

    je vais tenter de jouer avec les tensions de boot du PIC ...

    [Edit] j'ai mis 4.2, et je suis à 4.5 ... le PIC ne boot pas ... je vais potasser la datasheet ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  11. #10
    ben1015

    Re : [18F2510] Crazy ICSP inside ...

    Je sais pas si cela peut t'aider mais avec le compilateur CCS, il faut lui dire que les entrées RB6 et RB7 ne sont pas que des pins de débogage.
    Il faut spécifier cette ligne, pour qu'il génère un code compatible.
    Code:
    #device ICD=TRUE
    A+

  12. #11
    RISC

    Re : [18F2510] Crazy ICSP inside ...

    Salut,

    Concernant RB6 et RB7 il faut impérativement mettre des résistances d'isolation pour garantir que l'ICSP ait un accès "non limité" pendant la programmation et aussi pendant le debug.
    Si tu utilises ces broches dans ton logiciel, tu ne pourras utiliser QUE le mode Programmer...

    Pour le BOR, tu semble l'avoir désactivé en hardware mais il est je pense aussi activable en software... Il faut donc vérifier le registre pour être sûr que tu ne l'aies pas activé.

    Je te recommande de faire un programme très simple qui fait clignoter une led pour stabiliser ton PB de démarrage et être sûr de ton hard.

    a+

  13. #12
    Seb.26

    Re : [18F2510] Crazy ICSP inside ...

    Citation Envoyé par RISC Voir le message
    Concernant RB6 et RB7 il faut impérativement mettre des résistances d'isolation pour garantir que l'ICSP ait un accès "non limité" pendant la programmation et aussi pendant le debug.
    Si tu utilises ces broches dans ton logiciel, tu ne pourras utiliser QUE le mode Programmer...
    Y'a un truc que je pige pas : les pin RB6/RB7 sont les clock/data de l'ISCP mais c'est le Vpp qui "active" l'ICSP ... non ?

    Hors, dans mon cas, je n'ai aucun souci avec la prog, tout est OK dans 100% des cas.

    Donc je me dit qu'un fois le Vpp supprimé, lICSP ne devrait plus être un problème ?! ...

    Je vais tenter de remettre mes 2 résistances de 10k, mais je comprends pas la logique !

    Citation Envoyé par RISC Voir le message
    Pour le BOR, tu semble l'avoir désactivé en hardware mais il est je pense aussi activable en software... Il faut donc vérifier le registre pour être sûr que tu ne l'aies pas activé.
    En mettant 00, c'est désactivé en hard et en soft normalement :

    bit 2-1 BOREN1:BOREN0: Brown-out Reset Enable bits(2)
    11 = Brown-out Reset enabled in hardware only (SBOREN is disabled)
    10 = Brown-out Reset enabled in hardware only and disabled in Sleep mode
    (SBOREN is disabled)
    01 = Brown-out Reset enabled and controlled by software (SBOREN is enabled)
    00 = Brown-out Reset disabled in hardware and software
    Est ce que tu crois que les ondulations sur mon alims peuvent provoquer un reset du pic ?

    Je vais essayer de couper le +Vcc de mon ICSP pour voir si c'est ça...
    ( de cette façon, je n'aurais plus le joli +5v qui vient de l'ICSP ... )
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  14. #13
    Seb.26

    Re : [18F2510] Crazy ICSP inside ...

    J'ai remis les 10k entre RB6/7 et le LCD : c'est pire ...

    ça marche plus même avec l'ICSP, je pense que le LCD ne voit plus les bits, 10k c'est trop ...

    je vais essayer de retirer les résistance pour laisser en l'air RB6 et RB7 pour voir si le PIC est OK comme ça ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  15. #14
    Seb.26

    Re : [18F2510] Crazy ICSP inside ...

    Bon je suis en train de lire la doc sur l'ICSP :
    http://ww1.microchip.com/downloads/e...doc/30277d.pdf

    je cite :

    Pins RB6 and RB7 are used by the PICmicro MCU for
    serial programming. RB6 is the clock line and RB7 is
    the data line. RB6 is driven by the programmer. RB7 is
    a bidirectional pin that is driven by the programmer
    when programming, and driven by the PICmicro MCU
    when verifying. These pins must be isolated from the
    rest of the application circuit so as not to affect the signals
    during programming.
    Donc si je comprends bien, isoler RB6 et RB7 est utile pour permettre la prog par ICSP ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  16. #15
    Seb.26

    Re : [18F2510] Crazy ICSP inside ...

    Je continue dans la 4ème dimension ...

    J'ai rajouté une capa X7R 100uF 50v en // de la capa de découplage du pic (après la diode) ... l'alim est maintenant lisse comme une peau de bébé !

    Par contre, le problème reste le même ... mais au moins, je sais que c'est pas les ondulations de l'alim ...

    Voici la tension au borne du PIC quand je branche l'alim :
    Nom : Alim.png
Affichages : 73
Taille : 17,5 Ko

    Est ce trop lent ?

    Comment je peux en faire un front bien net ?
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  17. #16
    invitef26bdcba

    Re : [18F2510] Crazy ICSP inside ...

    Salut,

    Un temps de montée de 15ms ne me semble pas trop long...

    Je reste persuadé que ton problème vient du fait que tu n'utilises pas la broche MCLR.

    j'ai déjà eut ce genre de mésaventure sur 12F en oscillateur interne et une alimentation via le secteur (utilisant condensateur X2 et Zener)...

    J'ai été obligé de remettre en service MCLR (avec une res de 4.7K à vdd) + BODEN + PWRTON

    Perso, j'activerais BODEN à une tension de +/- 4.00V et utiliserais MCLR en plus du Power ON.

    David.

  18. #17
    inviteea84cbe0

    Re : [18F2510] Crazy ICSP inside ...

    Je sais pas trop, je n'ai jamais utilisé de 18F2510 mais je n'utilise jamais la broche MCLR sur tous les 18F que j'utilise ( 18F1320, 18F2420 et 2520, 18F4585, 18F6627 et 18F8520 ) sans jamais avoir le moindre problème.

  19. #18
    Seb.26

    Re : [18F2510] Crazy ICSP inside ...

    Moi je veux bien tenter des trucs, mais pas n'importe quoi au pif car en faisant comme ça ça marchait chez X ou Y ... sinon, je vais finir par faire n'importe quoi ... c'est pas de la Hi-fi ...

    De plus comme WalkOver, je n'ai JAMAIS câblé le MCLR sur aucun de mes montages ... si l'option "MCLR DISABLED" ne marchait pas, ça se saurait, non ?

    En fait, je crois surtout que je vais dédier RB6 et RB7 à l'ICSP comme je faisais avant ...

    Moralité : sur un PIC, 2 pins ne servent à rien hormis à la prog ... ... mais qu'est ce que ça m'énerve de pas comprendre !!!
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  20. #19
    invitef26bdcba

    Re : [18F2510] Crazy ICSP inside ...

    Citation Envoyé par Seb.26 Voir le message
    Moi je veux bien tenter des trucs, mais pas n'importe quoi au pif car en faisant comme ça ça marchait chez X ou Y ... sinon, je vais finir par faire n'importe quoi ... c'est pas de la Hi-fi ...
    Je ne comprends pas ce que tu veux insinuer...

    Tu as des propositions réalistes pour dépanner le problème de démarrage de ton µC...
    Les trucs, sont faciles à comprendre : Il suffit de lire la signification du bit en question, cela ne prête pas à confusion (comme tu n'es plus un débutant, il n'est pas nécessaire de t'expliquer la signification des bits de config, le datasheet devrait te suffire)

    Citation Envoyé par Seb.26 Voir le message
    De plus comme WalkOver, je n'ai JAMAIS câblé le MCLR sur aucun de mes montages ... si l'option "MCLR DISABLED" ne marchait pas, ça se saurait, non ?
    Moi, c'est exactement le contraire, j'utilise toujours MCLR, car cela fiabilise le hardware. Ne pas l'utiliser c'est autoriser une tentative de démarrage sans savoir si la tension est bonne...

    Si cette broche n'était pas utile, cela fait bien longtemps qu'elle aurait été supprimée par Microchip.

    Cette broche n'est à désactiver que sur des projets non sensible...

    Maintenant, si le but de l'opération est d'économiser une broche, autant choisir une référence comportant plus d'I/O afin de pouvoir fiabiliser correctement le hardware

    Citation Envoyé par Seb.26 Voir le message
    En fait, je crois surtout que je vais dédier RB6 et RB7 à l'ICSP comme je faisais avant ...
    ton problème n'est pas là...

    David.

  21. #20
    Seb.26

    Re : [18F2510] Crazy ICSP inside ...

    Citation Envoyé par DavidDB Voir le message
    Je ne comprends pas ce que tu veux insinuer...
    Je veux rien insinuer () je dis juste que je veux bien tenter des choses, mais que si je commence à faire tout et n'importe quoi (et je ne veux pas dire par là que ce que tu dis est n'importe quoi !!!), je vais me perdre dans les méandres et même si je finis par trouver un truc qui marche, ça n'aura pas répondu à la question : pourquoi ?

    Et donc je risque de me retrouver encore avec le même problème et une solution qui cette fois ci ne marche pas ...

    Citation Envoyé par DavidDB Voir le message
    Moi, c'est exactement le contraire, j'utilise toujours MCLR, car cela fiabilise le hardware. Ne pas l'utiliser c'est autoriser une tentative de démarrage sans savoir si la tension est bonne...

    Si cette broche n'était pas utile, cela fait bien longtemps qu'elle aurait été supprimée par Microchip.
    J'ai déjà essayé de câbler le MCLR (post #7 ) mais ça n'a pas marché ...

    Je vais refaire le test avec l'esprit neuf d'un jour nouveau ... et pour être sur ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

Discussions similaires

  1. Problème PIC + ICSP
    Par Seb.26 dans le forum Électronique
    Réponses: 7
    Dernier message: 29/10/2010, 00h56
  2. programmateur icsp HELP
    Par inviteac13233f dans le forum Électronique
    Réponses: 14
    Dernier message: 23/02/2009, 11h58
  3. 16f877a Icsp
    Par invite2d9e7c03 dans le forum Électronique
    Réponses: 0
    Dernier message: 15/06/2008, 17h06
  4. crazy girl
    Par invite84eda12b dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 16/05/2007, 10h38
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...