2024年3月26日发(作者:姬君昊)
从早期的8位,10位到12位ADC,现在ADC模块已经成为了单片机
的标配。但是ADC使用的时候采出来的数据一定是准确的吗?其实工
程师朋友们在使用的时候如果不注意的话,得到的采样值会与实际之前
存在一定的误差。这是由于SAR ADC的结构所决定的,SAR ADC的
标准结构如下图:
在采样过程中开关处于闭合状态,并对采样电容进行充电。如果采样的速
度过快或者输入电流过小会造成电容Csh充电不满,得到的采样值会
低于实际值。当电路输入为小电流时,为了保护外部电路,防止由于电容
突然与自己的输出相连而对外部电路形成冲击,我们在片上集成了一个
模拟缓冲器如下图方框里所示。
缓冲器更像是一个阻抗变换器,它会把自己输出端电容量的变化转化为
其输入端电容量的变化。可以通过对寄存器ADC_CR0中的BUFEN位
进行配置来选择是否启用缓冲器。当缓冲器打开后最大的采样速率为
200sps,其它情况下的采样速率如下表:
注意不同电压与采样率的问题:2.4v以上,最大采样率是1Msps,2.4v
以下,最大采样降低为500KSps, 低于2.2v,最大采样率降低为
200Ksps
2024年3月26日发(作者:姬君昊)
从早期的8位,10位到12位ADC,现在ADC模块已经成为了单片机
的标配。但是ADC使用的时候采出来的数据一定是准确的吗?其实工
程师朋友们在使用的时候如果不注意的话,得到的采样值会与实际之前
存在一定的误差。这是由于SAR ADC的结构所决定的,SAR ADC的
标准结构如下图:
在采样过程中开关处于闭合状态,并对采样电容进行充电。如果采样的速
度过快或者输入电流过小会造成电容Csh充电不满,得到的采样值会
低于实际值。当电路输入为小电流时,为了保护外部电路,防止由于电容
突然与自己的输出相连而对外部电路形成冲击,我们在片上集成了一个
模拟缓冲器如下图方框里所示。
缓冲器更像是一个阻抗变换器,它会把自己输出端电容量的变化转化为
其输入端电容量的变化。可以通过对寄存器ADC_CR0中的BUFEN位
进行配置来选择是否启用缓冲器。当缓冲器打开后最大的采样速率为
200sps,其它情况下的采样速率如下表:
注意不同电压与采样率的问题:2.4v以上,最大采样率是1Msps,2.4v
以下,最大采样降低为500KSps, 低于2.2v,最大采样率降低为
200Ksps