您好!
我在 单通道模式下运行 ADC08DJ5200RF、并在初始化期间执行前台校准。 当我抓取一个包含 ADC 输出的存储器导出时、我注意到输出中的高 SNR。 如果我抓取这个输出并将其拆分为四个交错的数组、那么应该会 有四个数组、其中每个内核组的输出为 A 和 B、对吗? 下面是实现这一点的伪代码:
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++;
}
这种方式拆分 ADC 输出的做法是否正确、我可以得到内核 A 和 B 中各组的输出?
当我绘制这些数组中的值时、得到如下所示的结果:

如果我正确分离数据、此图中的每种颜色都代表每个内核的单个组。 鉴于此、我需要微调每个存储体的增益、以便它们尽可能接近所选数据段的平均值。 对于这一特定的信号、应以使最高正边沿始终位于同一位置的方式进行编程、因此我将在之后立即对段进行分析。
我尝试通过更改 GAIN_A0_FGDES、GAIN_A1_FGDES 、GAIN_B0_FGDES 和 GAIN_B1_FGDES 的值来调整增 益。 我假设这些寄存器的默认值是0x10 (因为数据表中没有提到它)、这是0x00和0x1F 之间的中间点、因此我将根据所分析的数据从该值上升或下降。 不过、我在更改寄存器时没有注意到任何差异、如果我回读这些寄存器、我每次都会得到0x10、无论我在写入寄存器之前或之后读取它们。 数据表未提及在写入这些寄存器之前是否需要其他情况、因此我只是在执行前台校准后"动态"进行此操作。
我能否更清楚地说明确切地如何执行微调增益?
提前感谢





