Problemas con la selección del esclavo SPI en PIC18F4321

1

Estoy intentando que 3 PIC18F4321s se comuniquen utilizando SPI, con uno de ellos en modo maestro y los otros 2 configurados como esclavos. Primero lo conseguimos trabajando con solo 2 dispositivos y sin señal SS (selección de esclavo) sin problemas.

Luego agregamos el segundo dispositivo y habilitamos SS y cambiamos físicamente los cables SS entre 5V y GND y funcionó como se esperaba, pero cuando tuvimos el maestro, alternamos dos pines de salida entre 5V y GND y los conectamos a uno de esclavos SS pines, la comunicación dejó de funcionar. Conectamos las líneas SS a un alcance y pudimos ver que estaban cambiando de la forma que esperábamos, y tuvimos retrasos significativos para asegurarnos de que nunca se habilitaran al mismo tiempo y que hubo un tiempo entre SS bajando y SSPBUF obteniendo cargado con los datos.

Parece que no hay una diferencia entre cambiar físicamente los cables y hacer que el uC lo haga si hay retrasos, por lo que lo único que pudimos pensar es que el maestro no podía conducir suficiente corriente a los esclavos, pero creo que los pines SS son una impedancia bastante alta, por lo que no estoy seguro de qué podría estar mal. Cualquier sugerencia sería muy apreciada.

    
pregunta C. Spencer

1 respuesta

0

Terminamos resolviéndolo colocando todas las selecciones de esclavos a través de un búfer inversor y haciendo que el maestro seleccionara a los esclavos con una señal activa alta y todo funcionó. Realmente no estoy seguro de por qué no habría funcionado antes a menos que la placa no pudiera manejar los pines.

    
respondido por el C. Spencer

Lea otras preguntas en las etiquetas