Queued Serial Peripheral Interface (QSPI) Module
MCF5272 ColdFire Integrated Microprocessor User’s Manual, Rev. 3
Freescale Semiconductor
14-3
14.3.1
Interface and Pins
The module provides as many as 15 ports and a total of seven signals: QSPI_Dout, QSPI_Din, QSPI_CLK,
QSPI_CS0, QSPI_CS1, QSPI_CS2, and QSPI_CS3.
Peripheral chip-select signals, QSPI_CS[0:3], are used to select an external device as the source or
destination for serial data transfer. Signals are asserted at a logic level corresponding to the value of the
QSPI_CS[3:0] bits in the command RAM whenever a command in the queue is executed. More than one
chip-select signal can be asserted simultaneously.
Although QSPI_CS[0:3] will function as simple chip selects in most applications, up to 15 ports can be
selected by decoding them with an external 4-to-16 decoder.
Note that chip selects QSPI_CS[3:1] are multiplexed with other pin functions. QSPI_Dout, QSPI_CLK,
and QSPI_CS0 are multiplexed with MCF5272 configuration inputs that only function during system
reset.
14.3.2
Internal Bus Interface
Because the QSPI module only operates in master mode, the master bit in the QSPI mode register
(QMR[MSTR]) must be set for the QSPI to function properly. The QSPI can initiate serial transfers but
cannot respond to transfers initiated by other QSPI masters.
14.4
Operation
The QSPI uses a dedicated 80-byte block of static RAM accessible both to the module and the CPU to
perform queued operations. The RAM is divided into three segments as follows:
16 command control bytes (command RAM)
16 transmit data words, (transfer RAM)
16 receive data words (transfer RAM)
RAM is organized so that 1 byte of command control data, 1 word of transmit data, and 1 word of receive
data comprise 1 queue entry, 0x0–0xF.
The user initiates QSPI operation by loading a queue of commands in command RAM, writing transmit
data into transmit RAM, and then enabling the QSPI data transfer. The QSPI executes the queued
commands and sets the completion flag in the QSPI interrupt register (QIR[SPIF]) to signal their
completion. Optionally, QIR[SPIFE] can be enabled to generate an interrupt.
Table 14-1. QSPI Input and Output Signals and Functions
Signal Name
Hi-Z or Actively Driven
Function
QSPI Data Output (QSPI_Dout)
Configurable
Serial data output from QSPI
QSPI Data Input (QSPI_Din)
N/A
Serial data input to QSPI
Serial Clock (QSPI_CLK)
Actively driven
Clock output from QSPI
Peripheral Chip Selects (QSPI_CS[3:0])
Actively driven
Peripheral selects