Go Down

Topic: Conflit sur bus I2C (Read 1 time) previous topic - next topic

fdufnews

Essayes le scanner sur l'écran seul mais avec des résistances de tirage au +5V car lui n'en a pas d'intégrée.
As-tu noté que l'adresse programmée sur les interrupteurs doit être multipliée par 2?

@Standby: il n'y a pas de programmation de mode RS232/I²C. Les 2 interfaces sont actives en permanence par contre la doc dit de n'en utiliser qu'une à la fois.

nathanv0

Quote
Essayes le scanner sur l'écran seul mais avec des résistances de tirage au +5V car lui n'en a pas d'intégrée.
Euh que veux tu dire par là ? Avec juste l'écran relier au shield ? ou avec juste l'écran directement relié au M0 ? De plus mes résistance de tirage sont relié au +3.3V et non au 5V :
Quote
Oui obligatoirement au 3,3 V, jamais au + 5V. En espérant que le fait de les avoir reliée au 5V n'ai pas fait de dégats irréversibles.
Quote
As-tu noté que l'adresse programmée sur les interrupteurs doit être multipliée par 2?
J'ai mis les bouton de manière a avoir l'adresse 0x06 et je la vois bien dans la liste donc je ne suis pas sur de bien comprendre

fdufnews

C'est vrai j'oublie toujours que tu utilises un M0 néanmoins, d'après la notice que tu as mise en pièce jointe, l'écran fonctionne en 5V. Il n'est pas dit qu'il fonctionne correctement avec des lignes SCL et SDA tirées au 3,3V pour peu qu'elles soient légèrement bruitées.

Dans la même notice il est indiqué que lorsqu'on programme 6 sur les inter, l'adresse physique de la carte est 0x0C et comme dans les docs techniques la définition des adresses I²C est toujours assez ambiguë il vaut mieux vérifier avec le scanner qu'elle est l'adresse réelle.

nathanv0

Bon donc en gros, le soucis vient du fait que j'utilise un composant (l'écran) qui utilise du 5V sur un bus I2C basé sur le 3.3V, mais le RTC et la capteur fonctionnant au 3.3V, je ne peux pas passer au 5V...Génial...

Des idée pour me sortir de cette galère ?

Pour ce qui est des adresses j'ai tester avec l'adresse 6(0x06) et l'adresse 12(0x0C) et c'est bien l'adresse 0x06 qui fonctionne.

-Standby

#19
Jul 24, 2017, 10:39 am Last Edit: Jul 24, 2017, 10:40 am by -Standby
-snip-
The Mind is like a parachute it works best when opened.

nathanv0

Des microswitch permettant de choisir la tension de fonctionnement de l'écran ?
Où est ce que tu as vu ça dans la doc parce que je l'ai vu nulle part

fdufnews

#21
Jul 24, 2017, 11:15 am Last Edit: Jul 24, 2017, 11:23 am by fdufnews
Bon donc en gros, le soucis vient du fait que j'utilise un composant (l'écran) qui utilise du 5V sur un bus I2C basé sur le 3.3V, mais le RTC et la capteur fonctionnant au 3.3V, je ne peux pas passer au 5V...Génial...
Je dirais qu'il y a de fortes chances que le problème vienne de là. Le seul moyen de le confirmer serait d'intercaler des adaptateurs de bus entre la partie 5V et la partie 3,3V.

NXP préconise un montage comme celui-là

On en trouve dans le commerce si tu ne disposes pas des composants pour le réaliser. Comme ici par exemple https://www.lextronic.fr/P28062-module-dinterface-i2c---5v--33v.html

nathanv0

Aurais tu un lien pour ces adaptateurs de bus ?

fdufnews

Je viens de mettre à jour mon post précédent

nathanv0

#24
Jul 24, 2017, 11:28 am Last Edit: Jul 24, 2017, 11:46 am by nathanv0
Merci :)

