Other Parts Discussed in Thread: LM1117
Tool/software: Code Composer Studio
Hi
I am using the TMS320vc5510a to do MCBSP to connect a codec to process voice, below is how I process it in the code, my code does the functions very well, we can process the voice in PING-PONG buffers with DMA without any problem, and hardware is also well designed. the issue is that the DSP and it's core LDO (1.6V) chip are hot, looks like DSP runs in full speed and no chance get a moment to relax :), I am wondering is it I didn't process the while loop correctly in main, in other words, Does the DSP needs a properly loop to process ISR event?
I am using C55xxCSL and CCS5.5.
............
void main(void) {
.............
while (1) {
if (dataAvailable) {
setLed(on);
processVoice();
dataAvailable = 0;
}else {
setLed(off);
}
}
}
void processVoice(){
if (pingOrPong == PING) {
processPingBuffer();
}else{
processPongBuffer();
}
}
interrupt void dmaRcvIsrS1(void) {
if (pingOrPong == PING) {
// Set new state to PONG
pingOrPong = PONG;
}
else {
// Set new state to PING
pingOrPong = PING;
}
dataAvailable = 1;
}
Thank you
Tiexue