“为什么我在学习板/开发板上面测试都是正常的,上工程样机的时候,ADC采样就会有问题?”
工程师在使用DSP进行ADC采样测试的时候,有可能会遇到以上难以理解的问题。导致ADC采样不准确的因素众多,本文将着重讨论其中一种影响因素——输入阻抗对ADC采样的影响。
下文将以纳芯微实时控制MCU/DSP NS800RT503x 系列芯片为例,结合分压采样电路设计与实测现象,解析输入源阻抗对 ADC 采样精度的影响,帮助工程师更好地完成 ADC 采样电路设计与参数匹配。
01
ADC电压采样范围
ADC的电压采样范围由其参考电压决定。当参考电压为3V,ADC的采样范围为0~3V。对于NS800RT503x系列芯片,ADC默认使用外部参考电压,接入的外部参考电压应在1.65V~3.3V之间,或者通过软件,选择使用内部的1.65V或2.5V参考电压。
如何测量输入电压
小电压测量当检测电压在0-5V范围内时,可通过两个电阻进行简单的分压,并通常在 ADC 输入端并联电容进行滤波,如下图所示。
Ui为检测端电压,Uo为ADC的输入端电压:

分压后的Uo电压应小于或等于ADC的参考电压。
同时,需要考虑分压电流大小,电流最大为20mA,且ADC的输入阻抗不宜过大(相关原因将在下文进行分析)。通过ADC采集到分压后的电压,可进一步换算得到输入端电压。如采集到的电压为xV,则输入端的电压为:


图1-ADC分压输入
大电压测量对于450V的高电压,仅使用两个电阻进行分压并不适用,需考虑单个电阻的额定功率和耐压值。
电阻的功率(P)计算公式为:P=UI
当大电压加在单个电阻上时,会导致其功率超过额定值,电阻发热。因此,需要使用多个电阻进行分压,ADC获取的数值与上节同理,可推出输入端电压。如下图所示,450V的输入电压分压后为2.778V。
电路中的两个稳压二极管处于反向偏置状态,用于电路保护。当电路电压超过稳压二极管的反向击穿电压时,稳压二极管两端的电压处于一个固定值,这个值取决于二极管的材料与结构,从而保护GPIO端口,下图稳压二极管分别用作防止正电压和负电压过大。ADC的输入端使用了RC低通滤波电路,可将高频信号滤去,截止频率为:


图2-电阻分压
下图同理:

图3-电阻分压
注:等效阻抗的计算包括电阻阻抗、容抗、感抗
02
ADC的输入阻抗选择参考
基于 NS800RT503x 系列芯片的 ADC 输入特性,在合适的 ADC 时钟与采样窗口时间配置下,ADC 输入阻抗最高可支持至 1100kΩ。
需要注意的是,不同 ADC 时钟与采样窗口时间对应的最大输入阻抗并不相同,实际设计时应根据具体配置查表确认,部分典型配置如下表所示。
表1-输入电阻匹配表

当ADC的输入阻抗过大时,会出现采集到的电压不精确的问题,以下 ADC 电压采集电路可作为典型示例。
设计目的是将前端电路的最大400V电压进行分压,得到最大5V再进行分压,输入到ADC1。
理论上该电路Vout-s经过电路中的200K和360K电阻分压,最大5V输入最后给到ADC1的电压为3.1V,最小0V输入最后给到ADC1的电压为0V。

图4 ADC输入阻抗偏大电路设计举例
实际使用万用表测试发现,ADC1在5V输入的情况下,最终的分压在2.2V,出现明显压降;在0V输入的情况下,最终的分压为0.4V,出现明显压升。在这种测试环境下,ADC的检测并不准确。
通过等效转换可得知上图ADC的输入阻抗为128.57kΩ,阻抗较大。
配置ADC采样窗口时间为65个ADC_CLK,测试过程中,移除电阻,将0V至3V的电压直接施加到ADC输入端,测得电压正常,排除了ADC配置问题导致的测量不准确。
随后测试减少阻抗的方式,将ADC输入电阻阻抗调整为12.18kΩ(),如下图所示。
在GPIO端口测得的电压值在转换时间为大于65个ADC_CLK周期内正常。
进一步减小ADC输入电阻后,在更短的ADC转换周期内,ADC输入端电压值也可正常,与上述阻抗匹配表一致。

