主题中讨论的其他器件:LAUNCHXL-F280025C、 REF6025、 OPA320、 C2000WARE
目前、我们在 ADC 结果中得到偏移误差。 每次将恒定输入 VTG 应用于 ADC 输入时、ADC 结果中都会出现不同的值。
我们尝试了以下操作:
- 我们已经对(*设备_cal)进行了强有力的调用,正如 TRM 中所建议的那样。
还强制调用以下 API;
- ADC_setOffsetTrim
- ADC_setINLTrim
- 此外,还尝试通过将0v 应用于 ADC 输入通道(未向 ADC 输入提供任何内容)来获取偏移值,并尝试更改特定 ADC 模块的 OFFSET_TRIM 寄存器。 但我们观察到的是、当不应用任何值时、我们始终会获得不同的偏移值。
- 我们使用示例代码 ADC_EX10_MULTIPLE_SoC_ePWM 进行了检查、但我们也使用示例代码观察到相同的偏移误差。
我们在 ADC 中具有以下配置;
- 内部基准 VTG = 3.3V
- ADC A 和 ADC C 模块均配置为4个 SOC。
- 触发源= 4个通道的 PWM 触发器和4个通道的软件触发器(具有20kHz 频率和50%占空比的 PWM)
- SYSCLOCK = 100MHz、ADCLK = 50MHz
我尝试了以下链接中提到的 ADC 校准过程;内部基准电压 = 3V3、
以下是我的观察结果;
- 当我使用 A13通道对 VREFLO 进行采样、并按照下面提到的步骤进行操作时、我在第4步得到偏移值、即-40 (十进制)。
- 如果我在 OFFSET_TRIM 寄存器中设置相同的值、则为 VREFLO 获取1 (十进制) LSB。 但当我将 ADCin 应用为1.4V 时,寄存器中的值与之相同(1737 LSB),并且我执行了512次转换,我得到的平均计数为1629。 即使我将 OFFSET_TRIM 更改为任何值、施加电压(1.4V)的平均计数值也保持不变。
- 所以、总的来说、无论我们在 OFFSET_TRIM 寄存器中设置了什么值、我们都始终得到近似值 ADC 结果计数中的-100至-110偏移误差。
您是否建议、此错误的原因可能是什么?
注意:当我们施加外部基准电压3V3时,我们也有同样的观察结果,方法是从评估板引脚本身获取 VTG。
您是否认为,硬件连接可能有问题或 ADC 配置有问题?