SPI: rendimiento efectivo de la carga útil por tictac de reloj?

6

Digamos que estoy sincronizando un bus SPI a 30 MHz.

¿Qué rendimiento de carga útil realmente puedo esperar? 30 Mbps, o menos?

(Por ejemplo, los altos gastos generales impuestos por las pausas, los paquetes de control, los encabezados de paquetes, las sumas de comprobación de paquetes, etc. Noob SPI aquí.)

    
pregunta AlcubierreDrive

2 respuestas

10

SPI solo define una parte muy pequeña de su protocolo: cómo se transmite y recibe una palabra de datos básica. Una palabra de datos a menudo será un byte, pero eso no es un requisito; Si desea definir sus palabras SPI como 19 bits, puede hacerlo libremente.

La forma en que se definen esos 19 bits no es parte de la especificación SPI, SPI simplemente transmite 1 bit por tictac de reloj, y no le importa si ese bit es parte de su carga útil, preámbulo, suma de comprobación CRC, dirección, o lo que sea. Por lo tanto, sin más información sobre la codificación de palabras, es imposible decir qué tan alto es el rendimiento de su carga útil.

Si utiliza SPI para interactuar con un registro de desplazamiento simple, su rendimiento de carga útil será de 30 Mbps. Si desea establecer una interfaz con una EEPROM será menor, ya que, aparte de sus datos reales, también deberá proporcionar la dirección de la EEPROM, y para el modo de bytes, el rendimiento de la carga útil puede ser tan bajo como 10 Mbps.

    
respondido por el stevenvh
0

Wikipedia establece lo siguiente:

  • No hay direccionamiento en banda
  • No hay protocolo de comprobación de errores

Así que no hay gastos generales allí.

Además, SPI no está completamente estandarizado; p.ej. diferentes fichas utilizan diferentes longitudes de palabra, o incluso utilizan longitudes de palabra variables!

Por lo tanto, parece que en teoría es posible un promedio de 1 bit de carga útil / marca de reloj, pero en la práctica diferentes esclavos pueden o no pueden hacer algo útil con tantos Mbps, y pueden imponer sus propios retrasos de tiempo entre palabras.

    
respondido por el AlcubierreDrive

Lea otras preguntas en las etiquetas