I am working with the ADSP-SC589 EZ-Board and using the ADC_DAC_Playback_SC589_SHARC example provided with the BSP SW package.
I am using the example in a PLAYBACK and TDM mode.
The playback works great an able to hear the sound captured by the microphone through the loudspeaker.
I want to modify the example such that the samples of the microphone are stored in the memory for lets say 10 sec and afterwards i want to download the stored signal to a file using the dump memory interface.
I order to acomplish the above mentioned task i added another for loop below the existing "//Playback Loop" in the ProcessBuffers function.
The loop i added is:
if(AdcCount >= START_REC_FRAME & AdcCount < END_REC_FRAME)
MicsBuf[indx] = __builtin_conv_RtoF(pSrc32b[i]);
where MicsBuf is a global variable stored starting in a memory address 0x80000000 defined as float32_t *MicsBuf ;
pSrc32b is a pointer to the ADC buffer that generated the callback, it is initialized inside ProcessBuffers function as follows pSrc32b = (int32_t *)pADC;
I do see that some data is saved during this processes to the DDR, however, when i dump the data in floating point 32 but format to a file and extract the different channels (based on my understanding the data in the memory is stored as ch1 ch2 ch3 ch4 ch1 ch2 ch3 ch4 ....) what i get is a complete garbage instead of the sine wave that was generated by and external loudspeaker.
would some have an idea on what the problem might be?
Thanks a lot