扫码加入

  • 正文
  • 相关推荐
申请入驻 产业图谱

ADC采样端口的电阻和电容到底该咋选?1500字手把手教你学会计算它

01/27 10:07
481
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

最近闲来无事,逛论坛刷帖子,话说这年头刷论坛的人应该不多了吧,大家是不是天天都沉迷于短视频无法自拔呀,言归正传,该学习还是要学习的。

我在MPS论坛刷到了一篇资源分享文章,解答了我多年来的疑问呀。搞硬件的想必都设计过ADC采样电路吧,也都记得在靠近MCU的ADC端口放一个RC滤波,有人是1K+1nF的配置,有人是4.7K+100pF的配置,可谓是千人千面,要是问问他电阻该咋选,电容该咋选,一般都是说经验,习惯。。。

咱们搞硬件的,经验可以有,但一定要把想明白的东西当成经验才行,别人这么干,自己也这么干,这可不叫经验。言归正传,在SAR ADC的应用电路设计中,模拟前端的RC滤波器设计往往是决定最终采样精度的关键。有时候你发现你的ADC采样误差大、读数跳动等问题时,往往到最后会发现是RC参数选取不当导致的采样保持建立时间不足。

要想理解RC的阻值容值如何选型,就得理解为什么需要RC滤波器?

SAR ADC的模拟输入端并非理想的高阻态,其核心是一个采样保持电路。我们可以将它简化为一个开关串联一个采样电容Csha的模型。

ADC的工作过程分为两个阶段:

采样阶段:开关闭合,Csha连接到外部输入,追踪输入信号电压。

保持阶段:开关断开,ADC内部电路对Csha上的电压进行量化转换。

当ADC从保持阶段切换到采样阶段的瞬间,内部采样电容Csha上通常残留着上一次转换的电荷,当然也可能是复位到0V,或者中间电平,而外部电路处于当前信号电压。当开关闭合瞬间,内外部电容发生电荷交换,导致外部输入节点的电压瞬间跌落或拉升,形成电压尖峰。

如果外部电路不能在采样时间结束前将这个电压尖峰"拉回"到精度允许的误差范围内,ADC采到的电压就是错误的,这也是为什么你用万用表量到的电压和软件兄弟采集对应AD值转换出的电压不一样的原因。

错怪过软件兄弟姐妹的有木有?哈哈,我也干过这事!

那电容容值该怎么选?

外部电容的主要作用是充当"电荷池"。它就像一个大水库,当ADC内部的小水桶接入时,大水库的水位不会发生剧烈波动。

要想理解这过程,就得理解电荷再分配原理。

当采样开关闭合瞬间,外部电容Cex与内部电容Csha发生电荷共享。咱们考虑最坏情况:外部输入为满量程电压VFSR,而内部电容电压为0V。

平衡后的电压Veq为:

此时产生的电压跌落为

为了减小初始的电压跌落,Cex必须远大于Csha,推荐选择外部电容Cex为内部采样电容Csha的20倍到100倍。电容材质推荐使用低电压系数的电容,如NPO或COG材质,以保证线性度。需要注意的是Cex不是越大越好。过大的电容会导致RC电路的总电阻需要很小,这容易引起驱动运放的震荡。

那电阻阻值该怎么选呢?

选定电容后,电阻的取值决定了电路的回血速度。我们需要确保在有限的采样时间内,电压能从跌落后的Veq恢复到目标电压的0.5LSB误差范围内。这就需要计算所需的时间常数数量。

RC电路的电压恢复过程遵循指数曲线

我们需要计算在这个时间内,电压需要经过几个RC时间常数才能稳定下来。

所需的时间常数个数N计算公式如下

其中:

Nbits是ADC的分辨率(位数)

K是电容比值Cex/Csha

从公式可以看出,当K值增大,也就是外部电容变大,所需的建立时间常数个数N会减少,这有利于缩短建立时间。一旦确定了所需的N和采样时间 tacq,电阻的最大值即可确定:

由于Cec>>Csha,通常可以用Cex近似总电容

看到这,你应该懂了吧???如果还没懂,别慌,实例计算一下。

ADC分辨率:12-bit

输入范围:0-5V

内部采样电容(Csha):30pF

采样时间(tacq):500ns

Op-Amp:假设使用理想运放缓冲

步骤1:确定电容Cex 根据20倍法则:

我们令K=20,即Cex = 600pF。

步骤2:计算Kickback电压

假设最坏情况,输入为5V,内部电容为0V:

步骤3:计算所需时间常数N

我们的目标误差是0.5LSB。 对于12-bit 5V量程,1LSB =5V /4096 ≈ 1.22mV,那么目标误差是Verror = 0.61mV。

步骤 4:计算电阻Rex

这次你学废了吧!

 

全文放在阅读原文,有兴趣进去看看

相关推荐