Nombres de SPI, confusión SDI / MOSI

1

Estoy conectando un MPU 9250 en un bus SPI, y según la hoja de datos, el mismo pin que I2C SDA es SPI SDI:

Loquemellevaapensarque,dadoqueestaeslaentradadedatosenelesclavo(MPU9250),seríaequivalenteaMOSI.

Eldiagramadecableadoenlahojadedatosparececonfirmaresto:

Sinembargo,estabaleyendolapágina SPI en wikipedia (Ok, no es la mejor fuente) y dice: / p>

  

La convención MOSI / MISO requiere que, en los dispositivos que usan nombres alternativos, SDI en el maestro esté conectado a SDI en el esclavo

Lo que me confundió un poco. En el diagrama, SDI está cableado con SDO y la denominación es relativa al dispositivo en el que se encuentra el pin, lo que contradice la wikipedia (la denominación SDI siempre es relativa al maestro).

Entonces, en esencia, ¿está mal el artículo de Wikipedia? ¿Puedo confiar en mi suposición de que SDI en la MPU = MOSI?

    
pregunta Wesley Lee

2 respuestas

3

Los dispositivos distintos a los MCU que tienen interfaz SPI tienden a usar la convención SDI / SDO o DIN / DOUT (por ejemplo, chips ADC / DAC, potenciómetros digitales, sensores, etc.) . Pero las MCU siempre (quizás haya excepciones, pero nunca me he enfrentado a una) usan la convención MOSI / MISO (las MCU de la serie MSP430 tienen una ligera diferencia en este punto: tienen patillas SIMO / SOMI que son totalmente las igual que MOSI / MISO). Esto se debe a que se supone que las MCU (que deberían ser) son maestras .

NOTA: Si dos MCU se comunican a través de SPI, la etiqueta "maestra" alterna entre las dos (es decir, el remitente se convierte en "maestra" en ese momento), pero la conexión no cambia: MOSI en el primer chip se conecta a MISO en el segundo chip y viceversa.

De todos modos, los pines de datos SPI no son buffers bidireccionales, por lo que el pin SDI en un chip siempre debe estar conectado al pin SDO (o MOSI) en el otro chip.

Entonces,

  • La declaración que ha citado de WP es totalmente incorrecta . SDI en un chip se debe conectar a SDO en el otro chip, independientemente de lo que se supone que es maestro o esclavo.
  • Como dije en la explicación anterior, SDI en el MPU9250 debe conectarse a MOSI (salida del maestro - entrada del esclavo) en el microcontrolador / microprocesador.
respondido por el Rohat Kılıç
1

Sí, SDI en esclavos va a SDO en maestro, pero hay una trampa en esa convención de nombres que mordió a uno de nuestros contratistas.

Si nombra las redes SDI y SDO, entonces hay una ambigüedad en el maestro o en el esclavo, ya que uno u otro deben conectarse entre sí en relación con los nombres de los pines, combinar con un (ex) contratista al que le falta atención a los detalles y redes mayormente enterradas dentro de un tablero de 6 capas ... Oh, cómo nos reímos.

MOSI y MISO son muy superiores a los nombres (especialmente para las redes de pcb) ya que no son ambiguos, al menos en el caso del maestro único común, y esto ahora está escrito en nuestra guía de estilo esquemático.

    
respondido por el Dan Mills

Lea otras preguntas en las etiquetas