图5 电阻分压
将ADC配置为使用定时器进行定时触发转换。随着定时频率的增加,ADC输入端口电压逐渐减少。
即使输入阻抗为128.57kΩ,只要定时器触发频率足够低,输入电压后,ADC输入端的电压依然能够正常。因此初步分析,该现象与ADC采样过程中端口的电压有关系。
进一步测试:端口不接任何外围器件,使用ADCA_CH0,ADCB_CH0,ADCC_CH0进行测试。
ADCA与ADCB配置为相同参数,转换时间为1个ADC周期,测得ADCA_CH0与ADCB_CH0的电压为1.4xV,ADCC_CH0电压与其他未配置的IO端口电压一致为0.3xV的电压;
将ADCA的转换时间逐次增大,ADCA_CH0的电压逐渐减小,ADCB_CH0与ADCC_CH0电压不变。当ADCA转换时间增大到65个ADC周期时,ADCA_CH0处电压减少到1.0xV。上文采用21kΩ电阻与29kΩ电阻进行分压ADC输入时,若配置转换时间为1-33个ADC周期时,端口分电压存在异常;只有配置为65个ADC周期以上时,端口分电压才是正常的理论电压;
当将ADCA停止,ADCA_CH0处电压等于ADCB_CH0电压,ADCC_CH0电压不变。这时可解释为何ADC未初始化时,端口检测到的电压为正常的分压值——因为ADC不运作,端口处无额外的电压生成。测试中,输入阻抗过大时,ADC在运行时端口处的分压值会偏离理论值,只有ADC不运作时,该端口处的分压才恢复理论值。而输入阻抗较小时,端口电压不受ADC是否运作的影响,始终保持正常的理论值;
将ADCA、ADCB都停止:
ADCA_CH0 = ADCB_CH0 = ADCC_CH0
测试现象表明:当ADC运行时,随着准换时间的变化,端口上会出现不同的残留电压。准换时间越短,残留电压越大。
当通过接入电阻进行分压时,分压值是否准确,取决于该端口产生的残留电压大小和输入阻抗的大小。输入阻抗越小,分压值受该端口残留电压的影响越小;反之,输入阻抗越大,分压值受该端口残留电压的影响越大。
03
ADC采样时出现残留电压原因分析
ADC的输入模型如下所示:

如上图所示,ADC内部通常包含采样电容,该电容会在采样时进行充电或放电。电容充电/放电过程会在采样瞬间引起输入端口电压的瞬时变化。
当采样频率越大,充放电的过程跟不上采样速度,此时采样电容上会有相应的残留电荷,会导致端口电压由额外的电压残留。
因此,采样频率越快,残留电压也越大,只有当输入阻抗较小时才能抵消这个残留电压。
结言
当 ADC 输入源阻抗过大时,容易出现采样电压偏差。这与 ADC 的内部采样结构有关:ADC 采样时,内部采样电容需要快速完成充放电;如果前端驱动能力不足,采样电容上的残余电荷会影响当前输入信号,从而导致采样结果出现偏差。当输入信号驱动能力足够时,这种影响会明显减小。
因此,在 ADC 前端电路设计时,需要结合具体芯片型号与应用需求,综合考虑输入源阻抗、采样窗口时间、ADC 时钟频率以及前端滤波参数,确保前端采样电路设计合理,从而提升采样稳定性与测试结果一致性。

Previous:场效应管的三个电极分别是什么?怎么判断
Online messageinquiry
| model | brand | Quote |
|---|---|---|
| MC33074DR2G | onsemi | |
| TL431ACLPR | Texas Instruments | |
| BD71847AMWV-E2 | ROHM Semiconductor | |
| CDZVT2R20B | ROHM Semiconductor | |
| RB751G-40T2R | ROHM Semiconductor |
| model | brand | To snap up |
|---|---|---|
| BU33JA2MNVX-CTL | ROHM Semiconductor | |
| ESR03EZPJ151 | ROHM Semiconductor | |
| IPZ40N04S5L4R8ATMA1 | Infineon Technologies | |
| TPS63050YFFR | Texas Instruments | |
| STM32F429IGT6 | STMicroelectronics | |
| BP3621 | ROHM Semiconductor |
Qr code of ameya360 official account
Identify TWO-DIMENSIONAL code, you can pay attention to
Please enter the verification code in the image below: