17-10
MC68SZ328 Reference Manual
MOTOROLA
Multimedia Card/Secure Digital Host Controller
If the host attempts to use a higher frequency, the card might not be able to process the data and stops
programming; sets the OVERRUN error bit in the status register, ignores all further data transfers, and
waits (in the receive-data state) for a stop command. The write operation also aborts if the host tries to
write over a write-protected area. When this occurs, the card sets the WP_VIOLATION bit.
17.5.2.2.2 Stream Read
There is a stream-oriented data transfer controlled by READ_DAT_UNTIL_STOP (CMD11). This
command instructs the card to send its payload, starting at a specified address, until the host sends a
STOP_TRANSMISSION command (CMD12). The stop command has an execution delay due to the serial
command transmission. The data transfer stops after the end bit of the stop command. If the end of the
memory range is reached when sending data and no stop command has been sent by the host, the contents
of the further transferred payload is undefined.
The maximum clock frequency for stream read operation is given by the following formula:
max. speed = min. (TRANS_SPEED, (8 * 2 READ_BL_LEN - NSAC) / TAAC)
These parameters are defined in
Table 17-2. If the host attempts to use a higher frequency, the card might
not be able to sustain the data transfer. If this happens, the card sets the UNDERRUN error bit in the status
register, aborts the transmission, and waits in the data state for a stop command.
17.5.2.3 Erase: Group Erase and Sector Erase
It is desirable to erase many sectors simultaneously in order to enhance the data throughput. Identification
of these sectors is accomplished with the TAG_* commands. Either an arbitrary set of sectors within a
single erase group or an arbitrary selection of erase groups can be erased at one time, but not both together.
That is, the unit of measure for determining an erase is either a sector or an erase group. If a set of sectors
must be erased, all selected sectors must lie within the same erase group. To facilitate selection, a first
command with the starting address is followed by a second command with the final address, and all sectors
(or groups) within this range are selected for erasing. After a range is selected, an individual sector (or
group) within that range can be spared from erasure using the UNTAG command.
The host must adhere to the following command sequence: TAG_SECTOR_START,
TAG_SECTOR_END, UNTAG_SECTOR, and ERASE.
A similar sequence can be applied for groups (TAG_ERASE_GROUP_START,
TAG_ERASE_GROUP_END, UNTAG_ERASE_GROUP, and ERASE). Up to 16 untag sector or group
commands can be sent within one erase cycle. If an erase or tag/untag command is received out of
sequence, the card sets the ERASE_SEQ_ERROR bit in the status register and resets the entire sequence.
If an out of sequence command (except SEND_STATUS) is received, the card sets the ERASE_RESET
status bit in the status register, resets the erase sequence, and executes the last command. If the erase range
includes write-protected sectors, they are left intact; only the unprotected sectors are erased. The
WP_ERASE_SKIP status bit in the status register is set. The address field in the tag commands is a sector
or a group address in byte units. The card ignores all LSBs below the group or sector size.
The number of untag commands (CMD34 and CMD37) that are used in a sequence is limited to a
progress by holding DAT low. The actual erase time can be quite long, and the host can issue CMD7 to
deselect the card.
1.
r = readable; w = writeable
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
..
.