PDF de programación - HC908 FLASH, SERIAL PERIPHERAL INTERFACE (SPI)

Imágen de pdf HC908 FLASH, SERIAL PERIPHERAL INTERFACE (SPI)

HC908 FLASH, SERIAL PERIPHERAL INTERFACE (SPI)gráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 9 de Noviembre del 2017)
839 visualizaciones desde el 9 de Noviembre del 2017
333,0 KB
20 paginas
Creado hace 14a (15/07/2009)
SERIAL

PERIPHERAL
INTERFACE

(SPI)

Módulo Serial

Sincrónico

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

SERIAL PERIPHERAL INTERFACE MODULE

Clock

Generation

Module
(CGM)

Serial

Communications

Interface

(SCI)

System

Integration

Module
(SIM)

LVI

IRQ

COP

BREAK

RESET

68HC08

CPU

Timer
Interface
Module
(TIM)

Direct
Memory
Access
Module
(DMA)

Internal Bus (IBUS)

Serial

Peripheral
Interface

(SPI)

Random
Access
Memory
(RAM)

Electronically
Programmable

ROM

Monitor

ROM

• Las caracteristicas del módulo SPI incluyen lo siguiente:
• Operación Full-Duplex
• Modos Master y Slave
• Registros separados Transmit y Receive
• 4 Frecuencias modo Master ( Máximo = Bus Frequency / 2 )
• Frecuencia Máxima modo Slave = Bus Frequency
• Serial Clock con Polaridad y Fase programables
• Flag de error “Bus Contention” ( contención del Bus )
• Flag “Overrun Error”
• 2 habilitaciones de interrupción separadas :

SPRF (SPI Receiver Full)
SPTE (SPI Transmitter Empty)

• Modo programable “Wired-OR”
• Compatibilidad I2C (Inter-Integrated Circuit)

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Registros I/O del SPI

Tres registros controlan y monitorean las operaciones del SPI :

• SPI Control Register (SPCR)
• SPI Status and Control Register (SPSCR)
• SPI Data Register (SPDR)

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Modos del SPI

Modo “Master” (Amo)

• Solamente un SPI “master” inicia la transmisión
• Los Datos son desplazados hacia afuera via la linea Master Out Slave In (MOSI)
• Los Datos son desplazados hacia adentro via la linea Master In Slave Out (MISO)
• La Transmisión finaliza después de 8 ciclos del serial clock (SPSCK) , ya que se trata de
una transmisión serial “sincrónizada” con el “Clock” generado por el master y cada dato
está sincronizado con dicho clock (8 pulsos de clock y no mas que ello).

Modo “Slave” (Esclavo)

• Transferencia sincronizada al serial clock (SPSCK) desde el “Master”
• Los Datos son desplazados hacia adentro via la linea Master Out Slave In (MOSI)
• Los Datos son desplazados hacia afuera via la linea Master In Slave Out (MISO)

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Pin selección “Slave”

MASTER

Shift Register

Baud Rate Gen.

Slave Select (SS)
• Modo Master

SLAVE

Shift Register

MOSI
MISO

SPSCK

SS

+5v

SS

– SS se mantiene alto ( “1” ) durante la transmisión (se fuerza a “1”)
– Actua como una entrada de detección de error (si algo la fuerza a “0”, hay un error !!)
– Puede ser una salida de propósitos generales.

• Modo Slave

– SS debe permanecer bajo ( “0” ) hasta que se completa la transmisión (forma de habilitar al

dispositívo “slave”)

0 = Habilita el “slave”
1 = Deshabilita el “slave”

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

SPI Control Register

SPCR

READ:

WRITE:



SPRIE DMAS SPMSTR CPOL CPHA SPWOM SPE SPTIE













RESET:

0

0

0

0

1

0

0

0

SPI Control Register (SPCR)

• SPI Master (SPMSTR)

– Selección del modo de operación master o slave
1 = Modo Master
0 = Modo Slave

• SPI Enable (SPE)

1 = Habilita el SPI module
0 = Deshabilita SPI module

• SPI Master y Slave necesitan seteo de polaridad y fase de clock identicas (1*)
• Clock Polarity (CPOL)
– Determina el estado del clock cuando esta “idle”
• Clock Phase (CPHA)

1 = Comienza la captura de datos en el 2do. flanco del ciclo de clock
0 = Comienza la captura de datos en el 1er. Flanco del ciclo de clock*

1* NOTA: Consultar en el manual de datos del MCU elegído y del dispositívo SPI a conectar, para determinar con
exactitud el seteo de los bits CPOL y CPHA para una correcta comunicación entre ambos.

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Baud Rate del SPI

READ:

SPRF

0

SPSCR

WRITE:






OVRF MODF SPTE





0
SPR1 SPR0








RESET:

0

0

0

0

1

0

0

0

SPI Status and Control Register (SPSCR)

• SPI rate select bits (SPR1, SPR0) (selección velocidad)

– Setea la frecuencia del Master SPSCK clock
– No tiene efecto en los dispositivos “Slave”
– Baud Rate = CGMOUT / Baud Rate Divisor

SPR1:SPR0

System Clock
Divided By

Baud Rate

(System Clock Freq. = 8 MHz)

00
01
10
11

