Aperçu:
Je communique entre 3 cartes PCB personnalisées avec dspic33 sur eux en utilisant SPI. J'ai un maître et 2 esclaves, mais j'envoie aux deux esclaves les mêmes données (et je les laisse choisir à quoi prêter attention).
Configuration materielle:
Les deux esclaves ont des contrôleurs de moteur BLDC intégrés et le maître contrôle ces contrôleurs de moteur via SPI. Les fils sont acheminés à environ 3 pieds du maître à chaque esclave et les en-têtes sont des en-têtes SAMTECH de pas standard de 1 ". Chaque contrôleur de moteur a son propre régulateur de 3,3 volts qui exécute l'électronique dsPIC / LV. J'utilise un régulateur de contrôleur de moteur (permet de l'appeler A) pour alimenter également le SPI maître DSPIC. Pour l'autre contrôleur de moteur (permet de l'appeler B), je lance simplement les lignes SPI et la masse du maître. Le SPI clk fonctionne à 100 KHz
Arriver au point (enfin):
Sans aucun moteur en marche, tout fonctionne bien, toutes les données transitent comme prévu pour les deux esclaves. Cependant, lorsque je démarre les moteurs, Bslave n'obtient plus les données correctes. Il ramasse des horloges supplémentaires ou les fait tomber, je suppose que faire pour le bruit supplémentaire. En tout état de cause, ses sommes de contrôle commencent à échouer. Aslave fonctionne comme un champion quoi qu'il arrive.
1) Vous attendriez-vous à ce que tous ces appareils doivent fonctionner avec la même source de 3,3 volts? Si oui, pouvez-vous me convaincre en parlant de la boucle d'inductance plus longue et de la magie noire comme celle-ci.
2) Avez-vous une sorte de règle générale sur la vitesse à laquelle je peux m'attendre à pouvoir exécuter le SPI clk et à réussir avec une configuration matérielle telle que ci-dessus?