You are on page 1of 30

PROTOCOLOS DE COMUNICACIN

SPI
USB

PROTOCOLO DE
COMUNICACIN
SPI
Interfaz de Serial Perifrico

Este protocolo nace casi a


principios
de
1980
cuando
Motorola lo comienza a introducir
y desarrollar en el primer
microcontrolador derivado de la
misma arquitectura.

SPI se ha convertido en uno de


los ms populares protocolos
para trabajar con comunicacin
serial debido a su velocidad de
transmisin,
simplicidad,
funcionamiento
y
tambin
gracias
a
que
muchos
dispositivos en el mercado como
pantallas
LCD,
sensores
o
microcontroladores
pueden

El SPI es un protocolo sncrono


que trabaja en modo full duplex
para
recibir
y
transmitir
informacin, permitiendo que dos
dispositivos pueden comunicarse
entre s al mismo tiempo
utilizando canales diferentes o
lneas diferentes en el mismo
cable.

Estructura general del


protocolo SPI.

Dentro
de
este
protocolo se define
un maestro que ser
aquel
dispositivo
encargado
de
transmitir
informacin a sus
esclavos.
Los
esclavos
sern
aquellos dispositivos
que se encarguen de
recibir
y
enviar
informacin
al
maestro. El maestro
tambin
puede

La sincronizacin y la transmisin de datos se


realiza por medio de 4 seales:
MOSI (Master Output Slave Input): Salida de
datos (bits) del Master y entrada de datos al
Slave. Tambin llamada SIMO.
MISO (Master Input Slave Output): Salida de
datos del Slave y entrada al Master. Tambin
conocida por SOMI.
SCLK (Clock): Es el pulso que marca la
sincronizacin. Con cada pulso de este reloj, se
lee o se enva un bit. Tambin llamado TAKT
SS (Slave Select): Para seleccionar un Slave, o
para que el Master le diga al Slave que se active.
Tambin llamada SSTE.

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 entradas del


mosi de cada esclavo va conectada con
el mosi del master para el primer caso o
de su esclavo anterior para el resto.
Adems, se utiliza un nico de seleccin
de esclavo proveniente del maestro en
forma paralela hacia cada esclavo.

Por otro lado, en el tipo Paralelo se


utiliza un nico mosi proveniente del
maestro en forma paralela hacia cada
esclavo. Adems, se adiciona una
lnea de seleccin de esclavo
proveniente del maestro por cada
esclavo que exista en el sistema.

As pues, la cadena de bits es


enviada de manera sncrona con
los pulsos del reloj, es decir con
cada pulso, el Master enva un
bit.
Para que empiece la transmisin
el Master baja la seal SSTE
SS/Select a cero, con esto el
Slave se activa y empieza la
transmisin.

Ntese que los pulsos de reloj pueden estar


programados de manera que la transmisin del bit
se realice en 4 modos diferentes, a esto se llama
polaridad y fase de la transmisin:
Modo 0: CPOL = 0 y CPHA = 0. Modo en el cual
el estado del reloj permanece en estado lgico
bajo y la informacin se enva en cada transicin
de bajo a alto, es decir alto activo.
Modo 1: CPOL = 0 y CPHA = 1. Modo en el cual
el estado del reloj permanece en estado lgico
bajo y la informacin se enva en cada transicin
de alto a bajo, es decir bajo activo.
Modo 2: CPOL = 1 y CPHA = 0. Modo en el cual
el estado del reloj permanece en estado lgico
alto y la informacin se enva en cada transicin
de bajo a alto, es decir alto activo.

Tiene como ventaja la velocidad de


transmisin ya que es configurable
a travs de software y depender
tambin
de
los
dispositivos
utilizados en el sistema. Con
respecto
a
otros
protocolos
seriales que trabajan a modo half
duplex, el SPI tiene velocidades de
transmisin
mucho
mayores
debido a que ste trabaja en modo
full dplex.

Es
ampliamente
utilizado
cuando
se
necesita
comunicar con equipos a
distancias cortas.
No
est
limitado
a
la
transferencia de bloques de 8
bits.

Como desventaja esta que no hay


seal
de
asentimiento.
Elservidorpodra estar enviando
informacin
sin
que
estuviese
conectado ningnclientey no se
dara cuenta de nada.
No
permite
fcilmente
tener
variosservidoresconectados al bus.
Slo funciona en las distancias
cortas a diferencia de otros.

PROTOCOLO DE
COMUNICACIN

USB

HISTORIA
Introducido y estandarizado por un grupo de
compaias Compaq, DEC, IBM, Intel, Microsoft,
NEC, HP, Lucent, Philips y Nortel) en 1995 y La
idea fundamental fue la de reemplazar la gran
cantidad de conectores disponibles en la PCs
simplificando la conexin y configuracin de
dispositivos logrando grandes anchos de
banda

