2 read operation – Rainbow Electronics AT91CAP9S250A User Manual

Page 767

Advertising
background image

767

6264A–CAP–21-May-07

AT91CAP9S500A/AT91CAP9S250A

Consequent to MMC Specification 3.1, two types of multiple block read (or write) transactions
are defined (the host can use either one at any time):

• Open-ended/Infinite Multiple block read (or write):

The number of blocks for the read (or write) multiple block operation is not defined. The
card will continuously transfer (or program) data blocks until a stop transmission command
is received.

• Multiple block read (or write) with pre-defined block count (since version 3.1 and higher):

The card will transfer (or program) the requested number of data blocks and terminate the
transaction. The stop command is not required at the end of this type of multiple block read
(or write), unless terminated with an error. In order to start a multiple block read (or write)
with pre-defined block count, the host must correctly program the MCI Block Register
(MCI_BLKR). Otherwise the card will start an open-ended multiple block read. The BCNT
field of the Block Register defines the number of blocks to transfer (from 1 to 65535
blocks). Programming the value 0 in the BCNT field corresponds to an infinite block
transfer.

41.8.2

Read Operation

The following flowchart shows how to read a single block with or without use of PDC facilities.
In this example (see

Figure 41-8

), a polling method is used to wait for the end of read. Simi-

larly, the user can configure the interrupt enable register (MCI_IER) to trigger an interrupt at
the end of read.

Advertising