Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

CCS/TMS320C6678: EMIF reading slow

$
0
0

Part Number:TMS320C6678

Tool/software: Code Composer Studio

Hello, 

I am working on a project with a C6000 communicating with a C2000 via a DPRAM with an EMIF communicaiton. The communication works fine, but I noticed the reading speed from the DPRAM to the C6000 was too slow, even slower than the writing...

I am using CYDC128B16-55 memory connected to the C6000 as below: 

I configured the registers AWCCR = 0xE0000080, *(volatile U32*)0x20C00008 |= 0x80000000, and A1CR doesn't seems to change the read speed if it is by default or with some customs values. 

The data I need to read fast is on the CS0 at the address, 0x70000080, there is 9Bytes of data to read, the data is contiguous, the function called as the form as above: 

    uint8_t *dst = [....destination address in internal SRAM....];

    uint8_t *src = (uint8_t *)0x70000080;

    n = 9;

    while (n--) {

       *dst++ = *src++;

    }

I measured the duration with 9bytes, it is 2.16µs, thus a speed of 8MB/s (with 15bytes I got 3.8µs : 7.9M/s). The weird part is when I write the data from the C6000 to the DPRAM, for 9 bytes I measured 380ns, so a speed of 48MB/s, which is a lot better !

I tried to reduce the read strobe to its minimum, I won 20% duration but of course the data were completely false.

I tried to stop all writing from the other port, no changes, the wait[0] signal stays always high. 

I tried with 16 bytes, 32, 64 bytes, the reading speed stays around the same. 

Any ideas how to increase the reading speed ? 

Regards, 

Clement


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>