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

L'I²C c'est compliqué !



  1. #1
    error2

    L'I²C c'est compliqué !


    ------

    Bonjour, voila depuis 3 jours je me suis mis à apprendre l'I²C, j'ai lu plusieurs bonnes DOC (Bigonoff,sites et l'introduction de Microchip) mais voila des questions persistes !
    Tout d'abord, je vais vous expliquer mon projet. On vient d'acheter un capteur a ultra son:MSU235 ( http://www.lextronic.fr/Capteurs/PP1.htm >> le dernier dans la liste a gauche :Module MSU235 ) et mon but est de le tester.Pour cela je veux programmer un 18f452 avec le "PICDEM 2 Plus" de microchip pour le mettre en connection I²C avec le MSU235(Micro interne : 18f4220).Je me suis lancé dans la création de mon programme mais je me suis tout de suite bloqué en me posant ces questions :
    - comment vais-je dire au 18f4220 que c'est l'esclave? (car je peux pas y toucher)
    - Sachant que l'I²C est connecter au 18f452 par RC3 et RC4 et que le 18f4220 par RC3 et RC4 (aussi) que dois-je faire pour éviter les conflits ?

    Sinon le reste je pense que ça va

    Merci d'avance pour vos réponses.

    -----
    Alex.

  2. Publicité
  3. #2
    nanard

    Re : L'I²C c'est compliqué !

    bonjour

    As tu lu la datasheet du 18f452 car tous est expliqué.
    Va sur le site de microchip
    http://www.microchip.com/stellent/id...PAGE&nodeId=64
    puis dans 'document search' tape '18f452' puis entrer.
    clic sur '18f452' puis sur '18f452 datasheet', sa c'est la marche à suivre pour rechercher chez microchip.
    Autrement clic sur le lien et va voir page 136 et plus tout y est décris.
    http://ww1.microchip.com/downloads/e...Doc/39564b.pdf
    @+

  4. #3
    error2

    Re : L'I²C c'est compliqué !

    Oui oui depuis le début je travaille avec ce Micro mais la doc n'explique pas tous.Ou alors je traduit mal l'anglais
    Alex.

  5. #4
    umfred

    Re : L'I²C c'est compliqué !

    Citation Envoyé par error2
    - comment vais-je dire au 18f4220 que c'est l'esclave? (car je peux pas y toucher)
    Y a rien à lui dire de spécial, il doit être configuré en esclave, puisque c'est un "périphérique". Il faut juste que tu l'adresse en i2C selon la doc de ton capteur.
    Selon la page du MSU235, il est dit qu'il se manipule comme une mémoire 24xx, donc il faut se référencer à la doc de cette mémoire (site de mricochip je pense).

    - Sachant que l'I²C est connecter au 18f452 par RC3 et RC4 et que le 18f4220 par RC3 et RC4 (aussi) que dois-je faire pour éviter les conflits ?
    rien, juste piloter le capteur comme un boitier mémoire 24xx comme dit juste au dessus (donc juste prévoir les pull up sur SDA et SCL).

  6. #5
    umfred

    Re : L'I²C c'est compliqué !

    Tu peux aussi t'inspirer du morceau de programme figurant dans cette doc à la page 93

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

    Re : L'I²C c'est compliqué !

    J'ai meme trouvé plus simple, copier coller sur le site
    Merci UMFRED !!
    Alex.

  9. Publicité
  10. #7
    error2

    Re : L'I²C c'est compliqué !

    re bonjour,
    Je suis re-bloqué !
    Vu que le capteur est trop conplex pour un débutant je me suis tourné plutot vers un afficheur (4x HDSP-5501) piloté par un SAA1064.J'ai juste à mettre 0x3f pour afficher 0, 0x06 pour 1, 0x5b pour 2, etc...
    Mon programme tourne en boucle mais n'affiche rien !
    Quelqu'un peut me dire ce qui ne va pa SVP :

    ;Start Condition:
    bsf SSPCON2,SEN

    ;Envoi adresse:
    movlw 0x70
    movwf SSPBUF

    ;Attente ACK:
    Wait_ACK
    btfsc SSPCON2,ACKSTAT
    goto Wait_ACK

    ;Envoi commande:
    movlw 0x00
    movwf SSPBUF

    ;Attente ACK:
    Wait_ACK2
    btfsc SSPCON2,ACKSTAT
    goto Wait_ACK2

    ;Envoi instruction:
    movlw 0x47
    movwf SSPBUF

    ;Attente ACK:
    Wait_ACK3
    btfsc SSPCON2,ACKSTAT
    goto Wait_ACK3

    ;Envoi digit1:
    movlw 0x3f
    movwf SSPBUF

    ;Attente ACK:
    Wait_ACK4
    btfsc SSPCON2,ACKSTAT
    goto Wait_ACK4

    ;Envoi digit2:
    movlw 0x3f
    movwf SSPBUF

    ;Attente ACK:
    Wait_ACK5
    btfsc SSPCON2,ACKSTAT
    goto Wait_ACK5

    .........
    de meme pour les 2 derniers digit.
    .........

    ;STOP instruction
    bsf SSPCON2,PEN

    pour mieu comprendre :
    http://www.semiconductors.philips.co...1064_CNV_2.pdf
    page 5
    Merci de me dire si vous voyez des erreurs (il doit y en avoir beaucoup)
    Alex.

  11. #8
    umfred

    Re : L'I²C c'est compliqué !

    à priori je ne vois pas d'erreur dans ce que tu as écrit.
    Mais il peut s'agir d'un problème de configuration/initialisation du port I2C (logiciel), ou un problème hard:

    - A quel vitesse est configuré ton port I2C? si tu l'a mis en 400kHz, passe le en 100kHz.

    - As-tu mis la résistance de pull-up sur les 2 signaux SDA et SCL?

    - A quel potentiel est mis l'entrée ADR du SAA1064? il doit être à 0 (ce qui doit être le cas si le programme tourne correctement)

    Pour vérifier que le programme fonctionne bien, tu peux utiliser une(des) sortie(s) du PIC pour allumer une(des) LED(s) pour vérifier qu'il avance bien et qu'il ne reste pas bloquer dans une des boucles d'attente de réponse

    Remarque: il est inutile de tourner en boucle sur l'I2C car une fois les valeurs transmises au SAA1064 inutile de lui redonner (sauf en cas de changement de la valeur), il fait le travail tout seul.

  12. #9
    error2

    Re : L'I²C c'est compliqué !

    J'ai trouvé mon erreur

    Dans l'exemple j'ai abrégé c'est pour ça que tu as pas pu la trouver mais si je te met ça :

    Control equ 0x47
    Nouvelle variable: Cpt_Unite:1

    movlw Control
    movwf SSPBUF

    ça ca roule !

    movlw Cpt_Unite
    movwf SSPBUF

    Ca nan

    Voila, un programme compliqué pour moi et je plante pendant une demi journée sur un petit truc à la con
    Ca marche maintenant
    Merci Umfred
    Alex.

  13. #10
    looys

    Re : L'I²C c'est compliqué !

    esque vous bien comprie la fonctionnement de bus i2c.
    moi aussi..j'ai une probléme d'affichage par saa 1064 ..ce dernier et commandé par circuit rcm 2200 à travert i2c..mon probléme.. comment programmer le rcm 2200 par dinamic c.
    merci de votre attention..svp aide moi

  14. #11
    looys

    Re : L'I²C c'est compliqué !

    svp..si tu trouve une reponse aide moi..j'ai la meme probléme..je doit réaliser un affichage de 2 groupe de deux afficheurs 7 segment piloter par saa1064 et ce dernier commandé par circuit rcm2200 à travert bus i2c..mon question est:
    esque le saa 1064 peut programmé..si non comment faire un programme de rcm 2200 par dinamic c.merci..

  15. #12
    looys

    Re : L'I²C c'est compliqué !

    esque en peut programmé le saa1064..merci

  16. Publicité
  17. #13
    PIXEL

    Re : L'I²C c'est compliqué !

    la SEULE bible francophone de l'I²C, par un de ses concepteurs :

    http://www.eyrolles.com/Informatique...-9782100047062

  18. #14
    HULK28

    Re : L'I²C c'est compliqué !

    Lui un des concepteurs de l'I2C? c'est une blague?
    Vous êtes vraiment mal informé.
    Il travaillait (peut-être encore aujourd'hui) chez Philips France c'est vrai, je le connais personnellement, il est ing d'app et consultant sénior Philips et à fait la promotion (commerciale surtout) de l'I2C et du CAN en France il y déjà quelques temps, là est son vrai mérite.

    Pour ma part ce bouquin sur l'I2C est vraiment très moyen, limite décevant, beaucoup de blabla inutile et de notes d'appli Philips compilées, traduites et resservies telles quelles, coquilles y compris d'ailleurs, avec peu d'efficacité de mise en oeuvre à la clé, les bugs de l'époque sur certains composants ne sont même pas évoqués comme le "fameux" 82B715 par exemple qui a causé bien des déboires à ceux qui ont manipés sur ce truc.
    Le génie est fait d'1 pour cent d'inspiration et de 99% pour cent de transpiration. Edison

  19. #15
    PIXEL

    Re : L'I²C c'est compliqué !

    disons que j'y ai appris ce qu'il m'a suffit...

    on ne parle que de ses expériences.

Sur le même thème :

Discussions similaires

  1. équation compliqué
    Par sassou972 dans le forum Mathématiques du collège et du lycée
    Réponses: 15
    Dernier message: 30/10/2007, 23h17
  2. Partiel compliqué!
    Par kmillou dans le forum Biologie
    Réponses: 2
    Dernier message: 06/01/2007, 21h26
  3. Questions sur l'I²C
    Par Toufinet dans le forum Électronique
    Réponses: 16
    Dernier message: 26/11/2006, 01h31
  4. Réponses: 12
    Dernier message: 09/10/2005, 20h20
  5. Linux compliqué?
    Par os2 dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 17/08/2005, 01h18
Découvrez nos comparatifs produits sur l'informatique et les technologies.