Se requiere ayuda para realizar un maestro único - Comunicación SPI esclava múltiple (hasta 16) con MSP430

0

Estoy planeando usar MSP430F6638 para la comunicación SPI entre un único MSP430 Master y varios MSP430 Slaves. Estoy usando un multiplexor 4x16 antes de cada esclavo para proporcionar la señal de selección de chip. Esto permite usar 4 cables GPIO para direccionar a 16 esclavos. Tengo curiosidad por los siguientes problemas y me gustaría recibir sugerencias sobre las posibles soluciones.

  1. La distancia del cable aumenta a un máximo de 10 m. ¿Tendré problemas de sincronización de reloj? ¿Qué puedo hacer para resolverlo?
  2. ¿Debo usar búferes de línea unidireccionales en los pines CLK, SOMI, MOSI y los cables GPIO GP Select de Chip para poder dirigirme a 16 esclavos? En cuanto al despliegue, la hoja de datos del MSP430 dice (como entendí) que el despliegue no debe aumentar 48 mA en todos los pines combinados y estoy usando otros periféricos simultáneamente, por lo que es difícil calcular la capacidad restante.
  3. ¿Debo intentar ir a una configuración de cadena de margaritas? ¿Alguien tiene experiencia en escribir software para Daisy Chain? ¿Será de ayuda usar un sistema operativo en tiempo real o SYS / BIOS para escribir el complejo firmware requerido en el caso de Daisy Chain?

Apreciaría sugerencias y comentarios útiles. Gracias

    
pregunta Hammad

1 respuesta

1

(Con suerte) Sugerencias y comentarios útiles: -

La velocidad de tu reloj no es irrazonable, pero debes mantener la forma, por lo que es necesario tener cuidado al usar los controladores de línea y los receptores. Otra cosa que debes tener en cuenta es que cuando encuestes a un esclavo, responderá sincronizado con el reloj que recibe y los conductores y el retraso de introducción del cable.

No hay problema al final del esclavo, pero cuando la respuesta es enviada por el esclavo, el retardo total hacia arriba y hacia abajo de la línea puede, en los relojes rápidos empujar el símbolo recibido demasiado fuera de sesgo con el reloj que el maestro está usando para " recoger "los datos. Algo a tener en cuenta.

Con respecto a su idea de CE de 4:16 líneas: los esclavos son inteligentes, ¿por qué no incrusta una dirección en cada esclavo y la transmisión maestra? Entonces, solo el esclavo correcto responderá. Es un poco más de sobrecarga, pero me da la impresión de que no es una aplicación muy rápida. Por supuesto, esto le está llevando a una especie de esquema RS485 sincronizado que me lleva a preguntar por qué esto no se considera para su aplicación; la ejecución no sincronizada no causará errores de sesgo de reloj y, a su velocidad de datos, 10 metros es fácil.

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas