1、ADC基础概念:什么是ADC、采样定理、量化与编码、主要性能指标

大家好,我是你们的硬件设计讲师。今天咱们开始第一讲,聊聊ADC的那些基础概念。别小看这些基础,我做了十几年硬件,发现很多坑其实都出在基础不牢上。

1.1 什么是ADC?

ADC,全称模数转换器。说白了,就是把连续的模拟信号,变成离散的数字信号。你想想看,我们生活的世界是模拟的——声音、温度、光线,都是连续变化的。但单片机、DSP、FPGA这些数字器件,只认0和1。所以ADC就是连接模拟世界和数字世界的桥梁。

我在项目中遇到过一件事:有个同事选了一款16位的ADC,觉得精度肯定够了。结果测出来的数据噪声特别大,后来发现是参考电压没处理好。嗯,这里要提醒大家:ADC的性能,不光是芯片本身的事,外围电路同样关键。

1.2 采样定理(奈奎斯特定理)

采样定理,也叫奈奎斯特定理。它的核心就一句话:采样频率必须大于等于信号最高频率的两倍

为什么会这样?我简单解释一下:

  • 如果采样频率太低,信号的高频成分会被“混叠”到低频区域
  • 混叠后的信号,你根本分不清原始频率是多少
  • 结果就是:数据看起来有模有样,但实际全是错的

我个人习惯,在实际项目中会把采样率留出20%~30%的余量。比如信号最高频率是10kHz,那我至少用25kHz采样。为什么?因为实际滤波器不是理想矩形,会有过渡带。留点余量,心里踏实。

重要提醒:采样定理说的是“至少两倍”,不是“两倍就够”。很多新手在这里栽跟头。

1.3 量化与编码

采样是把连续时间变成离散时间,量化则是把连续幅度变成离散幅度。

举个例子:一个0~5V的模拟信号,用8位ADC来量化。8位能表示256个值,所以每个量化台阶是:

5V / 256 ≈ 19.53mV

也就是说,任何小于19.53mV的变化,ADC是“看不见”的。这个误差,我们叫它量化误差

我曾经调试过一个温度采集系统,发现温度读数总是跳变。查了半天,原来是量化误差导致的。后来把分辨率从10位换到12位,问题就解决了。所以你看,分辨率的选择直接影响系统的表现。

编码就是把量化后的值,用二进制表示。比如量化结果是123,那8位ADC输出就是01111011。这部分相对简单,但要注意:不同ADC的输出编码格式可能不同——有二进制原码、补码、偏移二进制等。选型时一定要看数据手册。

1.4 ADC的主要性能指标

这部分我建议你重点记一下。选型、调试、排错,都离不开这些指标。

指标 说明 我的经验
分辨率 ADC能分辨的最小模拟量变化,通常用位数表示 别盲目追求高位,12位在很多场景下够用了
采样率 每秒能完成的转换次数,单位SPS 注意区分“最大采样率”和“有效采样率”
信噪比(SNR) 信号功率与噪声功率的比值,单位dB SNR越高,信号质量越好
有效位数(ENOB) 实际能达到的分辨率,通常低于标称位数 这个指标比标称位数更真实
积分非线性(INL) 实际传输特性与理想直线的偏差 INL大的ADC,测量结果会“弯”
微分非线性(DNL) 相邻量化台阶之间的偏差 DNL不好,可能出现“丢码”

小技巧:选ADC时,先看ENOB,再看标称位数。我见过标称16位的ADC,实际ENOB只有12位。数据手册里一般会给出ENOB的测试条件,记得仔细看。

1.5 避坑指南

最后,分享几个我踩过的坑:

  • 采样率不是越高越好——采样率高了,数据量大,处理不过来,功耗也上去了。够用就行。
  • 参考电压要稳——ADC的精度直接受参考电压影响。我曾经用LDO给ADC供电,结果纹波太大,数据一直跳。换成高精度参考源,问题解决。
  • 输入阻抗匹配——ADC的输入阻抗不是无穷大。如果信号源输出阻抗太高,会拉低信号幅度。我建议加一级运放做缓冲。
  • 抗混叠滤波器不能省——很多人觉得采样率够高就不用滤波器。其实不然,高频噪声一旦混叠进来,神仙也救不了。

好了,第一讲就到这里。ADC的基础概念,说白了就是这些。下一讲我们会聊聊采样率的实际选择方法,到时候我会拿几个真实项目案例来分析。咱们下期见。

公众号:蓝海资料掘金营,微信deep3321