Visión general:
Me estoy comunicando entre 3 placas de pcb personalizadas con dspic33 en ellas usando SPI. Tengo un maestro y 2 esclavos, pero les envío los mismos datos a ambos esclavos (y les dejo elegir a qué prestarles atención).
Configuración de hardware:
Los dos esclavos han incorporado controladores de motor BLDC y el Maestro está controlando estos controladores de motor a través de SPI. Los cables se ejecutan aproximadamente a 3 pies del maestro a cada esclavo y los encabezados son típicos encabezados SAMTECH de paso de paso de 1 ". Cada controlador de motor tiene su propio regulador de 3.3 voltios que ejecuta la electrónica dsPIC / LV. Yo uso un regulador de controlador de motor (vamos a llamarlo A) para alimentar también el DSPIC maestro SPI. Para el otro controlador de motor (vamos a llamarlo B), simplemente ejecuto las líneas SPI y tierra desde el maestro. El SPI clk está funcionando a 100KHz
Llegando al punto (Finalmente):
Sin motores funcionando, todo funciona bien, todos los datos llegan como se esperaba a ambos esclavos. Sin embargo, cuando enciendo los motores, Bslave ya no obtiene los datos correctos. Él está recogiendo relojes adicionales o dejándolos caer, supongo que lo haré con el ruido extra. En cualquier caso, sus sumas de verificación comienzan a fallar. Aslave funciona como un campeón pase lo que pase.
1) ¿Esperaría que todos estos dispositivos necesiten funcionar con la misma fuente de 3.3 voltios? Si es así, ¿puedes convencerme hablando sobre el ciclo de inductancia más largo y la magia negra como esa?
2) ¿Tiene algún tipo de regla general en cuanto a qué tan rápido puedo esperar poder ejecutar el SPI clk y tener éxito con una configuración de hardware como la anterior?