Hi all
I'm looking for ways to reduce the number of hardware interrupts that the DSP (C6742) in our application.
In our current application, the C6742 is connected to a ADS1158 ADC. The ADC !DRDY pin causes a hardware interrupt on the DSP, which then kicks a small interrupt routine that reads out the sample over SPI. This causes 23700 interrupts per second. The interrupt routine transfers 4 bytes over SPI to collect the new sample. Once the system has filled a complete buffer with samples (240 samples in our case), the interrupt routine sends a message to a task to process that buffer.
This works quite well, but I do wonder if it is possible to reduce the interrupt overhead (might be needed in future if we want to do more processing or if we want to increase the sample rate). We use BIOS5 for our application and use the PSP SPI driver in interrupt mode. I recon that DMA mode will not help us much here, since we only transfer 4 bytes per interrupt and we would still get 23700 interrupts per second from the ADC (please correct me if I'm wrong).
Is there a way though to use something similar to DMA to automatically fill the buffers in memory without generating any interrupt on the DSP? Of course there should be a way to signal the DSP when a buffer is full. Could we use McBSP for this? If so, is there perhaps some example of a similar setup?
I'm sorry if this question has been answered here before, but I couldn't find it on the forum.
Best regards
Admar