at91rm3400 ATMEL Corporation, at91rm3400 Datasheet - Page 380

no-image

at91rm3400

Manufacturer Part Number
at91rm3400
Description
Atmel Advanced At91 Arm Microcontroller
Manufacturer
ATMEL Corporation
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
at91rm3400-AU-002
Manufacturer:
Atmel
Quantity:
10 000
Write Operation
Figure 160. Write Functional Flow Diagram
380
AT91RM3400
Reset the PDCMODE bit
MCI_MR &= ~PDCMODE
Set the block length
MCI_MR |= (BlockLenght <<16)
Read status register MCI_SR
MCI_TDR = Data to write
WRITE_SINGLE_BLOCK
Number words write =
BlockLength/4
Send command
TXRDY = 0?
Poll the bit
No
In write operation the MCI Mode Register (MCI_MR) is used to define the padding value when
writing non-multiple block size. If the bit PDCPADV is 0, then 0x00 value is used when pad-
ding data, otherwise 0xFF is used. If set, the bit PDCMODE enables PDC transfer.
The following flowchart shows how to write a single block with or without use of PDC facilities.
Polling or interrupt method can be used to wait for the end of write according to the contents of
the Interrupt Mask Register (MCI_IMR).
This flowchart can be adapted to perform all the MultiMedia Card write functions.
No
No
Send command SEL_DESEL_CARD
Send command SET_BLOCKLEN
Yes
Yes
to select the card
RETURN
Write using PDC
Set the PDCMODE bit
MCI_MR |= PDCMODE
Set the block length
MCI_MR |= (BlockLength << 16)
Yes
Configure the PDC channel
PDC_TPR = Data Buffer Address to write
PDC_TCR = BlockLength/4
PDC2_PTCR = PDC_TXTEN
Read status register MCI_SR
WRITE_SINGLE_BLOCK
Send command
ENDTX = 0?
RETURN
Poll the bit
No
Yes
1790A–ATARM–11/03

Related parts for at91rm3400