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