DSPRelated.com
Forums

DMA Address Assignment

Started by clarkdrti November 15, 2005
I have a specific question about how the DMA transfers 16 bit data to
on-chip memory (DARAM). I understand the DMA and data buss uses 24bit
addressing. So why does the initial memory address need to be left
shifted by 1?

From certain examples (McBSP to DARAM) that I've seen, why does the
memory buffer need to twice as big. For example, if have one element
per frame and I write 1024 elements to a buffer, the actual buffer
length needs to be defined as 2048, correct? So what's happening and
why are two addresses required for each sample or element? This is
confusing to me because when the end of block interrupt occurs the
data is available within the assigned array. Maybe this has something
to do with DARAM, but I was wondering if anyone can clarify this for
me.

Thanks
Mike