J'ai vu dans la description que ce composant permettait d'interfacer un microcontrôleur (alimenté en +5 V) avec un périphérique I2C™ (alimenté en +3,3 V). Je vais partir du principe que ça marche dans les deux sens.

En tous cas merci pour votre aide et on verra pour la suite quand j'aurais reçu le composant.

En vous souhaitant une bonne journée.

nathanv0

Bonjour à tous,

Je reviens sur ce post après avoir testé le level shiffter sur mon montage.
Alors j'arrive bien à afficher sur l'écran LCD ce que je veux et je réceptionne des données correct du RTC mais quand je fais un scanner I2C avec l'écran LCD de branché j'ai plein d'adresse qui apparaissent :

Voilà ce que je vois sans l'écran de branché :
Code: [Select]
I2C Scanner
Scanning...
I2C device found at address 0x0E  !
I2C device found at address 0x68  !
done

0x68 étant mon RTC et 0x0E mon capteur

Et quand je rajoute l'écran:
Code: [Select]
I2C Scanner
Scanning...
I2C device found at address 0x02  !
I2C device found at address 0x06  !
I2C device found at address 0x0A  !
I2C device found at address 0x0E  !
I2C device found at address 0x12  !
I2C device found at address 0x16  !
I2C device found at address 0x1A  !
I2C device found at address 0x1E  !
I2C device found at address 0x22  !
I2C device found at address 0x26  !
I2C device found at address 0x2A  !
I2C device found at address 0x2E  !
I2C device found at address 0x32  !
I2C device found at address 0x36  !
I2C device found at address 0x3A  !
I2C device found at address 0x3E  !
I2C device found at address 0x42  !
I2C device found at address 0x46  !
I2C device found at address 0x4A  !
I2C device found at address 0x4E  !
I2C device found at address 0x52  !
I2C device found at address 0x56  !
I2C device found at address 0x5A  !
I2C device found at address 0x5E  !
I2C device found at address 0x62  !
I2C device found at address 0x66  !
I2C device found at address 0x68  !
I2C device found at address 0x6A  !
I2C device found at address 0x6E  !
I2C device found at address 0x72  !
I2C device found at address 0x76  !
I2C device found at address 0x7A  !
I2C device found at address 0x7E  !
done

Et du coup cela me pose quelque soucis au niveau des données que je récupère de mon capteur, le capteur et l'écran LCD se trouvant du coté 5V du bus I2C.

Quelqu'un aurait une idée de ce qu'il peut se passer ?
Cdt,
Nathan

nathanv0

J'ai essayé pour voir de changer l'adresse de l'écran de 0x06 à 0x05 et on peut voir avec le scanner I2C que les adresses "parasites" ont également baisser de 1:

Code: [Select]
Scanning...
I2C device found at address 0x01  !
I2C device found at address 0x05  !
I2C device found at address 0x09  !
I2C device found at address 0x0D  !
I2C device found at address 0x0E  !
I2C device found at address 0x11  !
I2C device found at address 0x15  !
I2C device found at address 0x19  !
I2C device found at address 0x1D  !
I2C device found at address 0x21  !
I2C device found at address 0x25  !
I2C device found at address 0x29  !
I2C device found at address 0x2D  !
I2C device found at address 0x31  !
I2C device found at address 0x35  !
I2C device found at address 0x39  !
I2C device found at address 0x3D  !
I2C device found at address 0x41  !
I2C device found at address 0x45  !
I2C device found at address 0x49  !
I2C device found at address 0x4D  !
I2C device found at address 0x51  !
I2C device found at address 0x55  !
I2C device found at address 0x59  !
I2C device found at address 0x5D  !
I2C device found at address 0x61  !
I2C device found at address 0x65  !
I2C device found at address 0x68  !
I2C device found at address 0x69  !
I2C device found at address 0x6D  !
I2C device found at address 0x71  !
I2C device found at address 0x75  !
I2C device found at address 0x79  !
I2C device found at address 0x7D  !
done

Go Up