This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Performance difference between C6745 and C6747

Expert 1215 points

Hi,

We have a custom board with C6745 running at 282MHz, from 22.5793M xtal and PLLM = 24. I am seeing a significant performance difference, in term of operations can be performed, from the EVM6747.

In the audio example, I tried to wait a certain amount of time after the buffer being copied out.

 

 

  • memcpy(xmt,rcv,nmadus);
  • WaitMicroSeconds(n);

 

On EVM6747, I can wait about 0.85 * audioFrameLengthInMicrosecond without breaking audio. While on our own board, 0.4audioFrameLengthInMicrosecond is enough to break the audio.

Wait function is implemented using NOP.

On both our board and EVM6747, EMIFB is configured to use narrow mode.

I am using the newly released C674x dsplib, CGtools 6.1.5, DSP/Bios 5.33, PSP1.20.00.07 (1.20.00 has a bug and cannot be used, see https://community.ti.com/forums/t/5629.aspx).

My application is a CPU intensive audio program. I can run about 50% of the processing code without breaking audio, compared to EVM6747.

Any idea?

Thanks

 

 

  • One thing to add, from the CPU load graph, the audio example takes 9% on EVM6747, while 16% on our board.

  • Some further invistigation seem to suggest that the audio code (memcpy in case of the audio example) is called twice as often on our board as on EVM6747. Does it mean the McASP is generating interrupts at double rate? What may have caused that?

  • Are you using an external clock or the internally-generated SYSCLK2 to clock the McASP module? Also double-check the values you are passing to the McASP clock divider register fields ACLKnCTL [4:0] and AHCLKnCTL[4:0] (where n = R for receive or X for transmit). If these are generating different clock frequencies to the McASP register it could be retrieving data twice as fast.