SPI: Interfaz Serie Síncrona MC68HC908GP32 Entradas SPI Compartidas con E/S’s del Puerto D Universidad de Alcalá. Escuela Politécnica JMVC Sistemas Electrónicos Digitales. I. Telecomunicación SPI: Interfaz Serie Síncrona Comunicación serie Full-Duplex síncrona. Modos Master/Slave seleccionables. Interfaz de 4 líneas en el puerto D: En modo Master hasta 4 posibles velocidades de transmisión. /SS (PTD0). Slave Select. MISO (PTD1). Master Input Slave Output. MOSI. (PTD2).Master Output Slave Input. SPSCK.(PTD3).Serial ClocK. Vel(max)= FBUS/2 bps. En modo Slave la máxima velocidad es la frecuencia de Bus. Reloj con polaridad y fase programable. Dos fuentes de interrupción separadas: SPRF (Flag indicador de recepción completa) SPTE (Flag indicador de Transmisor vacío) Universidad de Alcalá. Escuela Politécnica JMVC Sistemas Electrónicos Digitales. I. Telecomunicación 1 SPI: Funcionamiento HC08 Slave HC08 Master BUS interno BUS interno SPDR TRANSMIT 1 0 1 DATA 0 1 REGISTER 0 1 0 RECIVE 1 0 1DATA 0 1REGISTER 0 1 0 SHIFTDESPLAZAMIENTO REGISTER REGISTRO x1 x 0 x 1 x 0 x 1 x0 SPDR REGISTRO DESPLAZAMIENTO MISO x 0x 1 1x 0x 1x 0x 1x 0x 1x 0x MOSI MOSI Registro de Recepción de Datos SPDR PIN CONTROL LOGIC M Control de Reloj SPTIE Registro de Transmisión de Datos SPDR SPSCK SPRIE S SS 0 0 VDD SS SPTE SPRF 0 1 01 JMVC Universidad de Alcalá. Escuela Politécnica Sistemas Electrónicos Digitales. I. Telecomunicación SPCR: Registro de Control del SPI READ: SPRIE DMAS SPMSTR CPOL CPHA SPWOM SPE SPTIE WRITE: RESET: 0 1 0 0 0 CPOL=1. Activo el nivel alto. CPOL=0. activo el nivel bajo. CPHA=1. Selecciona el primer flanco activo al comienzo de la transmisión del bit MSB. CPHA=0. Selecciona el primer flanco activo en mitad del bit MSB (medio ciclo más tarde). SPWOM. Modo Wire-OR pines SPI 1 CPHA. Fase de la señal de reloj 0 SPRIE. Habilitación de interrupciones del Receptor. DMAS. Bit selección DMA (Sólo en CPU,s con DMA). SPMSTR. Salección modo Master/Slave. CPOL. Polaridad de la señal de reloj 0 SPWOM=1, salida Wired-OR de los pines SPSCK, MOSI, MISO. SPWOM=0, salida normal push-pull. SPE. Habilita el SPI. SPTIE. Habilitación de interrupciones del Transmisor. Universidad de Alcalá. Escuela Politécnica JMVC Sistemas Electrónicos Digitales. I. Telecomunicación 2 SPSCR: Registro de Estado-Control del SPI READ: SPRF OVRF ERRIE MODF SPTE MODFEN SPR1 SPR0 WRITE: RESET: 0 0 SPR1:0 0 Baud rate Divisor Si SPTIE=1, se genera una interrupción cuando el registro de recepción se llena. Se borra leyendo el registro SPSCR, seguido del registro de datos SPDR, del SPI. 0 0 0 1 8 ERRIE=1. Los flag,s OVRF y MODF activan una petición de interrupción. ERRIE=0. Los flag,s OVRF y MODF no activan interrupción. 1 0 32 1 1 128 2 Indica que un nuevo dato ha entrado en el registro receptor, y aún no ha sido leído el anterior. Se borra leyendo el registro SPSCR, seguido del registro de datos SPDR, del SPI. Si el SPI se configura en modo Master, MODF=1 cuando el pin /SS se pone a nivel bajo. Si el SPI se configura como Slave, MODF=1 cuando el pin /SS se pone a nivel alto durante la transmisión. SPTE. Flag indicador de Transmisor vacío. 1 MODF. Flag indicador de fallo de modo. 0 OVRF. Flag de desbordamiento. 0 ERRIE. Habilitación interrupción por error en el SPI 0 SPRF. Flag indicador de Receptor lleno. 0 Si SPTIE=1, se genera una interrupción cuando el registro transmisor de datos está vacío. No de debe escribir en SPDR hasta que esté flag esté activo. MODFEN. Habilita la detección de fallo de modo. SPR1:SPR0. Selección de la velocidad de transmisión. Vt = CGMOUT/2·BD [bps] Nota: FBUS = CGMOUT/2 Universidad de Alcalá. Escuela Politécnica JMVC Sistemas Electrónicos Digitales. I. Telecomunicación SPI: Esquema interno Universidad de Alcalá. Escuela Politécnica JMVC Sistemas Electrónicos Digitales. I. Telecomunicación 3 SPI: Formato de transmisión CPHA=0 Si CPHA=0 el primer flanco de reloj captura el MSB. El Slave ha de tener el dato válido antes de este flanco. El Slave inicia su transmisión con el flanco de bajada de /SS. El pin /SS ha de desactivarse-activarse por cada byte transmitido. JMVC Universidad de Alcalá. Escuela Politécnica Sistemas Electrónicos Digitales. I. Telecomunicación SPI: Formato de transmisión CPHA=1 Si CPHA=1, el Master comienza a sacar el dato por MOSI con el primer flanco de la señal de reloj. El Slave utiliza el primer flanco de reloj para iniciar su transmisión. La señal /SS ha de permanecer a nivel bajo durante la transmisión. Este modo es el preferido cuando hay un solo Master y un Slave. Universidad de Alcalá. Escuela Politécnica JMVC Sistemas Electrónicos Digitales. I. Telecomunicación 4 SPI: Formato de transmisión Temporización pin /SS en función de CPHA CPHA=0 CPHA=1 Universidad de Alcalá. Escuela Politécnica JMVC Sistemas Electrónicos Digitales. I. Telecomunicación SPI: Inicialización Master-Slave Inicializar la frecuencia del reloj Configurar el reloj Bit SMPSTR (en SPSCR) Activar las interrupciones (opcional) Bits CPOL y CPHA (en SPSCR) Seleccionar el modo master/slave Bits SPR1, SPR0 (en SPSCR) Bits SPTIE y SPRIE (en SPCR) Activar el SPI master Activar el SPI slave Universidad de Alcalá. Escuela Politécnica JMVC Sistemas Electrónicos Digitales. I. Telecomunicación 5