Rainbow Electronics AT91CAP9S250A User Manual

Page 768

Advertising
background image

768

6264A–CAP–21-May-07

AT91CAP9S500A/AT91CAP9S250A

Figure 41-8. Read Functional Flow Diagram

Note:

1. It is assumed that this command has been correctly sent (see

Figure 41-7

).

2. This field is also accessible in the MCI Block Register (MCI_BLKR).

Read status register MCI_SR

Send SELECT/DESELECT_CARD

command

(1)

to select the card

Send SET_BLOCKLEN command

(1)

Read with PDC

Reset the PDCMODE bit
MCI_MR &= ~PDCMODE
Set the block length (in bytes)
MCI_MR |= (BlockLenght <<16)

(2)

Set the block count (if necessary)
MCI_BLKR |= (BlockCount << 0)

Number of words to read = 0 ?

Poll the bit

RXRDY = 0?

Read data = MCI_RDR

Number of words to read =

Number of words to read -1

Send READ_SINGLE_BLOCK

command

(1)

Yes

Set the PDCMODE bit
MCI_MR |= PDCMODE
Set the block length (in bytes)
MCI_MR |= (BlockLength << 16)

(2)

Set the block count (if necessary)
MCI_BLKR |= (BlockCount << 0)

Configure the PDC channel
MCI_RPR = Data Buffer Address
MCI_RCR = BlockLength/4
MCI_PTCR = RXTEN

Send READ_SINGLE_BLOCK

command

(1)

Read status register MCI_SR

Poll the bit

ENDRX = 0?

Yes

RETURN

RETURN

Yes

No

No

No

Yes

No

Number of words to read = BlockLength/4

Advertising