Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

Pbm I2C (Résolu)
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1421
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#1 Message par F6FCO » jeu. 19 oct. 2023 00:48

Hello,

Je vous soumet un petit souci, je m'y casse les dents depuis quelques jours.

P1060488.JPG


Deux platines test, chacune avec un PIC18F2525. sur la breadboard un DS1307 relié en I2C soit à une platine, soit à l'autre. Même programme que je charge sur l'un ou l'autre PIC.
Pour faire fonctionner mon programme sur l'une ou sur l'autre j'ai juste les deux fils SCL et SDA sur RC3 et RC4 et le Pickit à brancher sur l'un ou l'autre PIC.

Les deux programmes se chargent et s'exécutent bien sur chaque platine sauf sur celle de gauche ou SSPCON2,ACKEN refuse de passer à zéro :mur:
J'ai interverti les PIC sur chaque platine, ils fonctionnent très bien tous les deux sur celle de droite. SSPCON2 ne veut rien savoir sur celle de gauche quel que soit le PIC, il reste à 1.
Donc à priori un pbm de hardware, j'y perd mon latin, j'ai refais toutes les soudures sur la platine de gauche, j'ai sondé des pins au PCB tout est bon.
D'autres programmes pour des PIC 28pins (18F2525, 16F876) fonctionnent très bien sur la platine de gauche, c'est juste SSPCON2 qui ne veut rien savoir.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par F6FCO le mer. 25 oct. 2023 20:37, modifié 1 fois.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Pbm I2C
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2599
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#2 Message par paulfjujo » jeu. 19 oct. 2023 10:56

bonjour F6FCO,

..se rapporte à quel schéma ?

F6FCO a écrit :sur l'une ou sur l'autre j'ai juste les deux fils SCL et SDA sur RC3 et RC4 et le Pickit à brancher sur l'un ou l'autre PIC.


....on suppose 3 fils ..avec le 0V ..
Atttention aux breadboard chinoises, certaines ont le commun coupé par endroit!
===> le 0V à droite ne retrouve pas à gauche de la breadboard (du vécu!)
Les pull-ups I2C sont situées ou ? et valeurs ? ( usuelles 4,7K)
Aide toi, le ciel ou FantasPic t'aidera

Pbm I2C
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1421
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#3 Message par F6FCO » jeu. 19 oct. 2023 22:53

Je n'avais pas précisé que les masses sont communes par l'alim. La breadboard fonctionne bien puisque c'est le même montage que je transfère d'un pic à l'autre et que çà fonctionne sur la platine de droite.
Mais tu as raison ne négligeons rien, je vais refaire le montage sur l'autre breadboard de gauche pour lever le doute et je reviens.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Pbm I2C
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1421
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#4 Message par F6FCO » jeu. 19 oct. 2023 23:33

Test effectué ce n'est pas un pbm de masse.
Pullup situées entre le +5v et sur les lignes SDA et SCL.
En bref çà fonctionne sur une platine et pas sur l'autre, avec l'un ou l'autre pic.
Donc un pbm de hardware que je n'arrive pas à cerner, j'ai encore vérifié les lignes SDA et SCL et rien trouvé. J'ai essayé avec des pullup de 10K puis 4,7K, pareil.

La question que je me pose pour avoir un début de piste c'est à quoi peut servir SSPCON2 à par pour l'I2C ou le SPI ?
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Pbm I2C
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#5 Message par satinas » ven. 20 oct. 2023 05:01

Bonjour à tous,

SSPCON2 ne sert que pour l'I2C.

Difficile de répondre sans connaître ton programme. on met ACKEN à 1 pour acquitter la réception d'un octet, c'est le pic qui remet à zéro ce bit en fin d'envoi de ACK ou NAK. Donc à utiliser au bon moment, c'est à dire après avoir reçu un octet avec le bit RCEN.

Que dit l'ocillo, à quel moment cela se passe mal ?
Si je fais de l'I2C, je commence par allumer l'ocillo car c'est lui le verdict, il permet aussi de vérifier si les flancs I2C sont corrects. Une boucle software avec des étapes progressives.
- la RTC acquitte son adresse hardware.
- séquence write adresse hardware + adresse data.
- séquence write adresse hardware + adresse data + octet(s) data.
- séquence write adresse hardware + adresse data puis restart et réception octet(s) data.

Pbm I2C
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2599
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#6 Message par paulfjujo » ven. 20 oct. 2023 10:05

bonjour à tous,


si c'est le meme programme , ça "sent" effectivement un probleme hardware ...

F6FCO a écrit :Test effectué ce n'est pas un pbm de masse.


il y a quand même de grande longueur de fil coté 0V entre tes 2 platines ...
pas de condo 100nF sur l"alim breadbord ?

sur celle de l'afficheur ,il me semble que tu re-injecte le +5V apres un régulateur de tension ?

Sur quelle platine cela fonctionne , celle de gauche , directement alimentée ?
As-tu essayé d'alimenter séparément chacune des 2 platines , avec bien sur un 0V commun ..
Aide toi, le ciel ou FantasPic t'aidera

Pbm I2C
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1421
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#7 Message par F6FCO » ven. 20 oct. 2023 10:32

Pour la conversation je vais les dénommer:
- Platine OK, celle avec le LCD à droite sur la photo, çà fonctionne sur celle-ci avec deux fils courts.
- Platine PBM, celle en cuivre double-face à gauche sur la photo, SSPCON2,4 ne passe pas à 0 et donc bloque le programme, elle est reliée à la breadboard par ajout de deux fils pour rallonger.

Non pas de capa sur la breadboard, je ne me suis pas posé la question puisque le montage fonctionne sur la première, je vais en placer un.

Les deux platines sont alimentées chacune avec leur propre régulateur 7805, les deux alimentés en 12v par la même alim stab qu'on voit derrière.
Masses communes par l'alim stab et reliées en plus de platine à platine.
Ca fonctionne sur celle de droite avec le LCD, "Platine OK".
Ca fonctionne aussi sur l'autre "Platine PBM", cad programme validé, compilé mais qui tourne en boucle lors du test SSPCON2, ACKEN qui ne veut pas passer à 0.

Effectivement les fils sont plus long pour aller sur la platine pbm mais quand même 20cm de fils ne devraient pas pose de souci. Je n'ai qu'un DS1307, je vais refaire le montage sur la platine pbm avec des fils courts. On va éliminer les suggestions une à une.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Pbm I2C
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1421
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#8 Message par F6FCO » ven. 20 oct. 2023 11:13

C'est bon, j'ai trouvé le renard :-D, çà marche maintenant.

Une erreur de routage sur le PCB, RC4 (SDA) était relié à RC7. Quand je disais qu'il ne fallait jamais graver trop vite...
J'utilisais cette platine de développement depuis longtemps sans pbm, il a fallu que je la teste en I2C pour soulever le pbm.

Merci de t'être penché sur le souci avec moi.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Pbm I2C
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2623
Enregistré en : juillet 2016
Localisation : Terre

#9 Message par Temps-x » ven. 20 oct. 2023 21:15

Bonsoir F6FCO, paulfjujo, et tout le forum,

F6FCO a écrit :Source du message Une erreur de routage sur le PCB, RC4 (SDA) était relié à RC7.

Ça pouvait effectivement venir que de ta platine, c'est bien pour cela que je suis pas intervenu, car seule toi avait le pouvoir de regarder ta platine

F6FCO a écrit :Source du message Quand je disais qu'il ne fallait jamais graver trop vite...

humour!! F6FCO..... l'homme qui grave plus vite que son ombre .... :-)

Content pour toi que ça soit résolu

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Pbm I2C
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1664
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#10 Message par Gérard » ven. 20 oct. 2023 21:43

Bonjour à tous,
J'ai suivi cette discussion avec intérêt. C'était vraiment incompréhensible, à droite ça marche, à gauche ça ne marche pas... De quoi y perdre son latin (déjà que je n'en ai pas beaucoup).

Les PCB, quelle affaire.
Après conception, je laisse passer une semaine, je vérifie et il m'est quand même déjà arrivé d'avoir des erreurs après gravure.

Content que tout soit rentré dans l'ordre pour toi F6.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 7 invités