请参阅随附的文档。 我们将使用 MSP430 ADC 读取电池的电压。 在 ADC 读取期间、P1.2 ADC 输入端出现一个开关波形、该波形似乎是由 MSP430生成的。 它应该是平坦的直流线路。 为什么在 ADC 读取期间出现该信号? 我们的 ADC 接口电路是否不正确? 这是否与 ADC 相关的寄存器设置有关?
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.
请参阅随附的文档。 我们将使用 MSP430 ADC 读取电池的电压。 在 ADC 读取期间、P1.2 ADC 输入端出现一个开关波形、该波形似乎是由 MSP430生成的。 它应该是平坦的直流线路。 为什么在 ADC 读取期间出现该信号? 我们的 ADC 接口电路是否不正确? 这是否与 ADC 相关的寄存器设置有关?
您好、Henok、
将100k Ω 降至0 Ω 会将开关峰值降低约50%。 我们增加了 SHT,但这并没有改变开关行为。 这是 ADC 初始化代码。 感谢您查看此内容。
//*********
//设置 ADC 以读取电池电压
//*********
ADCCTL0 |= ADCON | 0x0f00; // ADCON
ADCCTL0 |= ADCENC | ADCSC;
ADCCTL0 &=~ADCENC;
ADCCTL1 |= ADCSHP | ADCDIV_7; // ADCCLK = MODOSC;采样计时器
ADCCTL2 &=~ADCRES; //清除 ADCCTL 中的 ADCRES
ADCCTL2 |= ADCRES; // 10位转换结果
ADCMCTL0 |= ADCINCH_2; // A2 ADC 输入选择;Vref=AVCC
ADCIE |= ADCIE0; //启用 ADC 转换完成中断
数据表未考虑在输入端使用电容器的可能性、如此处所示。 (33nF)由于该电容器具有如此低的 ESR、采样时间将由 ADC 和多路复用器的内部电阻控制。 (~2K)另请注意、该指南指出、当多路复用器更改输入时、可能会出现开关瞬变、并且这些瞬变应该会在引起故障之前耗尽。 当然、假设使用运算放大器等低阻抗信号源。 而不是电容器。
采样电容器基本上在每次转换时放电。 因此、每个样本都会从33nF 电容器中提取少量电荷、从而降低电压。 这在33nF 电容器有足够时间恢复的低采样率下非常有效。 这里的 RC 时间常数为6.6ms、这是返回到开始位置所需的63%所需的时间。 我不会超过100SPS。
请注意、I/O 引脚上的泄漏电流会产生次级误差源。 它们通常足够小、因此不会成为200K 输入电阻的问题。 但不要忘记他们、因为有一天他们可能会这样做。
已卸下33nF 电容器。 仍然存在瞬态信号。 更改了采样保持时间、瞬态信号仍然存在。 如果我们从 ADC 输入端移除所有外部电容器和电阻器、并将电源电压直接连接到 ADC 输入引脚、则会产生很多噪声、但不会出现瞬态信号。 因此、瞬态看起来确实是由 ADC 生成的。 在哪 种指南中、它说多路复用器可能会导致开关瞬变、在哪里? 请注意、ADC 读数是合理且准确的。 我开始认为、由于 MCU 内部的开关行为、我们将无法消除 ADC 转换期间的瞬变?
卡盘、
作为参考、这里有一些较旧但类似的 E2E 帖子、您可以阅读这些帖子。
ADC10输入信号上的瞬态- MSP 低功耗微控制器论坛- MSP 低功耗微控制器- TI E2E 支持论坛
ADC10问题? - MSP 低功耗微控制器论坛- MSP 低功耗微控制器- TI E2E 支持论坛
此致、
Henok