一直使用ADC,却未对其内部原理和如何实现最佳精度进行深入了解。最近看到了一篇ST官方文档,对此进行了精彩讲解,现在分享给大家。
SAR ADC内部结构
在STM32微控制器中,内置的ADC采用了逐次逼近(SAR)原理,分多步执行转换。转换步骤数等于ADC转换器的位数。每个转换步骤都由ADC时钟驱动,每个ADC时钟产生一位输出结果。ADC的内部设计基于切换电容技术。
下图说明了ADC的工作原理,示例展示了逐步逼近的前几个步骤,但该过程会持续进行直至最低有效位(LSB)。
带数字输出的ADC基本原理图
采样状态
采样状态:电容充电至电压VIN。Sa切换至VIN,采样期间Sb开关闭合
保持状态
保持状态:输入断开,电容保持输入电压。Sb开关打开,然后S1-S11切换至接地且Sa切换至VREF。
逐次逼近
1、第一个逼近步骤。S1切换至VREF。VIN与VREF/2比较
2、如果MSB = 0,则与¼VREF进行比较,S1切换回接地。S2切换至VREF。
3、如果MSB = 1,则与¾VREF进行比较,S1保持接地。S2切换至VREF。
重复如上步骤,直到LSB为止。可以简单理解为二分法逐次进行输入电压与参考电压的比较。首次于VREF/2比较,下次比较根据上次比较结果决定,如果MSB=1则与¾VREF比较。如果MSB=0则与¼VREF比较。后面决定与1/8VREF 3/8VREF、 5/8VREF、 7/8VREF之一做比较。循环直到输出LSB为止。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !