MISO/MOSI frente a DI/DO

¿Hay alguna diferencia entre los pines MISO/MOSI y los pines DI/DO? ¿Es cierto que MISO/MOSI es para comunicación SPI donde DI/DO es para comunicación USI? ¿Cuál es la diferencia exactamente?

No me queda claro a qué te refieres. ¿De qué dispositivo o placa estás hablando? En general, MISO/MOSI DI/DO son solo nombres que se dan a los pines. En general, puedes programar los pines para que hagan lo que quieras. Así que no hay diferencia.
Estoy usando el ATtiny 861a con dos esclavos. Se comunica a través de USI pero se puede programar para comunicación SPI (además de convertir un pin en una selección de chip). ¿Cómo cablearía mi circuito? ¿Debo mirar los pines DI/DO o simplemente usar los pines MISO/MOSI?
Creo que es común usar MISO/MOSI en el maestro y DI/DO en los esclavos. Pero, de nuevo, son solo entradas/salidas y se pueden programar para hacer casi cualquier cosa.
Entonces, si mis dos esclavos usan comunicación SPI, ¿estaría conectando la línea MISO de los esclavos a la línea MISO de mi MCU o necesitaría conectar las líneas MISO de mis esclavos al pin DI / DO de la MCU? ¿El pin DI es la entrada a la MCU o la entrada al esclavo?
Quizás deberías estudiar: learn.sparkfun.com/tutorials/i2c

Respuestas (1)

Siga a lo largo de la hoja de datos .

Capítulo 13: USI significa Interfaz serial universal. Es un periférico que se puede programar para comunicaciones de tres hilos (SPI) o de dos hilos (I2C). Esta capacidad de configurarse para cualquiera de los protocolos en serie es la razón por la que se llama "universal". USI no es un protocolo de comunicaciones, es el periférico configurable.

Capítulo 13.3.1: El protocolo USI de tres hilos es compatible con SPI. Use los pines DI, DO y USCK en este modo. Esto es para cuando usa el microcontrolador como maestro SPI (13.3.2) o esclavo (13.3.3) para su aplicación.

Capítulo 18.6: Los pines MISO y MOSI se utilizan durante la programación en serie de las memorias flash y EEPROM del microcontrolador. Aquí el microcontrolador actúa como esclavo de algún programador externo que es el maestro.

Capítulo 10.2.2: El pin MISO es realmente el mismo pin que DO en el puerto B. Y MOSI es lo mismo que DI en el puerto B. Cuando haya configurado el puerto B para la programación en serie de las memorias internas, el microcontrolador estará actuando como un esclavo y los pines se denominan MISO y MOSI. Cuando haya configurado el puerto B para comunicaciones SPI con otros dispositivos para su aplicación, el microcontrolador podría ser maestro o esclavo. En este caso, los pines se denominan DO y DI porque solo se conoce la dirección de los datos y si el microcontrolador es maestro o esclavo depende de la aplicación.

Para usar el microcontrolador como maestro y comunicarse con un dispositivo SPI esclavo, conecte:

  • El pin DI (entrada) del microcontrolador al pin MISO (salida esclava) del dispositivo esclavo.
  • El pin DO (salida) del microcontrolador al pin MOSI (entrada esclavo) del dispositivo esclavo.
  • La pinta USCK del microcontrolador al pin de reloj apropiado en el dispositivo esclavo