¿Cómo SPI y I2C encierran los datos?

0

Tengo preguntas sobre el mecanismo de trabajo y el método de medición de la interfaz SPI y I2C. Para SPI, hay varios modos. Mi pregunta es, ¿cómo se bloquearán los datos? Tome CPOL = 1 y CPHA = 0, por ejemplo, el bit está bloqueado en el borde descendente del reloj. Pero, ¿por qué es lo mismo para MISO y MOSI? Quiero decir, MISO y MOSI provienen de diferentes dispositivos (el primero del dispositivo y el del maestro). Pero el reloj siempre viene de maestro. Entonces, ¿cómo sería posible sujetar tanto MOSI como MISO por el flanco descendente del reloj? Para MOSI, tal vez sí, ya que el reloj y el MOSI salen juntos del maestro y llegan al dispositivo al mismo tiempo. (Tal vez debería decir medio reloj más tarde). Así que es posible que MOSI siga el diagrama de tiempo. Pero para MISO, ¿cómo dejamos que el MISO quede bloqueado en el centro de su bit, ya que viajará un tiempo incierto de vuelo de un dispositivo a otro? Y para la medición del alcance, ¿qué punto debemos sondear? ¿MOSI en el lado del dispositivo y MISO en el lado maestro?

Tengo la misma pregunta en I2C. Cómo asegurarse de que los datos de SDA se mantendrán altos cuando sea de maestro a esclavo, y de esclavo a maestro, ya que el reloj es siempre de maestro a esclavo?

Gracias por cualquier comentario! :)

    
pregunta Nobody

2 respuestas

2
  

Entonces, ¿cómo sería posible bloquear tanto MOSI como MISO por el borde de caída del reloj?

El diagrama está destinado solo para fines de ilustración, no uno detallado dentro del chip. Supongamos que los datos se capturan en el flanco descendente, suponemos que el esclavo está transmitiendo datos, ahora en el flanco descendente del reloj, el esclavo emite bit (por ejemplo, MSB en el primer reloj), la salida será retenida por el esclavo hasta el flanco ascendente de la entrada CLK, el maestro puede permitir que los datos esclavos lleguen hasta el borde ascendente del CLK y luego cambiar el bit a la derecha, la misma repetición hasta que los bits de datos se reciben, lo mismo se aplica a MOSI desde el maestro.

Otra explicación, usando SS (Selección de esclavo también llamada Pulso de E / S de Sincronización de Cuadro), cuando el bit de SS baja (ver la imagen) el esclavo saca los datos, en el flanco descendente se capturan los datos, que es aproximadamente el centro de el pulso de datos en el flanco ascendente los datos siguientes se desplazan a la salida, por lo que tenemos el tiempo de ancho de pulso CLK para que los datos se establezcan en los pines de salida y el maestro para capturar los datos del esclavo

El módulo periférico SPI tendrá toda la sincronización necesaria, cambiando el circuito para que funcione en el peor de los casos.

    
respondido por el Raj
2

SPI y I2C son relativamente interfaces lentas, diseñadas para trabajar con esclavos tontos y un solo maestro activo. Esto significa que tiene que elegir una velocidad de reloj que sea compatible con las longitudes de ruta y los circuitos involucrados.

El tiempo de ida y vuelta del reloj a los datos debe se debe tener en cuenta al diseñar los circuitos para la interfaz. Si la interfaz implica aislamiento óptico y los baratos pueden ser lentos (es difícil cumplir incluso con I2C de 100 kHz con CNY17 en la ruta), entonces estos también deben tenerse en cuenta. Lea las hojas de datos de los búferes que está utilizando, calcule las constantes de tiempo RC, haga su tarea y también permita 5 nS por metro para cualquier retraso en la línea de transmisión. Sume todos los tiempos de propagación, reste de medio ciclo de reloj y vea si cumple con el tiempo de configuración de la interfaz (\ $ t_ {su} \ $, está en la hoja de datos), si > 0, el resultado es satisfactorio.

Las interfaces de

Alta velocidad tienden a ser Source Synchronous por esta misma razón, todas las señales se envían desde el extremo transmisor.

Las interfaces de Muy alta velocidad como SATA, HDMI, etc. eliminan la necesidad de sincronización de cualquier señal y envían datos como una serie de reloj automático.

    
respondido por el Neil_UK

Lea otras preguntas en las etiquetas