demande de conseils : ISCP Programming connecter à des pins SPI
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

demande de conseils : ISCP Programming connecter à des pins SPI



  1. #1
    invite761355a1

    demande de conseils : ISCP Programming connecter à des pins SPI


    ------

    Bonjour a tous,

    Avant tout chose j'ai bien compris il est nécessaire d'"isoler l'ISCP du circuit d'application.

    Voici mon problème: Je réalise actuellement le schéma d'un microcontrôleur qui sera par la suite piloter par un autre en liaison SPI. Le second microcontrôleur n'étant pas sur la même carte, je suis obliger d'utiliser des connecteurs.
    J'ai un connecteur pour l'ISCP avec pickit3 et un connecteur pour l'alimentation, et la communication SPI.

    Afin de gagner de la place (Et vu que le circuit ISCP ne devrait servir que une fois sur la carte finale (je croise les doigts XD))

    Je souhaiterai savoir si il est possible de relier les pins SPI au même entrées que celle dédiées a la programmation ISCP.
    Actuellement le connecteur pickit3 a: +VDD; CDDAT, CDCLK, GND et bien sur MCLR
    Le connecteur vers l'autre microcontrôleur (carte) a :+5V, SCK1, SDI1, SDO1 et SS1.

    Ce que j'aimerai faire c'est connecter les pins 2 des 4 pins (SCK1, SDI1, SDO1 et SS1.) aux pins CDDAT, et CDCLK
    par exemple connecter SCK1 avec CDDAT et SD0 avec CDCLK dans le but de limiter la taille du connecteur et réduire son nombre de broches.
    Est ce possible? ou suis je obligé de mettre une résistance entre les 2 pins (SCK1 avec CDDAT et SD0 avec CDCLK)
    Et si je mets une résistance cela ne va-t-il pas gêner la communication SPI par la suite?

    Je vous remercie

    -----

  2. #2
    RISC

    Re : demande de conseils : ISCP Programming connecter à des pins SPI

    Salut,

    Il y a plusieurs solutions à ta demande.
    Le principe de base est que en dehors de la programmation et du debug, les broches ICSP sont utilisables pour des fonctions classiques (PORTs, SPI ou autre).

    Solution 1/
    Tu utilises des jumpers qui déconnectent les broches ICSP et connectent les signaux

    Solution 2/
    Tu utilises un circuit "d'isolation" comme celui là : http://www.best-microcontroller-proj.../pic-icsp.html
    Il faut bien sûr bien vérifier que les résistances série ne perturbent pas les autres signaux et adapter leur valeur.

    Quel PIC veux tu utiliser ?
    Peux-tu montrer ton schéma ?

    a+

  3. #3
    invite761355a1

    Re : demande de conseils : ISCP Programming connecter à des pins SPI

    Bonjour,

    Merci pour cette réponse, j'ai effectivement penser a l'idée des jumpers. Mais j'aimerai éviter d'en avoir plusieurs a gérer. J'ai ai déjà un permettant de couper l'alimentation du reste des CIs dans le cas d'un programmation par ISCP.

    J'aimerai utiliser le pic16f1829 (j'ai appris a programmer l'assembleur dessus XD, et ca me semble une bonne base pour mon application)

    Ca m'aurait arranger que les pins dédiées au SPI soit les même que celle pour l'ISCP mais c'est pas le cas

    Ci joint le schéma des connectiques actuelles (je n'arrive pas a la charger autrement que en pièce jointe.

    D'autre part étant novice avec les micro-contrôleurs j'ai choisi de ne pas utiliser les même pins 2 fois (ISCPS et application).

    La question que je me pose c'est de savoir si les perte liées a la connexion entre les deux pins vont perturber la programmation du pic et si pendant les communications SPI cela ne va pas les gêner non plus.

    Cordialement,
    Images attachées Images attachées  

  4. #4
    RISC

    Re : demande de conseils : ISCP Programming connecter à des pins SPI

    Salut,

    Il y a une erreur sur ton connecteur ICSP, il ne faut connecter que 5 signaux (Vdd, Vss, MCLR, ICSPCLK et ICSPDAT).

    Je ne comprends pas ton problème....
    Les broches 18 et 19 (ICSPCLK et ICSPDAT) qui doivent pouvoir bouger librement pendant la programmation, ne sont reliées sur ton schéma a rien d'autre.

    Regarde le poster livré avec ton Pickit3 (le signal LVP n'est pas géré ni jamais connecté sur les connecteurs ICSP).

    Pourquoi programmes-tu en assembleur ???
    Le compilateur XC8 peut être utilisé en mode gratuit ;=)

    a+

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

    Re : demande de conseils : ISCP Programming connecter à des pins SPI

    Salut,

    Voici les connections que j'aimerai entre les pins du SPI et de l'ISCP (pièce jointe). Et je pense que c'est là que ca va poser des problèmes (j'imagine), d'où ma question de comment les isoler sans perturber la programmation et la liaison SPI par la suite. En évitant si possible de rajouter des jumpers.

    Concernant le 6eme connecteur, c'est vrai que tous ce que j'ai pu lire sur l'ISCP n'utilise que les 5 pins, mais en regardant le schéma donné avec ma carte d'évaluation. il y avait la 6eme pin connecter aussi. J'ai fait confiance au schéma de microchip. Mais si c'est vraiment inutile je la vire XD.

    Je le programme en assembler parce que c'est une petite application et aussi parce que j'ai toujours entendu dire que pour les programmes avec des contraintes de temps il vaut mieux se rapprocher du langage machine. Les compilateurs haut niveau peuvent " se perdre" dans la compilation entrainant des temps de cycle d'horloge perdu.
    Et une raison plus personnelle, j'ai eu des cours assembler ou je ne comprenais rien, donc c'est aussi un challenge

    Soit sur que pour des applications plus complexes je m'amuserai pas a ca XD, ou seulement des bouts.


    Merci
    Bonne soirée
    Images attachées Images attachées  

  7. #6
    RISC

    Re : demande de conseils : ISCP Programming connecter à des pins SPI

    Salut,
    Avec ton nouveau schéma ce que tu voudrais faire est plus clair.
    Est ce que ton objectif est de "partager" le connecteur ICSP entre le SPI et l'ICSP ?
    C'est une très mauvais idée car tu ne pourras jamais deboguer. Les broches ICSP bougent pendant le debug donc cela ferai un court-circuit avec le SPI1.

    Je ne comprends pas pourquoi tu sépares les broches du SPI1 entre les connecteurs J3 et J4

    Tu choisis un connecteur J4 à 6 broches et cela règle le problème. Si c'est la taille du connecteur qui t'ennuie, tu choisis un connecteur à 2 rangées ou un connecteur à une rangée au pas de 1.27mm.

    Concernant le choix entre le C et l'assembleur, ce que tu mentionnes n'est absolument pas fondé...au contraire, tu vas avoir beaucoup de problèmes en développant en assembleur que tu n'aurais pas en C. Si tu as des fortes contraintes de temps, il suffit de prendre un PIC plus rapide (PIC18 ou PIC24), mais je doutes que tu aies des contraintes au niveau de la microseconde...

    Dernier point : le bus SPI n'est pas fait pour utiliser des connecteurs et des nappes...c'est un bus de circuit imprimé. C'est tolérable seulement si ta nappe est très courte sans quoi tu vas aussi avoir des problèmes.
    Pourquoi ne montres-tu pas tout ton schéma (à moins que cela soit secret) ?
    Quelle application veux-tu réaliser ?
    As-tu déjà programmer des microcontroleurs ?
    quel outil de programmation et debug veux-tu utiliser ? Pickit3 ? ICD3 ?
    a+

  8. #7
    invite761355a1

    Re : demande de conseils : ISCP Programming connecter à des pins SPI

    Salut,

    Désolé pour cette réponse tardive. Mon objective est surtout de reduire la taille du connecteur, ou au moins d'eviter d'en avoir un qui ne servira qu'une fois ( si tout se passe bien). C'est pour cela que j'avais eu l'idée d'utiliser les ports de sorties du connecteur pour m'en servir dans l'application courante par la suite.
    J'ai bien compris que ce n'est pas une bonne idée et je vais plutot faire ce que tu proposes a savoir un connecteur 2 rangées.

    Concernat la vitesse de traitement entre un compilateur C et la programmation assemble. J'avais réaliser un TP dans mon école ou on regardait les cycles en C et en assembler. Je ne veux pas faire débats, ce n'est pas le sujet , mais je peux t'assurer que il y avait plus de cycles passés en C que en assembleur. Si cela t'interesse je pourrais retrouver le tp.

    Concerant les connecteurs SPI c'est pour une distance relativement courte (20 cm max). J'ai choisi ce protocole car plus rapide que l'I2C. Je ne montre pas le reste du schéma, car je ne pensais pas utile de le presenté ( rien de secret) tu sais peut etre deja ce que c'est avec le nom des labels . Si non pour repondre a ta question c'est la schématique d'un controleur brushless. Je peux te le montrer dans ca totalité si cela t'interesse.


    J'ai déja programmer un micro controleur mais c'était surtout des fonctions haut niveau.
    Pour l'intant je me suis achter un kit d'evaluation pour programmer chez moi, j'utilise pour ca le pickit3

    Merci pour ta réponse et bonne soirée
    A+

  9. #8
    RISC

    Re : demande de conseils : ISCP Programming connecter à des pins SPI

    Salut,

    Code:
     Mon objective est surtout de reduire la taille du connecteur, ou au moins d'eviter d'en avoir un qui ne servira qu'une fois ( si tout se passe bien).
    Je pense que tu sous-estimes énormément l'utilité du connecteur ICSP....Contrairement à ce que tu penses, tu vas l'utiliser des dizaines ou des centaines de fois...à moins d'être un génie en programmation ou d'avoir un programme très très simple...
    Le connecteur ICSP est indispensable pour déboguer...

    Pour revenir à l'utilisation de l'assembleur versus C, mes commentaires sont basés sur des centaines de projets microcontroleurs...
    Oublie ce que l'on t'a dit à l'école...ton commentaire est valide pour ce qui se passait il y a 20 ans...
    Aujourd'hui le temps de développement est un critère important et le choix des PICs est tellement vaste que cela ne vaut plus la peine de s'ennuyer avec l'assembleur ;=)
    Le nombre de cycles en plus du au C est la plus tard du temps sans importance.
    Profites du langage C. Le compilateur XC8 existe en version gratuite. Pas de raison de s'en priver ;=)

    Cela dit, pour piloter un moteur brushless il existe des PIC16 plus adéquats, avec des sorties PWM complémentaires.

    a+
    Dernière modification par RISC ; 29/09/2014 à 21h48.

  10. #9
    invite761355a1

    Re : demande de conseils : ISCP Programming connecter à des pins SPI

    Bonjour,

    Je te remercie pour tes réponses, et je vais les prendre en compte. Le pic 16f1829 suffit a mon application, je n'ai besoin que de 3 pwms. pour les mosfets highs avec l'enhanted mode je peux basculer une seul pwm sur plusieurs ports, il suffit alors de gérer les entrées/sorties du pic, et pour les lows j'utilise des port I/O simples. Avec des masques ca marche pas mal XD.

    Merci encore et bonne continuation

Discussions similaires

  1. PIC Kit 2 programming error
    Par inviteb46e2238 dans le forum Électronique
    Réponses: 10
    Dernier message: 12/01/2014, 15h02
  2. Demande d'aide pour connecter un enregistreur olympus sur PC
    Par invite0bc220e4 dans le forum Matériel - Hardware
    Réponses: 5
    Dernier message: 31/03/2013, 14h41
  3. Rajout 4 pins sur alim 20 pins
    Par invite6b85e2f1 dans le forum Électronique
    Réponses: 5
    Dernier message: 12/02/2008, 19h24
  4. Programming en physique
    Par invitee6605efb dans le forum Physique
    Réponses: 8
    Dernier message: 30/04/2007, 19h45
  5. Programmateur de pic 16F84-10A ISCP !
    Par invitef1f90160 dans le forum Électronique
    Réponses: 2
    Dernier message: 28/03/2006, 18h20
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...