Operation
MOTOROLA
Queued Serial Peripheral Interface (QSPI) Module
16-5
16.4.1.1
Transmit RAM
Data to be transmitted by the QSPI is stored in the transmit RAM segment located at addresses 0x0 to
0xF. The user normally writes 1 word into this segment for each queue command to be executed. The user
cannot read transmit RAM.
Out-bound data must be written to transmit RAM in a right-justified format. The unused bits are ignored.
The QSPI copies the data to its data serializer (shift register) for transmission. The data is transmitted most
significant bit first and remains in transmit RAM until overwritten by the user.
16.4.1.2
Receive RAM
Data received by the QSPI is stored in the receive RAM segment located at 0x10 to 0x1F in the QSPI RAM
space. The user reads this segment to retrieve data from the QSPI. Data words with less than 16 bits are
stored in the least significant bits of the RAM. Unused bits in a receive queue entry are set to zero upon
completion of the individual queue entry.
Note: Throughout ColdFire documentation, ‘word’ is used consistently and exclusively to
designate a 16-bit data unit. The only exceptions to this rule appear in the sections
that detail serial communication modules such as the QSPI that supports
variable-length data units. To simplify this issue, the functional unit is referred to as
a ‘word’ regardless of length.
QWR[CPTQP] shows which queue entries have been executed. The user can query this field to determine
which locations in receive RAM contain valid data.
16.4.1.3
Command RAM
The CPU writes one byte of control information to this segment for each QSPI command to be executed.
Command RAM is write-only memory from a user’s perspective.
Command RAM consists of 16 bytes with each byte divided into two fields. The peripheral chip select field
controls the QSPI_CS signal levels for the transfer. The command control field provides transfer options.
A maximum of 16 commands can be in the queue. Queue execution proceeds from the address in
QWR[NEWQP] through the address in QWR[ENDQP].
The QSPI executes a queue of commands defined by the control bits in each command RAM entry which
sequence the following actions:
chip-select pins are activated
data is transmitted from transmit RAM and received into the receive RAM
the synchronous transfer clock QSPI_CLK is generated
Before any data transfers begin, control data must be written to the command RAM, and any out-bound
data must be written to transmit RAM. Also, the queue pointers must be initialized to the first and last
entries in the command queue.
Data transfer is synchronized with the internally generated QSPI_CLK, whose phase and polarity are
controlled by QMR[CPHA] and QMR[CPOL]. These control bits determine which QSPI_CLK edge is used
to drive outgoing data and to latch incoming data.
F
re
e
sc
a
le
S
e
m
ic
o
n
d
u
c
to
r,
I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
c
..
.