Hi.
I am using EVM OMAPL137 from Spectrum Digital and Sandisk 2 GB SD card. By using CSL low level, I have written MMSCD and EDMA3 functions to be used from DSP side.
DSP is running at 300 Mhz.
I am performing single block read write tests for optimizing my code, however I believe my read /write times are too large. I will be grateful if one can reduce those times. I also wonder what are these values for using DSP BIOS / Edma3 LLD.
Below are my key settings for MMCSD Controller:
Memory Clock : 25 Mhz
DataBus :4 bits
FifoLvl : 512 bits
Read/write endianness : Little
Dat3 detection : Disable
For writing mmcsd settings are ,
FIFOCTL : FIFOLVL = 512 bits, ACCWD = 4 bytes , DIRECTION = WRITE.
MMCSD cmd = DMATRIG = YES, WDATX = DATA , DATARW = WRITE , STREAM = BLOCK, WRITE_SINGLE_BLOCK
For reading ,
FIFOCTL : FIFOLVL = 512 bits, ACCWD = 4 bytes , DIRECTION = READ.
MMCSD cmd = DMATRIG = YES, WDATX = DATA , DATARW = READ, STREAM = BLOCK, READ_SINGLE_BLOCK
Here is EDMA3 paramset params for the transfer:
Acnt : 4
Bcnt : 16
Ccnt : 8
DAM:Incr
SAM:Incr
Static field : Normal
For reading from MMCSD fifo (vice versa for writing):
SrcBIDX : 0
SrcCIDX : 0
DstBIDX : 4
DstCIDX : 16
With these settings , transfer times are : Write = 82 us , Read = 567 us.
Are those values acceptable /reasonable? I can not comprehend why read is taking enormous times to be finished.
If I can, I will strip out my code to be analyzed, but it seems a hard work.
Thank you in advance.