He estado trabajando en un proyecto en el que un maestro SPI Linux de OMAP interactúa con 6 periféricos esclavos SPI (5 convertidores A/D y un solo magnetómetro).
Puedo configurar la frecuencia del reloj SPI y he experimentado con 50 kHz, 100 kHz y 1 MHz.
Adjunté un diagrama de cableado/placa que muestra la longitud del maestro SPI y todos los periféricos. La longitud del bus SPI (todas las longitudes de cable) lejos del maestro es de aproximadamente 970 mm para mi caso de experimento.
El problema que encontré es que la comunicación con 1 periférico falla a medida que agrego más de los otros periféricos en el bus. Incluso si la comunicación llega al magnetómetro en el otro lado del bus, la comunicación con los convertidores A/D en el otro lado falla hasta que se retira el cabo del arnés del magnetómetro y luego vuelve la sección A/D.
He leído un poco aquí: Consideraciones de terminación de bus SPI y aquí: Comunicación de placa a placa de corta distancia
donde se recomienda colocar un RC LPF lo más cerca posible de cualquier nodo de conducción, por lo que SCLK y MOSI en el lado maestro y cada una de mis señales 6x MISO/SOMI. He visto un enfoque similar hecho para USB con red RC 47pF/27R. Mi intención es probar esto en mi circuito en un esfuerzo por reducir la transición de borde rápido ~ 100 nseg.
¿Es este el procedimiento correcto que estoy siguiendo aquí al agregar un RC LPF? Esto parece realmente inestable, ¿hay una mejor práctica? Vi una nota de la aplicación de TI en la que hablan sobre la extensión de SPI para distancias de bus más largas, ¿es esta una solución adecuada aquí o mi problema es simplemente uno de los armónicos de alta frecuencia de la transición de borde de alta velocidad? http://www.ti.com/lit/an/slyt441/slyt441.pdf
gracias
Es difícil responder esto sin todos los detalles, pero aquí hay una mirada genérica al problema que creo que también puede ser el tipo de respuesta más útil para este sitio.
Las redes de múltiples nodos siempre deben simularse. Son tan difíciles de predecir. Y tomó alrededor de 3 minutos ver que su diseño tal vez no era óptimo.
Aquí está la configuración de simulación para el reloj desde el maestro hasta todos los dispositivos esclavos (los valores son solo estimaciones aproximadas, como sería el caso si hiciera esto antes de construir cualquier cosa):
Y el gráfico de simulación resultante (ignoramos qué es qué, unidades, etc., ya que obviamente no vale la pena construirlo):
La primera idea que viene a la mente es una conexión en cadena de todas las entradas y una terminación en paralelo simple. Un esquema de sobrevuelo si quieres. Esto se ve así en la configuración de la simulación:
Y la trama de resultados se ve mucho mejor:
Si puede vivir con el mayor consumo de energía de la terminación thevenin y la oscilación de voltaje reducida en las entradas de reloj de los diversos dispositivos y... (solo usted conoce las limitaciones reales)... entonces alguna variación de esto realmente puede valer la pena edificio.
Hay otras soluciones que funcionarían, pero la clave es comprender que las redes de múltiples nodos no son fáciles de predecir. Los 5 minutos de simulación aquí antes de construir algo pueden ahorrar mucho tiempo más adelante. Desafortunadamente, este tipo de simuladores no son baratos.
Estoy usando Cadence SigXplorer aquí. Se aplica el descargo de responsabilidad habitual: enseño clases sobre integridad de la señal y, a menudo, tengo licencias de software patrocinadoras de Cadence o Mentor para esas clases.
efox29
encogido
efox29
alex.forencich
alex.forencich
encogido