![Freescale Semiconductor MCF54455 Reference Manual Download Page 778](http://html1.mh-extra.com/html/freescale-semiconductor/mcf54455/mcf54455_reference-manual_2330541778.webp)
DMA Serial Peripheral Interface (DSPI)
Freescale Semiconductor
31-25
POPNXTPTR equal to two means that the DSPI_RXFR2 contains the received SPI data that is returned
when DSPI_POPR is read. The POPNXTPTR field increments every time the DSPI_POPR is read.
POPNXTPTR rolls over every four frames on the MCU.
31.4.2.5.1
Filling the RX FIFO
The RX FIFO is filled with the received SPI data from the shift register. While the RX FIFO is not full,
SPI frames from the shift register are transferred to the RX FIFO. Every time an SPI frame is transferred
to the RX FIFO, the RX FIFO counter increments by one.
If the RX FIFO and shift register are full and a transfer is initiated, the DSPI_SR[RFOF] bit is asserted
indicating an overflow condition. Depending on the state of the DSPI_MCR[ROOE] bit, data from the
transfer that generated the overflow is ignored or shifted in to the shift register. If the ROOE bit is set,
incoming data is shifted in to the shift register. If the ROOE bit is cleared, the incoming data is ignored.
31.4.2.5.2
Draining the RX FIFO
Host software or the eDMA can remove (pop) entries from the RX FIFO by reading the DSPI_POPR. For
more information on DSPI_POPR, refer to
Section 31.3.7, “DSPI Pop Receive FIFO Register
”
A read of the DSPI_POPR decrements the RX FIFO counter by one. Attempts to pop data
from an empty RX FIFO are ignored, and the RX FIFO counter remains unchanged. The data returned
from reading an empty RX FIFO is undetermined.
When the RX FIFO is not empty, the RX FIFO drain flag, DSPI_SR[RFDF], is set. The RFDF bit is cleared
when the RX_FIFO is empty and the eDMA controller indicates that a read from DSPI_POPR is complete.
Alternatively, the RFDF bit can be cleared by software writing a 1 to it.
31.4.3
DSPI Baud Rate and Clock Delay Generation
The DSPI_SCK frequency and the delay values for serial transfer are generated by dividing the system
clock frequency by a prescaler and a scaler with the option of doubling the baud rate.
conceptually how the DSPI_SCK signal is generated.
Figure 31-13. Communications Clock Prescalers and Scalers
31.4.3.1
Baud Rate Generator
The baud rate is the frequency of the serial communication clock (DSPI_SCK). The system clock is
divided by a baud rate prescaler (defined by DSPI_CTAR
n
[PBR]) and baud rate scaler (defined by
DSPI_CTAR
n
[BR]) to produce DSPI_SCK with the possibility of doubling the baud rate. The DBR, PBR,
and BR fields in the DSPI_CTAR
n
select the frequency of DSPI_SCK using the following formula:
Eqn. 31-1
Prescaler
1
Scaler
1+DBR
System Clock
DSPI_SCK
SCK baud rate
f
SYS/2
PBR Prescaler Value
--------------------------------------------------
1
DBR
+
BR Scaler Value
----------------------------------------
=
Summary of Contents for MCF54455
Page 33: ...xxviii Freescale Semiconductor ...
Page 67: ...Freescale Semiconductor 1 ...
Page 125: ...Freescale Semiconductor 1 ...
Page 145: ...Enhanced Multiply Accumulate Unit EMAC 5 21 Freescale Semiconductor ...
Page 173: ...Cache 6 28 Freescale Semiconductor ...
Page 179: ...Static RAM SRAM 7 6 Freescale Semiconductor ...
Page 207: ...Power Management 9 16 Freescale Semiconductor ...
Page 323: ...Reset Controller Module 13 8 Freescale Semiconductor ...
Page 389: ...Pin Multiplexing and Control 16 44 Freescale Semiconductor ...
Page 575: ...PCI Bus Controller 22 58 Freescale Semiconductor ...
Page 600: ...Advanced Technology Attachment ATA Freescale Semiconductor 23 25 ...
Page 601: ...Freescale Semiconductor 1 ...
Page 842: ...I2 C Interface Freescale Semiconductor 33 16 ...
Page 843: ...Freescale Semiconductor 1 ...
Page 921: ...Revision History A 6 Freescale Semiconductor ...