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.
工具与软件:
您好、我对我在开发和测试过程中注意到的 ADC 行为有一些疑问
ADC 引脚读数显示恒定的4095等效于3.3V (ADC 基准为内部)、而没有信号/导线连接到它。 IAM 试图读取的数据后一个软件强制转换。它不改变或变化,我可能无法判断有3.3V 的东西是连接到 ADC 引脚还是保持未连接,因为我得到相同的读值时,试图强制一个覆盖.
2.如果我 在一个循环中进行超过12次或更多连续的多个 转换,相同的读数显示与第一次转换的变化,在浮空/无信号连接在 ADC 输入的情况下,在 BAC 到回转换期间获取一个变化的值(预期从一个非连接的状态)和一个常数4095如果读取一次。 另一种情况是、在提供输入信号/电压时、读取值在执行背靠背转换时略有变化。 这种行为是否可以预期、为什么会发生这种行为以及纠正措施是什么?
3.在选择我的 ADC 时钟作为系统时钟时,我把 ADCX_AIN0配置为 SOC0 ,把 ADCx_AIN1配置 为 SOC1,我编辑了一个 SDK 示例代码 ,读取和打印 soc0的结果5次,然后在转换后 SOC1 5次,给 soc0的信号反映在 soc0的读取结果和 SOC1读取结果约2到3次,然后校正, 知道这是为什么、只有在 ADC 时钟被选为系统时钟时才会发生。
嗨、Adwaith、
感谢您的咨询。 很高兴帮助您开始。
1) 1)请确保 ADC 时钟配置为低于66.67 MHz 的最大值。 大于此值的频率将影响 ADC 的模拟硬件时序并导致错误的运行/结果。 如果在没有任何分频器的情况下将 ADCClk 配置为 SYSCLK (200MHz)、则 ADC 中的任何东西都不会按预期工作。
2) 2)假设 ADCCLK < 66.67MHz、在进行这些转换时、采样与保持/ACQPS 设置是多少?
3) ADC 正确运行假定您使用正确的 ADC 输入信号调节电路来平衡外部组件和内部采样电容器之间的电荷。 在测试过程中使用了哪些设备/工具来驱动输入信号?
此致、
Zackary Fleenor
嗨、Zackary、
感谢您的响应、
1) 1)当我使用 SYSCLK/3或 SYSCLK/5时 获得正确的响应、 但是、如果仍然没有连接输入信号/没有接线、它仍然显示4095作为读取结果、如果我在循环中进行超过12次的转换并读取结果、那么读取结果将从4095变为较低的值。是否有必要/建议执行多次转换以获得更准确的读数、我使用万用表检查了引脚、引脚上没有3.3伏电压。
2)我将使用采样窗口作为19个 SYSCLK 计数。
3)我正在从分压电路馈送信号、该分压电路从 LaunchPad 本身获取电源、读数几乎准确、就像输入接地一样、它会显示7或10 (范围0至4095)、可能是由于电压轻微变化。 我也 尝试过 DAC 作为输入信号,但可能是由于快速转换或类似的东西,我得到了 PWM 某种效果,结果是切换0和4095之间,我 已经用万用表(2.0voltes)确保 DAC 输出
4) a)我的进一步困惑或疑虑是,为什么它给我4095时,我没有连接任何输入引脚,它是由于任何高阻抗或什么?
b) 在读取结果之前、进行多次转换是否比单次转换好
C)如果我使用 LaunchPad 上的 DAC 作为输入源、ADC 上是否有任何特定配置要遵循
请向我指出 可提供最佳结果的正确配置和方法
感谢您指出所需的 ADC 时钟频率。
嗨、Adwaith、
很高兴我们能够解决部分问题。
一些后续问题可以进一步帮助我们:
1) 1) ADC 是否在第一次采样之前运行?
2) 2)您是否可以在启用 ADC 之后、在尝试第一次读取之前插入500微秒的延迟?
我们认为、当启用 ADC 时、存在一种预设条件、该条件会导致首次采样为4095、而输入悬空。 一段时间后、读数将变得更随机、如您所见。 针对悬空输入的专用测试不是在设计级别完成、但是为此添加了开路短路检测(OSD)电路、以确定给定的 ADC 通道是短路还是开路(悬空)。
3) 3)作为一项实验、您是否可以尝试在驱动通道上运行几个样本、然后对浮动通道进行采样(不禁用 ADC)。 这应该有助于减小上述初始 ADC 稳定误差。
此致、
Zackary Fleenor
你好、Zackary
1)是的, ADC 被启用并给予500微秒之前尝试进行任何转换,我使用 SysConfig 生成的代码,在有一个500微秒的延迟已经可用
2) a)我已经尝试了您建议的相同实验方法、在测试期间 、我提供信号作为输入一段时间、在此期间 给出的值为1170、当我从发射垫上拔下导线读取值后、值将跳回4095、
b)当我尝试进行一次转换并读取结果(即使提供了有效的信号)时、会发生固定为4095的浮动样本这种情况 并将其删除。 如果我 在没有附加信号的情况下强制转换(例如15 - 20次) ,然后只有在那之后我才读取结果,该值会变化 从4095增加到3990或4000
c)另一个观察结果是 、如果我保持将导线与 LaunchPad 连接并从信号源上拔下该导线、则会给出随机值、如所示 预期,也许连接的线松动的端可能会有所不同,因为它的电容或电阻可以忽略不计。
一个疑问-它是否应该像即使电线没有连接那么它也应该给出一个随机值作为结果?
感谢您的持续支持:)
是的、无法确定悬空 ADC 输入的初始条件和电气参数。 与没有任何连接的引脚残桩相比、挂起的导线会耦合更多的环境噪声、从而导致读数不稳定。 如前所述、测量浮动输入的概念/预期旨在通过使用 OSD 电路来规避。
此致、
Zackary Fleenor