2
8
32
128

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

2 MHz
500 KHz
125 KHz
31,25 KHz

ING. DANIEL DI LELLA

SPI Data Register













Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

SPDR

READ:

WRITE:



Bit 7




Bit 6

RESET:





SPI Data Register (SPDR)

Bit 5





UNAFFECTED BY RESET















• Buffer de Lectura / Escrituta para los datos SPI
• Operación de escritura

– Escribe datos al “transmit data register”

• Operación de lectura

– Lee datos en el “receive data register”

Un SOLO buffer tanto para la lectura de datos (recepción) como para la escritura de datos
(transmisión). Tener en cuenta que en una conexión SPI, los datos forman un “anillo”
circular entre los buffers del dispositivo “master” y el dispositívo “slave”.

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Flags de estados del SPI

SPSCR



READ: SPRF

0

OVRF MODF SPTE

WRITE:











0








SPR1


SPR0

RESET:

0

0

0

0

1

0

0

0

SPI Status and Control Register (SPSCR)

• SPI Receiver Full (SPRF)

– Seteado cuando un byte es desplazado desde el shift register al “receive data

register”

– Limpiado por la lectura del SPSCR luego de la lectura del SPDR.

1 = Receive data register full
0 = Receive data register not full

• SPI Transmitter Empty (SPTE)

– Seteado cuando un byte se transfiere desde el SPDR al shift register
– Limpiado por la lectura del SPDR register

1 = Transmit data register “vacio”

0 = Transmit data register no “vacio”

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Interrupciones del SPI

SPCR

READ:

WRITE:

SPRIE


DMAS SPMSTR CPOL CPHA SPWOM SPE SPTIE













RESET:

0

0

0

0

1

0

0

0

SPI Control Register (SPCR)

• SPI Receiver Interrupt Enable Bit (SPRIE)

– Interrupción generada cuando se setea el flag SPRF

• SPI Transmit Interrupt Enable (SPTIE)

– Interrupción generada cuando se setea el flag SPTE
1 = Interrupción habilitada
0 = Interrupción deshabilitada

• Direct Memory Access Select (DMAS)

– No disponible en esta familia de HC08 !!!

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Inicialización

Sequencia de inicialización del SPI

1) Inicializar la frecuencia de clock del SPI ( SPR1 y SPR0 en SPSCR )

2) Setear la configuración del clock ( bits CPOL y CPHA en SPSCR )

3) Seleccionar operación Master/Slave ( SPMSTR en SPCR )

4) Habilitar las interrupciones si es necesario ( SPTIE, SPRIE en SPCR )

5) Habilitar el sistema SPI ( SPE en SPCR )

• Deberá habilitarse el dispositívo “Master” antes del “Slaves” !!!
(Para evitar falsas operaciones)

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Transferencia -- Master a Slave

Operación “Poleada” simple ( x polling )

1) Inicializar el SPI

2) Seleccionar el SS en el dispositívo Slave ( hardware dependiente )

3) Escribir un byte en el SPDR

4) En espera de la activación del Flag SPI Transmitter Empty (SPTE)

5) Leer el SPDR

6) Liberar el SS en dispositívo Slave ( hardware dependiente )

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Información Adicional

Modo “Wired-Or”

SPCR

READ:

WRITE:



SPRIE DMAS SPMSTR CPOL CPHA SPWOM SPE SPTIE













RESET:

0

0

0

0

1

0

0

0

SPI Control Register (SPCR)

• SPI Wired OR Mode (SPWOM)

– Configura las salidas MISO, MOSI, y al SPSCK como “open-drain”
– Permite sistemas de “Masters Múltiples”
– Provee algo de protección contra el “CMOS latchup”.

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Información Adicional

Flags de estados “Overflow y Mode Fault”

SPSCR

READ:

SPRF

0

WRITE:







OVRF MODF

SPTE







RESET:

0

0

0

0

1

SPI Status and Control Register (SPSCR)

• Overflow flag (OVRF)

0


0


SPR1





SPR0

0

0

– Se activa cuando el “Receive data register” no es leido antes de sobrescribirlo
– El byte de datos entrante se pierde

• El contenido del Data register no es afectado

– Limpiado por la lectura del “data register”

• Mode Fault flag (MODF)

– Modo Master solamente
– Indica que otro master trata de acceder a ese dispositívo
– Seteado cuando otro dispositívo pone el pin SS a “Low”
– Limpiado por una escritura al SPSCR

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Sumario de Registros

SPCR

READ:

WRITE:

SPRIE

DMAS

SPMSTR CPOL

CPHA SPWOM

SPE

SPTIE

SPSCR

READ:

SPRF

0

OVRF

MODF

SPTE

0

WRITE:

SPR1

SPR0

SPDR

READ:

WRITE:



Bit 7
















Bit 6

Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0













Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

**********************************************************************
* EduDevices.com.ar *
* CURSO EN LA WEB SOBRE MICROCONTROLADORES HC908 FLASH DE FREESCALE *
* BUENOS AIRES, REPUBLICA ARGENTINA *
*
  • Links de descarga
http://lwp-l.com/pdf7447

Comentarios de: HC908 FLASH, SERIAL PERIPHERAL INTERFACE (SPI) (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad