This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Linux
我在内 核中使用@Jason Reeder 的 ADC1内核补丁,现在 当 ADC1通道0输入1.8V 时出现问题, 请读取如下所示的值:
# cat /sys/bus/iio/devices/iio:device0/in_voltage0_raw 3676 # cat /sys/bus/iio/devices/iio:device0/in_voltage1_raw 426
这两个值相加后最高可达4096,是什么导致了此问题?
在我的测试中、当我将通道0连接到1.8V、将通道1连接到0v 时、我的读数分别为4095和8。 您是将通道1输入保持悬空还是将其连接到电压源?
请参阅我对 Taylor 有关配对 ADC 输入的问题的回答(在您找到 ADC1补丁的主题中更深入) :https://e2e.ti.com/support/embedded/linux/f/354/p/565229/2083608#2083608
Jason Reeder
我与硬件团队的一位同事进行了交谈、他的回答是:
[引述]
如果您查看最新的 TRM (SPRUHL7G)中的图12-4、则可以看到两个输入和内部电压基准之间的连接。
如果连接到输入0的1.8伏电源的阻抗足够高、从而使图12-4所示的内部漏电路径降低施加到 ADC 的电压、则可能会产生误差。 要求他们确认测试中使用的1.8伏电源的输出阻抗足够低、不会受到内部漏电路径的影响。
如果它们连接的电源与用作 ADC 基准的电源不同、这可能会使其看起来存在错误。 ADC 正在测量相对于基准的输入电压。 ADC 可配置为使用两个基准中的一个、一个选项是使用实际的 VDDA_ADC1和 VSSA_ADC1电源引脚、另一个选项是使用 ADC1_VREFP 和 ADC1_VREFN 引脚。 如果他们连接了另一个电压可能略低于用作 ADC 基准的1.8伏电源、则可能会解释此误差。
[/报价]
Jason Reeder
我的硬件同事的另一个回应:
[引述]
我在该快照中没有看到任何错误,但在测试过程中,它没有回答我关于 AIN0和 AIN1连接的问题。 如果 AIN0直接连接到 VDDA_ADC1并且 ADC 由连接到 VREFP 和 VREFN 的相同网络供电、则测试结果应该与您的测试结果类似。
我曾考虑过另一种可能性。 如果 AIN0引脚没有良好的焊点,则 PCB 和封装引脚之间可能会出现压降。 不良的焊点可能会传递足够的电流、使输入看起来良好、但不足以在采集期间为采样保持电容器完全充电。
它们运行 ADC 时钟的频率是多少? 它们应使用预分频器来配置小于或等于13MHz 的 ADC 时钟频率、这是 ADC 支持的最大频率。
[/报价]
Jason Reeder