Go Down

Topic: SPI Daisy Chain (Read 1 time) previous topic - next topic

clem0613

Bonjour je suis en bts je travaille sur un projet où en SPI je dois envoyer et recevoir une valeur. Mon problème est qu'en testant la communication entre un maître et deux esclaves quand je teste tout ça sur un oscilloscope le MISO du maître et du dernier esclave est très parasité et l'horloge SCLK du maître n'apparaît pas savez vous d'où pourrez venir le problème ?

dave-in-nj

sacré bleu !
reading Frech is impassibilité for us English speakers

clem0613

Excuse me so I will try to speack english i am in superior technology patent i'm working on a projet on arduino nano I have to SPI send and receive a value. My problem is than in testing the communication between a master and two slaves the MOSI of the master and the last slave is very noisy. The SCLK clock of the master does not appear too do you know where will come the problem ?

68tjs

Ah non pas  d'anglais ici  c'est impassibilité(sic) pour nous francophones :smiley-mr-green:
Mais qu'est ce que tu as été faire chez des gens qui refusent d'apprendre des langues étrangères ?

Pour ton problème il faudrait que tu en dise plus sur les conditions de câblage, parce qu'un signal trop bruité ou qui disparaît c'est souvent dû à une mauvaise masse.
Attention aussi à la mesure à l'oscillo : un fil de masse de la sonde trop long peut détruire un signal qui est en réalité correct.
 
Les Shadocks : L'ignorance ne s'apprend pas.

clem0613

La plupart sont anglais ici donc j'ai traduit mais merci de ta réponse j'ai câblé 3 arduinos nano entre elles donc un maître deux esclaves les esclaves ont la même horloge que le maître pareil pour le SS esuite le mosi du maître va sur le mosi du premier esclave le miso du premier esclave va sur le mosi du dernier esclave et le miso donc du dernier eslave retourne sur le miso du maître après bien sûr j'ai alimenté et j'ai relié les masses après que veux-tu dire par un fil de masse de la sonde trop long ?

68tjs

Je veux dire qu'il faut toujours être prudent et que si on fait mal la mesure on peut déduire des conclusions erronées.

J'ai déjà vu des sondes avec le fil de masse (celui qui est généralement terminé par une pince crocodile) de 5 cm de long et d'autres avec le même fil qui fait 10 ou 20 cm de long.

Clairement 5 cm ça passe mais 10 ou 20 cm cela peut déformer le signal, ajouter du bruit, écrouler les fronts de montée, et même faire accrocher un montage.
J'ai une longue expérience de l'oscillo et je sais pertinemment que faire des bonnes mesures avec un oscillo n'est pas aussi trivial qu'on peut le penser.
D'autre part je ne sais pas ce dont tu dispose, la seule chose que je sais c'est  que tu as écrit que le signal semble disparaître.
Je souligne le risque, c'est tout.
Les Shadocks : L'ignorance ne s'apprend pas.

clem0613

D'accord je n'ai pas la longueur du câble en tête mais elle ne doit pas dépasser les 10 cm sûr après est-ce qu'il est plus proche de 5 ou de 10 je ne sais pas tu crois que le miso parasité et l'horloge qui apparaît viendrait du câble et pas d'un erreur de code par exemple ?

68tjs

Je ne crois rien.
Je suis peut être à plusieurs centaines de km de toi et je n'ai pas une assez bonne vue pour voir ton câblage.
Je mets juste en garde sur des problèmes éventuels, je ne peux pas faire plus.

Attention aussi aux termes utilisés :
Dire que l'horloge disparait n'a pas la même signification que pas d'horloge.
Dans le premier je comprend qu'elle a existé et qu'elle a disparu.--> d'où la mise en cause du câblage
Dans le deuxième cas je comprend qu'il n'y a jamais eu d'horloge.--> mise en cause possible du code.

C'est toi qui est à quelques centimètre du câblage qui peut dire oui mon câblage n'est pas terrible je vais l'améliorer, ou mon câblage est satisfaisant c'est donc autre chose et peut être bien le code.
Les Shadocks : L'ignorance ne s'apprend pas.

clem0613

Mon câblage est pourtant bon j'ai suivi la configuration du spi en daisy chain (avec seulement une pin pour le SS) après je ne suis pas non plus un maître en programmation loin de là j'ai essayé de modifier la ligne SPI.setClockDivider qui configure l'horloge je changé donc de fréquence pour voir aucun changement j'ai même changé d'arduino un moment pour voir mêmes résultats lorsque je prend l'horloge du maître seulement rien les esclaves eux fonctionnent mais j'ai également un autre problème difficile à expliquer désolé mais lorsque les trois arduinos sont connectées entre elles pour le bus SPI j'obtiens à l'oscillo 3 horloges de différents niveaux s'entremêlant entre elles je ne place pourtant qu'une seule sonde au niveau d'une arduino je ne sais pas si cela est lié au fait que le sclk du maitre n'apparaît lorsque que celui-ci est seul.

Go Up