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

Difficulté de communication entre deux PIC



  1. #1
    Zonda G25

    Difficulté de communication entre deux PIC


    ------

    Bonjour a tous, je rencontre actuellement des soucis avec deux PIC. L'idée est la suivante, Le PIC A envoie une pulse de 20 ms puis une trame au PIC B une interruption sur le PIC B est faite via la broche RB0. Si la pulse mesuré par le PIC B est bien de 20ms alors le PIC B va traité la suite des données.

    La trame complète comprends une pulse de départ de 20 ms, une adresse sur 8 bits, un premier ordre sur 8 bits et un second ordre non utilisé sur 8 bits.

    Le problème c'est que si tout est OK le PIC B doit créer un rapport cyclique sur le PORTA broche 0 et il ne le fait pas du tout.

    Explication de la photo : pendant la pulse de 20 ms on compte si il y a 4 pulse bleu c'est OK , si moins ou plus le traitement s'arrète la. La cinquième pulse bleu est ignoré.

    A partir de la sixième pulse bleue on recopie l'état du PORTB broche 0 a chaque pulse et on les range dans un tableau nommé : tableau_reception

    Une fois le traitement terminer la fonction triage_trame() s'occupe de comparer les 3 parties du tableau_reception avec les tableaux : tableau_adresse, tableau_ordre1 et tableau_ordre2. A chaque fois que une des cases du tableau et égale on incrémente les variables :adresse_reception, code_reception1 et code_reception2.

    Une fois le traitement terminer il ne reste plus qu'a comparer les variables adresse_reception, code_reception1 et code_reception2 pour activer ou non la suite du programme. Sauf que rien ne fonctionne. Le programme n'active pas le port A0 ou le port A1 (selon la trame envoyé). Les PIC sont des 16F1827.
    Pour le moment la liaison entre les pic et un fil.

    Des idées?

    cordialement

    -----
    Images attachées Images attachées
    Fichiers attachés Fichiers attachés
    Dernière modification par Zonda G25 ; 22/04/2015 à 20h58.

  2. Publicité
  3. #2
    spartan3

    Re : Difficulté de communication entre deux PIC

    Bonsoir, je n'ai pas tout compris et tes pièces jointes ne sont pas valides.

    Je me pose une question, tu parle de faire communiquer deux microcontrôleurs entre eux et tu ne parle pas de liaison série? essaye tu de la faire pas toi même? Peut tu nous donner plus de détails? Merci

  4. #3
    spartan3

    Re : Difficulté de communication entre deux PIC

    Correction, tes pièces jointes fonctionnent.
    La meilleur façon de faire communiquer des PIC entre eux est d'utiliser une liaison série, dans ton cas, ce que tu a fait ce rapproche du SPI. Quand tu envoi des signaux comme ceux-ci sur des entrées sorties de ton µC, il n'a pas toujours le temps de traiter toutes les informations, je pense que c'est de là que viennent tes problèmes.
    Alors que si tu utilise une liaison SPI, les données envoyées sont stockées dans des buffres que tu viens ensuite lire, et tout est beaucoup plus simple.

  5. #4
    antek

    Re : Difficulté de communication entre deux PIC

    Quel est ton PIC ? Je ne vois pas de déclaration dans ton programme.
    Possède-t-il un UART ?
    S'il n'y a que deux µC tu peux aussi faire une liaison parallele s'il a un module PSP.
    Dernière modification par antek ; 23/04/2015 à 09h14.

  6. #5
    Zonda G25

    Re : Difficulté de communication entre deux PIC

    Bonsoir et désolé du retard, le problème a été résolue, en vérité il y avait un décalage entre la trame de decodage et les données a recevoir donc en fait il decode n'importe quoi. De plus il y avait une erreur dans la fonction de décodage

    Le problème c'est que je souhaite commander des objets a distances sans renvoyer d'information (un peu dans le style d'ouverture de portail) donc pas de laisons filaire possible.

    Par contre l'idée d'utiliser un USART sera possible dans de futurs projets.

    Si vous voulez des détails sur le fonctionnement, voici le principe :

    Le premier PIC envoie ses données sur la broche RB0 de second PIC, sur cette broche on peut provoquer une interruption sur front montant. Le programme principale s’arrête et il passe dans l'interruption.

    Le PIC qui reçoit les infos vérifie qu'il y a d'abord une pulse de 20 ms (signale pour dire "Attention des infos arrive réveil toi"). Si la pulse dure moins ou plus de 20 ms c'est une erreur donc le PIC se rendort.

    Si la pulse dure 20 ms (avec une tolérance) on poursuit le traitement. Toutes les données sont stockées dans un tableau. Ce tableau est ensuite comparé a des tableaux de références. Si tout est OK les sorties du pic activent des relais.

    Si vous avez d'autres questions.

    cordialement

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

    Re : Difficulté de communication entre deux PIC

    Par contre j'aurais besoin de vos suggestions par rapport a un autre projet. Imaginons que je veuille relier plein de PIC vers un seul. Par exemple un PIC centrale qui communique avec d'autres PIC périphériques. Ce PIC centrale peut envoyer et recevoir des infos et il en va de même pour les PIC périphériques.

    A votre avis quelle est la meilleurs liaisons entre tous ces composants?

  9. Publicité
  10. #7
    antek

    Re : Difficulté de communication entre deux PIC

    C'est fonction du PIC utilisé, des débits souhaités, des distances, etc
    UART, I2C, SPI, etc. C'est pas les moyens qui manquent !

  11. #8
    spartan3

    Re : Difficulté de communication entre deux PIC

    En général, quand il y a 1 maitre et plusieurs esclaves j'utilise du SPI, en plus niveau débit tu n'aura aucun problème

  12. #9
    RISC

    Re : Difficulté de communication entre deux PIC

    Salut,

    Le type de bus à utiliser dépend de 2 critères importants :
    1/ Le débit
    2/ la distance entre les PICs

    S'ils sont sur la même carte, le plus simple c'est l'I2C
    S'ils sont sur des cartes différentes, envisage le RS485 (UART) ou le CAN

    a+
    Ma marotte ? les microcontrôleurs ;=)

  13. #10
    Zonda G25

    Re : Difficulté de communication entre deux PIC

    Je vous remercie pour vos informations, je pense dans ce cas faire appel au I2C vu que tout sera sur la meme carte

    cordialement

Discussions similaires

  1. communication entre deux Xbee
    Par yass47 dans le forum Électronique
    Réponses: 0
    Dernier message: 06/06/2014, 16h50
  2. communication série entre deux pic
    Par boch19 dans le forum Électronique
    Réponses: 1
    Dernier message: 25/05/2014, 13h21
  3. Communication entre deux nRF24l01+
    Par blacksword dans le forum Électronique
    Réponses: 1
    Dernier message: 21/10/2011, 06h49
  4. communication i2c entre deux pics
    Par frednico56 dans le forum Électronique
    Réponses: 2
    Dernier message: 02/11/2007, 22h56
  5. communication entre deux radios
    Par gifelix dans le forum Électronique
    Réponses: 1
    Dernier message: 25/07/2007, 15h57
Découvrez nos comparatifs produits sur l'informatique et les technologies.