良许Linux教程网 干货合集 天天在用的ADC,内部原理你了解吗?

天天在用的ADC,内部原理你了解吗?

引言

长期以来,我一直在使用ADC,却从未深入了解过其内部原理以及如何实现最佳精度。最近阅读了一篇ST的官方文档,对此有了一些新的认识,因此我想将这些知识整理分享给大家。

SAR ADC内部架构

在STM32微控制器中,内置的ADC采用了SAR(逐次逼近)原理,通过多步执行转换来实现。转换的步数等于ADC转换器的位数,每一步都由ADC时钟驱动。每一个ADC时钟周期会产生一位输出结果,因此ADC的内部设计基于切换电容技术。

下面的图表展示了ADC的工作原理。虽然示例仅展示了逼近转换的前几步,但实际过程会持续到最低有效位(LSB)为止。

SAR切换电容ADC的基本原理(以10位ADC为例)

image-20240311201824319
image-20240311201824319

采样状态

采样状态:电容充电至电压VIN。Sa切换至VIN,采样期间Sb开关闭合

image-20240311201848604
image-20240311201848604

保持状态

保持状态:输入断开,电容保持输入电压。Sb开关打开,然后S1-S11切换至接地且Sa切换至VREF。

image-20240311201845699
image-20240311201845699

逐次逼近

1、第一个逼近步骤。S1切换至VREF。VIN与VREF/2比较

image-20240311201842860
image-20240311201842860

2、如果MSB = 0,则与¼VREF进行比较,S1切换回接地。S2切换至VREF。

image-20240311201840254
image-20240311201840254

3、如果MSB = 1,则与¾VREF进行比较,S1保持接地。S2切换至VREF。

image-20240311201835135
image-20240311201835135

重复如上步骤,直到LSB为止。可以简单理解为二分法逐次进行输入电压与参考电压的比较。首次于VREF/2比较,下次比较根据上次比较结果决定,如果MSB=1则与¾VREF比较。如果MSB=0则与¼VREF比较。后面决定与1/8VREF 3/8VREF、 5/8VREF、 7/8VREF之一做比较。循环直到输出LSB为止。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部