Hi
I have some troubles getting a good SPI performance with the C6748 SOM on the Logic EVM. I've configured the DSP as SPI master, 7 Mbit/s (which turns out to be 7.35) using DMA. When my application calles GIO_write(), all data bytes are clocked out at 7.35 Mbit/s and there is no gap between individual bytes. However, there is a 53 us delay between CS going low and the actual start of the transfer. Once transfer is finished, there is another 40 us delay before CS is returning to high. I've explained this a little more (including scope shots) here: http://e2e.ti.com/support/embedded/f/355/t/98047.aspx#342705.
It also seems that I'm not the only one noticing this problem; for example: http://e2e.ti.com/support/dsp/tms320c6000_high_performance_dsps/f/115/p/12370/48359.aspx#48359 or
http://e2e.ti.com/support/embedded/f/355/p/79653/283111.aspx#283111 seem like similar issues.
I've tracked the delays down to EDMA3_LOG_EVENT() calls, of which several happen in the time between CS going low and start of the clock.
What I'd like to know now:
- Are the delays that I see normal?
- Are there any methods to reduce these delays? For example:
- Disabling the EDMA3 logging with some configuration setting
- Recompiling EDMA3 drivers without logging?
- Cache settings? How can I see my current cache settings and what would the recommended cache settings be?
In case recompiling EDMA3 drivers is recommended: which project should I use? So far I've found these projects:
- edma3_drv_bios_c6748_sample_lib
- edma3_drv_bios_lib
- edma3_drv_bios_lib_c674
- edma3_drv_bios_c674_XDC
- edma3_drv_bios_lib_XDC
- edma3_rm_bios_c6748_lib
- edma3_rm_bios_c6748_sample_lib
Or should I recompile all of them?
Cheers
Admar
PS: For the record: I have the Logic EVM with C6748 SOM, psp drivers 01_30_00_05, BIOS 5.41.09.34 and edma3_lld_01_10_00_01 (at least, I think it is using that one).