Atmel Evaluation Kit AT91SAM9G25-EK AT91SAM9G25-EK Data Sheet

Product codes
AT91SAM9G25-EK
Page of 1165
626
SAM9G25 [DATASHEET]
11032D–ATARM–10-Mar-2014
34.8.2 Data Transfer Operation
The High Speed MultiMedia Card allows several read/write operations (single block, multiple blocks, stream, etc.). These 
kinds of transfer can be selected setting the Transfer Type (TRTYP) field in the HSMCI Command Register 
(HSMCI_CMDR).
These operations can be done using the features of the DMA Controller.
In all cases, the block length (BLKLEN field) must be defined either in the Mode Register HSMCI_MR, or in the Block 
Register HSMCI_BLKR. This field determines the size of the data block.
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 
HSMCI Block Register (HSMCI_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.
34.8.3 Read Operation
The following flowchart (
example, a polling method is used to wait for the end of read. Similarly, the user can configure the Interrupt Enable 
Register (HSMCI_IER) to trigger an interrupt at the end of read.