RM0082
RS_SDIO controller
Doc ID 018672 Rev 1
693/844
Figure 76.
Data transaction sequence with ADMA
1.
Create Descriptor table for ADMA in the system memory
2.
Set the Descriptor address for ADMA in the ADMA System Address register.
3.
Set the value corresponding to the Block Size register.
4.
Set the value corresponding to the Block Count register. If the Block Count Enable in
the Transfer Mode register is set to logic ‘1’, total data length can be designated by the
Block Count register and the Descriptor Table. These two parameters shall indicate
same data length. However, transfer length is limited by the 16 bit Block Count register.
If the Block Count Enable in the Transfer Mode register is set to logic ‘0’, total data
length is designated by not Block Count register but the Descriptor Table. In this case,
ADMA reads more data than length programmed in descriptor from SD card. Too much
Start
End
(1)
(2)
(3)
(4)
(6)
(7)
(9)
(14)
(5)
(8)
(11)
(12)
(13)
Create Discriptor table
Set ADMA System Address Reg
Set Block Count Reg
Set Argument Reg
Set Transfer Mode Reg
Wait for
Command Complete Int
Command
Complete Int occur
Clr Command Complete Status
Get Response Data
Wait for
Transfer Complete Int
and ADMA Error Int
ADMA Error Int occurs
Check Interrupt
Status
Transfer Complete Int occurs
Clr Transfer Complete
Interrupt Status
Clr ADMA Error
Interrupt Status
Set Command Reg
Set Block Size Reg
Abort ADMA
Operation
(10)
(15)