[Numérique] Erreur de communication I2C
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Erreur de communication I2C



  1. #1
    Youni

    Erreur de communication I2C


    ------

    Bonjour,

    Je dispose d'un "Silabs Programming Module", lequel est utilisé pour programmer les différentes Target (tout nos appareils avec des microcontrolleur Silabs).
    Le problème est le suivant. Par moment, je parvient à programmer ma target et par moment non.

    Voici le schéma de cablage ci dessous.Nom : SPM.jpg
Affichages : 97
Taille : 541,4 Ko

    La frèquence horloge est de 1 MHz. La longueur de fils d'a peu près 15 cm.
    La Target est alimenté en 3.3V depuis le SPM (Silabs Programming Module) qui fournit la tension. Dans certaines configurations (orientation du board), je parvient à établir la communication et programmer ma cible.

    Est ce quelqu'un a déja eu un problème similaire ?
    Le signal d'horloge (mesurée) sur le target présente des oscillations avec un overshoot a 3.5V. Ce qui n'est pas si beau mais qui reste dans les tolérances. Et la longueur du cable reste tout a fait acceptable.
    Est ce que cela peut etre du au courant d'alim sur le 3.3V qui tire de grands spikes lorsque la programmtion est initiée ?--> problemes de CEM ?

    J'observes aussi un offeset sur la masse (mesuré sur le SPM et sur le Target), mais il n'y a que 60 mV.

    Si quelqu'un a deja fait l'experience de ce genre de problème et a une piste pour savoir ou chercher. Je suis preneur.
    C'est un problème très irritant

    Merci a vous pour tout renseignement

    younes

    -----

  2. #2
    DAUDET78

    Re : Erreur de communication I2C

    Sans voir encore ta P.J.
    Il y a des condensateurs de découplage sur le 3,3V ?
    Il y a des PullUps (3,3K) sur SDA et SCL ?
    Dernière modification par DAUDET78 ; 20/03/2016 à 16h05.
    J'aime pas le Grec

  3. #3
    Youni

    Re : Erreur de communication I2C

    Je n'ai pas le schéma avec moi ici. Sinon je l'aurais ajouté.
    Pour répondre à votre question :

    - Oui il y'a un condensateur de découplage mais uniquement du coté du SPM. De l'autre coté (coté target), il n'y en a pas.

    Jugez vous nécessaire d'en mettre des deux cotés ?

  4. #4
    Youni

    Re : Erreur de communication I2C

    Et oui oui bien sur il y'a des pull up coté programmeur de 47K.

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

    Re : Erreur de communication I2C

    Citation Envoyé par Youni Voir le message
    Et oui oui bien sur il y'a des pull up coté programmeur de 47K.
    Mets des 3,3K
    Citation Envoyé par Youni Voir le message
    De l'autre coté (coté target), il n'y en a pas.
    Jugez vous nécessaire d'en mettre des deux cotés ?
    Ben oui .... Au moins des 0,1µF
    J'aime pas le Grec

  7. #6
    invite03481543

    Re : Erreur de communication I2C

    1MHz? Vous pouvez baisser à 2.2K les pull-up.
    Quel idée de travailler à 1MHz avec de l'I2C.

  8. #7
    Youni

    Re : Erreur de communication I2C

    Citation Envoyé par DAUDET78 Voir le message
    Mets des 3,3K


    Merci. Pouvez vous précisez pourquoi ? Meme si ca semble d'une evidence pour vous.

    Ben oui .... Au moins des 0,1µF
    Pourquoi est ce necessaire d'en ajouter des deux cotés ?

  9. #8
    Youni

    Re : Erreur de communication I2C

    Citation Envoyé par HULK28 Voir le message
    1MHz? Vous pouvez baisser à 2.2K les pull-up.
    Quel idée de travailler à 1MHz avec de l'I2C.
    Pourquoi baisser à 2.2K ? Si je me souviens bien, la norme prévoit 4.7K.
    Quel est le probleme a travailler en 1MHz pour l'I2C ?
    J'avoue que ca ne me serait pas venu à l'idée mais pour 15cm de longueur de cable, on ne devait pas avoir de probleme

  10. #9
    invite03481543

    Re : Erreur de communication I2C

    Vous avez intérêt à travailler avec un bon oscilloscope, si vos timings sont hors spec ça ne fonctionnera pas.
    Je vous suggère de commencer à 100kHz puis de passer en mode I2C étendu, si c'est votre première fois bon courage, munissez vous d'une boite d'aspirine.
    L'I2C à 1MHz est une erreur de conception de mon point de vue, mieux vaut du SPI.

  11. #10
    Youni

    Re : Erreur de communication I2C

    Quel sont les problemes du a un travail en haute fréquence ?
    Et quel est l'intéret de diminuer les pull-ups ?

    Je vais essayer a 100 KHz.


    Merci a vous

  12. #11
    invite03481543

    Re : Erreur de communication I2C

    Citation Envoyé par Youni Voir le message
    Pourquoi est ce necessaire d'en ajouter des deux cotés ?
    C'est surtout que 47K à 1MHz ne fonctionnera jamais.
    Je vous conseille de découvrir comment fonctionne l'I2C.
    Plus vous montez haut en fréquence plus vous devez baisser les pull-up.

  13. #12
    invite03481543

    Re : Erreur de communication I2C

    Citation Envoyé par Youni Voir le message
    Pourquoi baisser à 2.2K ? Si je me souviens bien, la norme prévoit 4.7K.
    Quel est le probleme a travailler en 1MHz pour l'I2C ?
    J'avoue que ca ne me serait pas venu à l'idée mais pour 15cm de longueur de cable, on ne devait pas avoir de probleme
    La norme ne définit pas une résistance quelque soit la vitesse.
    Les pull-up dépendent de la capacité de ligne, donc du nombre de boitiers, de la longueur et de la nature de la ligne.
    Il faut le calculer, dans votre doc vous trouverez tous les éléments.

  14. #13
    Youni

    Re : Erreur de communication I2C

    Merci à vous deux pour le partage de connaissance.
    Excellente soirée

  15. #14
    invite03481543

    Re : Erreur de communication I2C

    En I2C vous ne devez pas excéder 400pF, il faut regarder dans la doc quelle est la capacité d'entrée/sortie de vos circuits et minimiser la capacité de ligne au niveau du PCB.
    Je vous joins ce que préconise Texas sur ce sujet pour le PCF8574.
    Bonne continuation et bonne soirée.
    Images attachées Images attachées
    Dernière modification par HULK28 ; 20/03/2016 à 18h09.

  16. #15
    bobflux

    Re : Erreur de communication I2C

    Sur l'I2C ce sont les pullups qui assurent le passage du niveau zéro au niveau 1 sur la ligne, or à 1 MHz il faut plus de courant pour charger les capacités qu'à 100 kHz... si en plus il y a 15cm de câble ça rajoute des pF...

    Citation Envoyé par Youni Voir le message
    Pourquoi est ce necessaire d'en ajouter des deux cotés ?
    T'es sûr qu'il y a pas de découplage sur ta carte ? Le minimum ce serait un céramique de 100nF à 1uF plus un électrolytique quelconque...

Discussions similaires

  1. erreur 500 erreur interne du serveur (free)
    Par Cornemuse dans le forum Internet - Réseau - Sécurité générale
    Réponses: 5
    Dernier message: 23/02/2012, 22h13
  2. Power Line communication sur une ligne DC. Communication CAN
    Par invitee2723b34 dans le forum Électronique
    Réponses: 3
    Dernier message: 21/02/2012, 11h28
  3. Erreur de raisonnement, erreur logique ou erreur tout court?
    Par babybirdhitz dans le forum Epistémologie et Logique (archives)
    Réponses: 7
    Dernier message: 03/02/2010, 12h32
  4. Erreur de communication entre S7-200 et PC
    Par invite3d952067 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 15/11/2006, 21h43
Découvrez nos comparatifs produits sur l'informatique et les technologies.