Hello,
I have a ADC08DJ5200RF running on single channel mode and I'm performing a foreground calibration during initialisation. I am noticing a high SNR in the output when I grab a memory export that contains the output of the ADC. If I grab this output and then split it into four interleaved arrays, this should give me four arrays with the output of each individual bank of cores A and B, correct? Here's the pseudocode that does this:
ArrayIterator = 0; for (u8 i = STARTING_POINT; i <= (END_POINT-4); i+=4) { stADCCoresInfo.ADCABank0[ArrayIterator] = SingleFrame[i]; stADCCoresInfo.ADCBBank0[ArrayIterator] = SingleFrame[i+1]; stADCCoresInfo.ADCABank1[ArrayIterator] = SingleFrame[i+2]; stADCCoresInfo.ADCBBank1[ArrayIterator] = SingleFrame[i+3]; ArrayIterator++; }
Is it a correct assumption that splitting the ADC output this way gives me the outputs of the individual banks of cores A and B?
When I plot the values in these arrays, I get something like this:
If I'm splitting the data correctly, each colour in this plot represents an individual bank of each core. Given this, I want to fine tune the gain of each bank so that they're as close as possible to the mean of the selected data segment. This particular signal is programmed in a manner that the highest positive edge is always on the same position, so I'm analysing the segment immediately after.
I am trying to adjust the gain by changing the value of GAIN_A0_FGDES, GAIN_A1_FGDES, GAIN_B0_FGDES and GAIN_B1_FGDES. I am assuming the default value of these registers is 0x10 (since it's not mentioned in the datasheet), which is the middle point between 0x00 and 0x1F, so I'm going up or down from that value depending on the analysed data. However, I'm not noticing any difference when I change the registers, and if I read them back, I get 0x10 every single time, whether I'm reading them before or after writing to them. The datasheet doesn't mention whether something else needs to happen before writing to these registers, so I'm just doing it "on the fly" after foreground calibration has been performed.
Could I get more clarity on how exactly to perform fine gain adjustment?
Thanks in advance