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

Le protocole CAN....



  1. #1
    Nithael

    Le protocole CAN....


    ------

    Bonjour,

    J'implémente actuellement le bus CAN sur le PIC18f248 mais je connais quelques problèmes. Lors de l'envoi d'une donnée sur le bus, le bit TXREQ ne passe pas à 0 ce qui veut dire que le message n'a pas été envoyé (dommage... ). D'ailleurs je peux le voir grace au registre COMSTAT où j'ai eu plus de 255 erreurs de transmission. Savez vous comment je peux trouver d'ou vient cette erreur (par exemple s'il y a des erreurs "type" à savoir sur le CAN). J'ai lu bcp de sujets sur le net dont le système DOMOCAN de Bigonoff mais je n'ai malheureusement pas trouvé la réponse. Merci pour votre aide.

    Cordialement,
    Nithael

    -----

  2. Publicité
  3. #2
    umfred

    Re : Le protocole CAN....

    Déja une question d'ordre matériel, respectes-tu l'architecture CAN (can+ et can- relié aux deux extrémité du bus par des résistances d'une certaine valeur)? Utilises-tu des drivers CAN style MCP2551 (Microchip) pour t'interfacer sur ce bus?
    Concernant les erreurs, il devrait être possible d'en connaitre certaines (à voir dans la datasheet du PIC, dans le CAN module (rubrique CAN interrupts))

  4. #3
    Nithael

    Re : Le protocole CAN....

    Bonjour Umfred et merci pour ta réponse. J'utilise effectivement 2 résistances de 100 Ohms aux extrémités du bus et le driver de bus TJA1050 de Phillips. J'ai bien une tension de 2,5 V sur CANH et CANL (après le driver de bus) au repos (donc ca c'est bon).Je vais essayer de mettre des résistances de 120 Ohms à la place et réessayer. Je te tiens au courant

  5. #4
    Nithael

    Re : Le protocole CAN....

    Une chose aussi, je ne traite, pour l'instant, que l'envoi de données sur le bus... donc je n'ai pas activé les interruptions.
    Physique Murphienne: Tout corps plongé dans un liquide reçoit un coup de téléphone

  6. #5
    Nithael

    Re : Le protocole CAN....

    Bon, ca marche tjs pas J'essaie dans un premier temps d'envoyer une donnée sur le bus avec seulement 1 noeud (ie seulement mon micro) et du coup avec juste une résistance en série de 60 Ohms entre CANH et CANL. Je devrais pouvoir voir si le message a été envoyé sur le bus même si il n'y a pas d'autres modules en regardant si TXREQ est passé à 0 non?
    Physique Murphienne: Tout corps plongé dans un liquide reçoit un coup de téléphone

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

    Re : Le protocole CAN....

    bon apparemment on ne peut pas être "seul" (comme moi sur ce post ) sur le CAN. Il faut un récepteur pour envoyer un bit ACK. Cependant je n'arrive tjs pâs à envoyer des données. J'ai mon TXERRCNT qui ne fait qu'augmenter. EN même temps c'est normal car les niveaux entre CANH et CANL ne sont pas bons ( je joins la tension entre les 2 lignes entre CANL et CANH en fichier joint). La ddp devrait être égale à 2V si on envoie un 0 et 0V lorsque on envoie un 1... Ici on ne monte pas au dessus de 1V et, en plus, CANL est des fois supérieurs à CANL alors que je suis en High speed mode......... Quelqu'un qui a déjà implémenté le CAN peut il m'aider svp?

    Cordialement
    Images attachées Images attachées
    Physique Murphienne: Tout corps plongé dans un liquide reçoit un coup de téléphone

  9. Publicité
  10. #7
    Jack

    Re : Le protocole CAN....

    Désolé si te te sens un peu seul.

    Je dois m'y mettre d'ici peu. Tu arrives un peu trop tôt.

    Bon courage.

  11. #8
    Nithael

    Re : Le protocole CAN....

    Merci Jack en tout cas... je cherche toujours mais sans grand résultat
    Physique Murphienne: Tout corps plongé dans un liquide reçoit un coup de téléphone

  12. #9
    umfred

    Re : Le protocole CAN....

    Si tu zoomes sur les "grosses irrégularités" de ton signal (quand le signal est au dessus ou en dessous du signla moyen), tu devrais normalement y lire ta trame de données. Vérifies si il s'agit bien de la trame que tu veux envoyer. et essaie d'analyser les autres dépassements (il semble qu'il passe 3 trames successives qui sont répétées.

  13. #10
    Nithael

    Re : Le protocole CAN....

    ce qui me fait dire que ces "oscillations" ne peuvent être un message valide c'est que je n'ai pas soit 0 ou 2V aux bornes des 2 lignes et que le bit TXREQ dit que le message n'a pas été envoyé (n'est pas passé à 0....).
    Physique Murphienne: Tout corps plongé dans un liquide reçoit un coup de téléphone

  14. #11
    umfred

    Re : Le protocole CAN....

    Au fait, juste une question, comment fais-tu pour voir si TXREQ est à 0 ou à 1?
    Si tu utilise un debugger, il y a des risques que celui-ci pose problème pour la communication par un bus.
    Il vaut mieux recopier l'état du bit sur une sortie non utilisé du PIC.
    Note: sur la doc du driver CAN TJA1050, ils mettent, à chaque extrémité du bus, deux résistances de 60 ohms avec un condensateur de 47nF relié à la masse entre ces 2 résistances.

  15. #12
    Nithael

    Re : Le protocole CAN....

    Effectivement j'utilise le debugger pour vérifier l'état des registres du Pic pour voir l'état du bus. C'est vrai que c'est peut-être cela qui fait que le message n'est pas envoyé. Je vais rééssayer en allumant une led si le message a bien été transmis sans utilisation du débugger.

    En ce qui concerne la partie Hardware j'ai dans un premier temps mis les 2 resistances de 56 Ohms à chaque extrémité du bus. Mais j'ai lu que l'impédance entre CANH et CANL devait être de 60 Ohms (et j'avais environ 35 Ohms lorsque j'ai ajouté ces 2 résistances).
    Si je ne les mets pas j'ai bien 60 ohms entre CANH et CANL mais à ce moment la je ne respecte pas la plupart des schémas que l'on trouve sur le net... Qui croire?

    Merci Umfred pour ton aide
    Physique Murphienne: Tout corps plongé dans un liquide reçoit un coup de téléphone

  16. Publicité
  17. #13
    minouche

    Re : Le protocole CAN....

    salut
    je bosse pas encore sur le CAN mais en RS485, (a partir de RS232) deja lorsque tu mesure tes tensions c'est entre masse et CAN (+ /-) ?
    car cette trans fonctionne en differentiel (tu l'avais peut etre remarqué? donc il vaut mieux mesurer entre CAN+ et CAN- qui a ce moment la te donnera une tension correcte.
    de + je vois pas la base de temps que tu utilise sur ton oscillo (les leger pics à espace regulier corresondent à des commut. donc peut etre à ta transmission.
    maintenant pour les erreurs je pense comme umfred certainement le debuger qui ralenti le systeme.
    et encore utilise 2 PIC 1 en emission (un simple BP pour la commande) l'autre en reception avec les diff tests de fonctionnement (erreur recep, affichage valeur sur LCD ou leds)

    et eventuelement si tu pouvais regarder mon post CCS MPLAB car j'ai vu que tu utlises MPLAB 7 et j'ai justement un prob avec
    sinon bonne bidouille A+

  18. #14
    Nithael

    Re : Le protocole CAN....

    Une mauvaise synchro entre les 2 microcontrôleur du bus ( j'ai d'un côté un PIC18F et de l'autre un ST7 ... pas facile de les mettre d'accord ! ) peut être à l'origine du non fonctionnement du bus.

    Si d'autres souhaitent,comme moi, implémenter le CAN j'ai trouvé un document qui m'a l'air vraiment complet(et bien expliqué :

    http://sti.tice.ac-orleans-tours.fr/...18_bus_CAN.pdf

    Je vais tout lire et m'y remettre
    Physique Murphienne: Tout corps plongé dans un liquide reçoit un coup de téléphone

  19. #15
    Nithael

    Re : Le protocole CAN....

    Ben voila, le CAN s'est fait... CA MARCHE!!!!!!!!!!!!!!!!!!

    C'était bien du à une mauvaise synchro entre les 2 micro.
    Merci pour votre aide et pour ceux qui veulent l'implémenter n'hésitez pas à demander.

    A+
    Physique Murphienne: Tout corps plongé dans un liquide reçoit un coup de téléphone

  20. #16
    benachour18

    Re : Le protocole CAN....

    salut Nithael,
    J'ai un projet à faire concernant l'implémentation du protocole CAN sur pic 16F877.
    Est-ce que vous pouvez m'aider surtout vous avez comme même de l'experience par rapport à moi vous avez déja une idée sur les bus CAN.
    pour plus de contact:
    c'est mon mail :###################

    Je rappelle que les coordonnées publiques ne doivent pas apparaitre sur le forum

    Pour un contact privé, utiliser les mp

    Maintenant à quoi bon un forum si tout se passe en privé ?


    je vous remercie d'avance.

    cordialement
    benachour18
    Dernière modification par Jack ; 04/01/2009 à 10h06.

Discussions similaires

  1. recherche protocole
    Par geomely dans le forum Biologie
    Réponses: 1
    Dernier message: 12/04/2007, 10h45
  2. Protocole
    Par Hamster dans le forum Chimie
    Réponses: 1
    Dernier message: 06/12/2006, 19h30
  3. protocole Hart
    Par pascal56 dans le forum Électronique
    Réponses: 4
    Dernier message: 07/10/2006, 07h39
  4. Protocole
    Par Barbanath dans le forum Biologie
    Réponses: 0
    Dernier message: 09/05/2006, 20h05
Découvrez nos comparatifs produits sur l'informatique et les technologies.