SPI: Interfaz de Serial Periferico para el microcontrolador QE - MC9S08QE128

De Wikitronica
Saltar a: navegación, buscar

Archivo:EsquemaMC9S08QE128conSPI.jpg
Esquema del MC9S08QE128 con la SPI resaltada

Introducción

La Interfaz de Serial Periférico es un Bus estándar de comunicaciones, cuya función principal es la transferencia de datos entre circuitos integrados en equipos electrónicos. LA MCU DEMOQE128 cuenta con un bus SPI para realizar operaciones entre módulos periféricos, lo cual le permite al usuario controlar casi cualquier dispositivo electrónico digital que acepte un flujo de bits regulado por un reloj.


Elementos Fundamentales que componen la SPI

RELOJ SERIAL DE LA SPI (SPSCK): Cuando la SPI es habilitada como un esclavo, este pin es la entrada del clock serial. Cuando la SPI es habilitada como maestro, este pin es la salida del clock serial.

SALIDA DE DATO MAESTRO, ENTRADA DE DATO ESCLAVO (MOSI): Cuando la SPI es habilitada como maestro y el pin de control Zero de la misma(SPC0) es 0 (en modo no bidireccional), este pin es la salida de dato serial. Cuando la SPI es habilitada como esclavo y SPC0 = 0, este pin es la entrada de dato serial. Si SPC0 = 1 para seleccionar el modo bidireccional de cable simple, y el modo maestro está seleccionado, este pin se convierte en el pin de entrada – salida de dato bidireccional (MOMI), además, el bit de habilitación de salida de modo bidireccional determina si el pin se comporta como una entrada (BIDIROE = 0) o como una salida (BIDIROE = 1). Si SPC0 = 1 y el modo esclavo esta seleccionado, este pin no es usado por la SPI y vuelve a ser un pin de puerto de entrada – salida uso general.

ENTRADA DE DATO MAESTRO, SALIDA DE DATO ESCLAVO (MISO): Cuando la SPI es habilitada como maestro y el pin de control Zero de la misma(SPC0) es 0 (en modo no bidireccional), este pin es la entrada de dato serial. Cuando la SPI es habilitada como esclavo y SPC0 = 0, este pin es la salida de dato serial. Si SPC0 = 1 para seleccionar el modo bidireccional de cable simple, y el modo esclavo está seleccionado, este pin se convierte en el pin de entrada – salida de dato bidireccional (SISO), además, el bit de habilitación de salida de modo bidireccional determina si el pin se comporta como una entrada (BIDIROE = 0) o como una salida (BIDIROE = 1). Si SPC0 = 1 y el modo maestro esta seleccionado, este pin no es usado por la SPI y vuelve a ser un pin de puerto de entrada – salida de uso general.

SLAVE SELECT ((SS)): Cuando la SPI esta habilitada como esclavo, este pin es la selección de entrada “low-true” del esclavo. Cuando la SPI esta habilitada como maestro y el habilitador del modo de fallo esta apagado (MODFEN = 0), este pin no es utilizado por la SPI y vuelve a ser un pin de puerto entrada – salida de uso general. Cuando la SPI esta habilitada como maestro y el MODFEN = 1, el bit habilitador de selección de salida del esclavo determina si ese pin se comporta como la entrada del modo de fallo (SSOE = 0) o como la salida de Slave Select (SSOE = 1).

TASA DE BAUDIOS DEL SPI: En la imagen inferior puede apreciarse que, la fuente del reloj para la Tasa de Baudios del SPI es el bus Clock. Los tres bits de calibración (SPPR2:SPPR1:SPPR0) seleccionan un divisor de calibración de 1, 2, 3, 4, 5, 6, 7 u 8. Los tres bits de selección de tasa (SPR2:SPR1:SPR0) dividen la salida de la etapa de calibración por 2, 4, 8, 16, 32, 64, 128 ó 256 para conseguir el Clock de tasa de bits interno de la SPI en modo maestro.

Tasa de Baudios de la SPI

Descripción de Señal Externa: La SPI opcionalmente comparte cuatro pines de puerto. La función de estos pines depende de los ajustes de los bits de control de la SPI. Cuando la SPI es inhabilitada (SPE = 0) estos cuatro pines se convierten en puertos de entrada – salida de uso general y no son controlados por la SPI.


El Módulo SPI

Diagrama del Módulo de la SPI

El elemento central de la SPI es el registro de desplazamiento SPI. Los datos se escriben en el transmisor de doble búfer (escrito en SPIxD) y se transfieren al registro de desplazamiento SPI al inicio de una transferencia de datos. Después de desplazar en un byte el dato, este es transferido dentro del receptor de doble búfer donde puede ser leído (leído desde SPIxD).

Cuando el SPI es configurado como maestro, el reloj de salida es dirigido por el pin SPSCK, el shifter output es dirigido por MOSI, y el shifter input desde el pin MISO. Cuando el SPI es configurado como esclavo, el pin SPSCK es dirigido por la entrada de reloj del SPI, el shifter output es dirigido por MISO y el shifter input desde el pin MOSI. En sistemas SPI externos, simplemente se conectan todos los pines SPSCK con los otros, todos los pines MISO juntos y todos los pines MOSI juntos. Los dispositivos periféricos a menudo utilizan nombres ligeramente diferentes para estos pines. En la figura se muestra el diagrama de bloques del módulo SPI.






Características de la Interfaz de Serial Periférico

Entre las características del módulo SPI se incluye:

• Modo de operación maestro/esclavo.

• Opciones bidireccionales de un solo cable o cable doble.

• Rango de bits de transmisión programable.

• Doble búfer para transmisión y recepción.

• Opciones de fase y polaridad del reloj serial.

• Selección de salida esclavo.

• Cambio seleccionable entre bit más significativo primero y bit menos significativo primero.

Esquema de conexión de un Sistema SPI en arreglo Maestro - Esclavo

Pueden conectarse varias unidades de microcontrol para crear sistemas de transferencia de datos. Por ejemplo, en el esquema se muestran los módulo SPI de dos unidades de microcontrol conectados en un arreglo maestro – esclavo. El dispositivo maestro inicializa todas las transferencias de dato SPI. Durante una transferencia, el maestro pasa el dato de salida, en el pin MOSI, al esclavo, mientras que, simultáneamente, recibe el dato de entrada (en el pin MISO) del esclavo. La transferencia cambia eficazmente los datos en los registros de desplazamiento SPI de los dos sistemas. La señal SPSCK es un reloj de salida desde el maestro y una entrada al esclavo. El dispositivo esclavo debe ser seleccionado por un bajo nivel en la entrada “slave select” (pin SS). En este sistema, el dispositivo maestro ha configurado su pin SS como una salida “slave select” opcional.

Los usos más comunes de sistemas SPI incluyen conexiones simples de los registros de desplazamiento para sumar puertos de entradas o salidas, o conectar pequeños dispositivos periféricos como conversores A/D o D/A serial. A pesar de que en la figura dos se muestra un sistema donde el dato es intercambiado entre dos unidades de microcontrol, muchos sistemas prácticos solo requieren conexiones simples donde el dato es transferido unidireccionalmente desde la unidad de microcontrol maestra al esclavo, o desde el esclavo a la unidad de microcontrol maestra.


Estructuras de los Registros de la SPI

La SPI tiene cinco registros de 8 – bits para selección de opciones SPI, control de velocidad de transmisión, reporte de estado SPI y para transmitir/recibir datos. A continuación se presenta una descripción de los registros y bits de control sólo por sus nombres.



Referencias Consultadas