lunes, 24 de junio de 2013

SPI (Comunicación Serial Sincrónica)

Introducción
El intercambio de información digital entre un micro controlador y los periféricos puede ser de dos formas: de manera paralela o serial. la primera implica el envió simultaneo de la información, es decir, de varios bits (incluso todos) pertenecientes al dato, esto no solo ocasiona problemas de costo debido a la necesidad de mayor cableado y de conexiones, sino que afecta un aspecto crítico del micro controlador: la cantidad de terminales E/S utilizados. la comunicación serial plantea justamente lo contrario, en vez de enviar los bits de dato de manera simultanea, los envía por separado uno tras otro. entonces el receptor deberá invertir el proceso y reconstruir el dato original.

 Una forma de establecer la conexión serial es la comunicación sincrónica, que se refiere a la existencia de una señal de reloj común para los sistemas digitales que se interconectan. esta es una forma muy utilizada para conectar periféricos como convertidores Analógicos/digitales (ADC), memorias, procesadores digitales de señales (DPS's), entre otros.

Comunicación sincrónica

  • Existe una señal de reloj que sincroniza ambos sistemas.
  • Dispositivos esclavos no requieren de base de tiempo propia, la obtienen del maestro.
SPI

es un estándar establecido por Motorola que utiliza un bis de 4 lineas para interconectar dispositivos periféricos de baja y media velocidad. la comunicación se realiza siguiendo un modelo maestro/esclavo donde el maestro selecciona al esclavo y comienza el proceso de transmisión/recepción de información. El sistema SPI puede enviar y recibir información de manera simultanea, lo cual, eleva  la tasa de transferencia de datos.  En este estándar no existe ningún medio de direccionamiento de los dispositivos esclavos y mucho menos reconocimiento de la recepción de datos, así que, no existe forma alguna para que el dispositivo maestro pueda detectar la presencia de un esclavo o establecer un medio de control del flujo de datos.

Figura 1.  Conexiones de varios dispositivos por SPI.

Los nombres de las señales son definidos dentro del estandar como:
  • SCLK  reloj del bus.
  • MOSI (Master Output Slave Input) salida de los datos del maestro y entrada de datos a los esclavos.
  • MISO (Master Input Slave Output) salida de datos de los esclavos y entrada de datos al maestro.
  • SS (Slave Select) habilitación del esclavo por parte del maestro.
Dependiendo del número de esclavos presentes en el bus,  se requerían mas o menos lineas de seleccion para estos, cada una de ellas será nombrada como SS1,SS2,SS3... etc este medio de seleccion permite conectar varios esclavos de manera muy simple.
Tambien se deben tomar en cuenta los parametros CPOL (clock polarity) y CPHA (clock phase) con los cuales se determina el momento en el cual se considera valido un dato de entrada o se genera un dato de salida. 

Figura 2. Modos de operación del bus SPI


Erick de la Rosa

No hay comentarios:

Publicar un comentario