SPI

SPI 


SPI es un acrónimo para referirse al protocolo de comunicación serial Serial Peripherical Interface. 
El SPI es un protocolo síncrono que trabaja en modo full Duplex para recibir y transmitir información, permitiendo que dos dispositivos pueden comunicarse entre sí al mismo tiempo utilizando canales diferentes o líneas diferentes en el mismo cable. Al ser un protocolo síncrono el sistema cuenta con una línea adicional a la de datos encarga de llevar el proceso de sincronismo. 

Dentro de este protocolo se define un maestro que será aquel dispositivo encargado de transmitir información a sus esclavos. Los esclavos serán aquellos dispositivos que se encarguen de recibir y enviar información al maestro. El maestro también puede recibir información de sus esclavos.


En este protocolo se define únicamente un maestro y varios esclavos. La manera en la cual estos dispositivos se conectan pueden ser de dos tipos: encadenado o paralelo. El de tipo encadenado las entrada del MOSI de cada esclavo va conectada con el MOSI del master para el primer caso o de su esclavo anterior para el resto. Además, se utiliza un único de selección de esclavo proveniente del maestro en forma paralela hacia cada esclavo.


La transmisión de información puede darse de muchas maneras dependiendo del fabricante, en muchos casos la línea SS habilita un esclavo cuando ésta se pone en estado lógico cero pero eso puede cambiar. 


Polaridad del reloj

Básicamente la polaridad indica si la señal de reloj iniciará con flanco de bajada o de subida para el primer dato a enviar, y la fase indica cuando se toma y actualiza el dato en el bus, esto puede ser de 2 maneras: Se toma el dato en flanco de subida y se actualiza en flanco de bajada o al contrario, se toma el dato en flaco de bajada y se actualiza en flanco de subida.



BIBLIOGRAFÍA

https://vidaembebida.wordpress.com/2017/02/08/protocolo-de-comunicacion-spi/

https://www.puntoflotante.net/COMUNICACION-SPI-TUTORIAL.htm

Comentarios

Entradas populares de este blog

ARREGLO LOGICO GENERICO (GAL)

Función "rising_edge" para VHDL

Señal del reloj en VHDL