After using adc_capture, I want to make processing on one of the receiver chains of fmcomms5/zc702, then I want to capture other samples using adc_capture again. The problem is that I found that some samples in the second capture are corrupted.
What I am suspecting is a function that transfer bytes from the DDR to a local memory. The functions is as follows.
uint32_t temp[40000*4] ;
int size = 40000;
memcpy( temp, ADC_DDR_BASEADDR, size*4);
ii = (i>>2) ;
i1 = i+1;
sampleQ[ii] = (int16_t)(temp[i1]& 0xFFFF);
sampleI[ii] = (int16_t)((temp[i1] >> 16) & 0xFFFF);
I found that most of the samples in the second capture are corrupted when I do not do memcpy and when I do it 2 or 3 samples are corrupted.
Do you have explanation to this?