USB 2.0 vs. USB 3.0

USB 2.0
El cable es ms delgado
Tiene 4 lneas
Modo de transferencia de datos halfduplex
USB 3.0
El cable se parece al utilizado en Ethernet debido
a su grosor
Tiene 8 lneas
Tres pares trenzados para datos y un par para
alimentacin
Modo de transferencia de datos Fullduplex

Existen 3 versiones de USB


USB 1.0 Enero 1996 y Velocidades de 1.5 Mbps
hasta 12 Mbps
USB 1.1 Septiembre 1998 y Primer versin
popular de USB
USB 2.0 Abril 2000 y La principal mejora es la
inclusin de una tasa de transferencia de alta
velocidad de 480 Mbps
USB 3.0 Noviembre 2008 y Tasa de transferencia
de 5 Gbps

FUNCIONES.
Pueden verse como dispositivos USB que proveen
capacidades o funciones tales como impresora,
escner, lector de memorias u otro perifrico.

ALIMENTACIN Y NIVELES.
Alimentacin
Entrega 5 V en una de las lneas (5 V5%).
La unidad de carga es 100mA (USB 2.0) y 150mA
(USB 3.0).
La mxima carga es 500 mA (USB 2.0) y 900 mA (USB
3.0).
Los hubs alimentados por Bus solamente entregan 1
unidad de carga para los dispositivos.
Los hubs alimentados autonomamente pueden
entregar la mxima carga a todos los dispositivos.
Niveles lgicos
1 D+ 200mV mayor a D
0 D+ 200mV menor a D

DESCRIPTORES.
Todos los dispositivos USB tienen una jerarqua de
descriptores que definen al host informacin tal como:
que es el dispositivo
quien lo fabric
que versin de USB soporta
de cuantas formas puede configurarse
el nmero de endpoints y sus tipos
Los descriptores USB ms comunes son:
Descriptores de dispositivo (Device descriptors)
Descriptores de configuracin (Configuration Descriptors)
Descriptores de interfaz (Interface Descriptors)
Descriptores de Endpoint (Endpoint Descriptors)
Descriptores de String (String Descriptors)
Proporciona informacin humanamente legible y son
opcionales

COMUNICACIONES.

TRANSFERENCIAS.

TRANSFERENCIAS DE
CONTROL.
Las transferencias de control son tpicamente
utilizadas para operaciones con comandos y de
status
Una transferencia de control puede tener hasta
tres etapas
Etapa Setup: donde la peticin es enviada.
Contiene la direccin y el nmero de endpoint
Etapa de datos (opcional): consiste en una o
multiples transferencias IN / OUT
Etapa de Status: informa el status de la
totalidad de la peticin. Varia en funcin de la
direccin de la transferencia

TRANSFERENCIAS DE
INTERRUPCIN.
El dispositivo que requiere atencin debe esperar que el host le
encueste antes que pueda informar que necesita atencin
Caractersticas
Latencia garantizada
Flujo del pipe: Unidireccional
Detecciones de errores y reproceso en prximo perodo
Interrupcin IN
El host encuesta peridicamente al endpoint. La frecuencia con
que encuesta est especificada en el descriptor del endpoint.
Cada encuesta implica que el host enve un IN Token
Interrupcin OUT
Cuando el host desea enviar al dispositivo datos de
interrupcin, solicita un OUT token seguido por un paquete de
datos que contiene los datos de interrupcin

TRANSFERENCIAS
ISCRONAS.
Las transferencias iscronas ocurren continua y
peridicamente. Tpicamente contienen informacin
sensible al tiempo, como flujo de video o audio
Caractersticas
Ancho de banda USB garantizado
Latencia acotada
Flujo del Pipe: Unidireccional
Deteccin de errores va CRC, pero sin reproceso ni
garanta de entrega
Disponible solamente en modos full speed y high speed
Las transferencias iscronas no tienen etapa de
handshaking y no pueden reportar errores o condiciones
de STALL/HALT

TRANSFERENCIAS MASIVAS.
Utilizado para envo masivo de datos (Ej.: datos de impresin
enviados a una impresora o datos de una imagen generados
por un escner)
Caractersticas
Correccin de errores (Campo CRC16 en el data payload)
Deteccin de errores / mecanismos de retransmisin
Utiliza espacio no asignado del ancho de banda del
bus despus que todas las otras transacciones han
sido asignadas
Solamente utilizado en comunicaciones no sensibles al
tiempo debido a que no hay garantas respecto a la latencia
Disponible solamente en modos full speed y high
speed

PAQUETES.
Cada transaccin USB consiste en:
Paquete Token (encabezado que define lo que se
espera a continuacin)
Paquete de datos (opcional contiene el payload)
Paquete de Status (Usado como acknowledge en
las transacciones y como una forma de corregir
errores)

You might also like