Please note: We are aware of an issue affecting replies on the Arm Community forums, which may not be loading as expected.

We apologize for any inconvenience and appreciate your patience while we investigate and work to resolve the issue.

Thank you for your understanding.


This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

DMA & SSP big endian

Hi,
I'm using LPC2478.
My board connected to Analog Device ADE7878 chip that has Fast SPI that send continusly data.
Its 3 wire protocol that start the CS bit then clock out 7*32 bits (total 7*4 bytes=28 bytes) then raise the CS - wait 30Micro Second and start again.
The Clock is about 4mhz.
I want to fill a large area (in sdram) with the data.
I use the DMA with SSP and it works perfect.
I connect the CS line also to EINT0 so I know when the transfer is finished and then I reprogram the destinatin address for the DMA to fill the next block.
My problem is that the data is 32 bit - big endian (most first) and I need to swap the bytes to use them as a 32 bit integer.
Because I deal with a lot of data I don't want to waste time of this swap.
I read that the DMA has a bit for Big Endian mode. But when I set it on I don't get data at all (all 0).

I belive I have misunderstood of the SBSIZE DBSIZE SWidth & DWidth in the DMACC1Control register.

Any help?

Regards,
Doron