You are on page 1of 5

Interfaz SPI

Es un sistema de comunicacin serie FULL-duplex sncrono de alta velocidad, el


cual puede ser utilizado simplemente como un puto bidireccional facilitando la
comunicaciones entre dispositivos electrnicos.
Cuando hablamos de full dplex nos referimos a que el envi de informacin
que se hace de bit por bit puede ser todo el tiempo y puede ser en ambos
sentidos, como tanto transmisin y recepcin en todo momento.

Cuando se desea establecer esta comunicacin, el microcontrolador permite


seleccionar entre dos modos de funcionamiento: el modo maestro y el modo
esclavo. Cuando se realizan redes de comunicaciones entre dos o ms
dispositivos solamente se permiten la existencia de un solo maestro, y los
dispositivos restantes en la red se configuran como esclavos.
Un sistema FULL dplex cuenta con cuatro tipos de seales para llevar su
proceso:

MOSI (Master Output-Slave Input): Es la linea de donde se envan los


datos desde el maestro hacia los esclavos.
MISO(MASTER INPUT-SLAVE Output): Es donde se envan los datos desde
los esclavos hacia el maestro.
SCK(Serial Clock): Es la seal de reloj que establece el proceso de
comunicacin y sincronismo entre dispositivos.
SS (Slave Select): Es la seal que hace una seleccin de que dispositivos
estn a la espera de iniciar una comunicacin. [Eso quiere decir que
podemos seleccionar que cantidad de esclavos van a iniciar un
proceso, eso se logra cuando el maestro coloca un 0 en este
pin para que luego los dispositivos adopten la condicin de
esclavo].

Funcionamiento del dispositivo maestro


Para empezar este sistema de comunicaciones se basa en un registro de
corrimiento donde se toman los datos de forma paralela y se transforman en
serial (PISO) transmitindolos por la lnea MOSI junto con la seal de reloj
(SCK). Esta transmisin de datos en general empieza por el bit menor
significativo, pero esto no es un estndar y puede cambia segn el modo que
se desee manejar.

Otra cosa importante es que el dispositivo maestro siempre ser el encargado


de generar las seal de reloj y tambin son aquello los que inician esta sesin
de enlace.

Funcionamiento del dispositivo esclavo


Recibe los datos del MOSI y la seal SCK para que nuevamente un registro de
corrimiento se encargue de transformar los datos seriales en un dato paralelo.

Ventajas del uso de SPI


Mediante software es posible seleccionar la velocidad de transmisin, la
polaridad y la fase de la seal de reloj encargada del sincronismo permitiendo
con ello la compatibilidad con diferentes dispositivos que permiten entrada
serie directa. [cuando hablamos de la velocidad, estamos hablando de
la velocidad del reloj, tomando como ejemplo el arduino UNO la
velocidad del reloj es como mximo de 16Mhz].

Es fcil de realizar estas comunicaciones, hay un notable ahorro de lneas de


conexin en comparacin con un puerto estndar, donde es necesario como
mnimo el cableado del bus de datos.
Modos de reloj
Como se haba mencionado antes, la transferencia de datos es sincronizada por
la lnea de reloj de este bus en donde un bit es transferido por cada ciclo de
reloj. Hay 4 modos de transmisin donde los datos sern intercambiados en el
estado de incremento o decremento del reloj (llamado asi la fase del reloj o
CPHA), y tambin si el reloj esta en estado IDLE (el estado inactivo llamado la
polaridad del reloj o CPOL).

Si pol es 1 inicia el IDLE en alto y si pha es 1 se leeran los bits cuando cambien
de alto a bajo.

Si pol es 0 inicia el IDLE en bajo y si pha es 1 se leeran los bits cuando cambien
de alto a bajo.

Si pol es 1 inicia el IDLE en alto y si pha es 0 se leeran los bits cuando cambie
de bajo a alto.

Si pol es 0 inicia el IDLE en bajo y si pha es 0 se leern los bits cuando cambie
de bajo a alto.

Ventajas

Protocolo flexible en que se puede tener un control absoluto sobre los


bits transmitidos

No est limitado a la transferencia de bloques de 8 bits

Eleccin del tamao de la trama de bits, de su significado y


propsito

Su implementacin en hardware es extremadamente simple

No es necesario arbitraje o mecanismo de respuesta ante fallos

Los dispositivos clientes usan el reloj que enva el servidor, no


necesitan por tanto su propio reloj

No es obligatorio implementar un transceptor (emisor y receptor),


un dispositivo conectado puede configurarse para que solo enve,
slo reciba o ambas cosas a la vez

Usa mucho menos terminales en cada chip/conector que una interfaz


paralelo equivalente

Como mucho una nica seal especfica para cada cliente (seal SS), las
dems seales pueden ser compartidas

Desventajas

Consume ms pines de cada chip que IC, incluso en la variante de 3


hilos

El direccionamiento se hace mediante lneas especficas (sealizacin


fuera de banda) a diferencia de lo que ocurre en IC que se selecciona
cada chip mediante una direccin de 7 bits que se enva por las mismas
lneas del bus

No hay control de flujo por hardware

No hay seal de asentimiento. El servidor podra estar enviando


informacin sin que estuviese conectado ningn cliente y no se dara
cuenta de nada

No permite fcilmente tener varios servidores conectados al bus

Aplicaciones
Spi se utiliza para hablar con una variedad de perifericos tales como :

Sensores : temperaturas , precion ,adc, pantallas tctiles .


Depsitos de control : los codecs de audio , potencimetros digitales
Lentes de cmara
Comunicaciones : Ethernet , usb , usart , can
Memorias : flash y eeprom
Tarjetas sd

You might also like