2. 信号链概述:从传感器到ADC的完整信号路径、模拟域与数字域的分界、调理电路的核心任务
大家好,我是你们的老朋友。今天咱们聊聊加速度计信号链。说白了,就是传感器产生的微弱信号,怎么一步步变成ADC能认得的数字量。
我在项目中遇到过不少新手,一上来就盯着ADC选型,结果信号根本喂不饱。嗯,这里要记住:信号链的每个环节,都是瓶颈。
2.1 完整信号路径:从物理量到数字量
加速度计输出的信号,其实很脆弱。你想想看,一个MEMS传感器,检测的是微米级的位移,输出信号通常只有几毫伏到几百毫伏。这个信号要经过以下路径:
- 传感器敏感单元:将加速度转换为电容变化或压阻变化
- 前端放大器:将微弱信号放大到伏特级
- 抗混叠滤波器:滤除高频噪声,防止采样时发生混叠
- ADC驱动器:提供足够的驱动能力,匹配ADC输入范围
- ADC采样:将模拟信号转换为数字码
我习惯把这条路径画成一张图,这样思路更清晰。下面是我用SVG画的一个信号链框架图:
核心要点:信号链的增益分配要合理。我见过有人把全部增益都压在放大器上,结果噪声也跟着放大了。正确的做法是:前级放大器只做初步放大,后级ADC驱动器做精细匹配。
2.2 模拟域与数字域的分界
这个分界点,其实就在ADC的输入端。模拟域里,信号是连续的电压或电流;数字域里,信号是离散的二进制码。
为什么要强调这个分界?因为噪声处理策略完全不同:
- 模拟域:噪声是叠加在信号上的,只能用滤波器、屏蔽、差分走线来抑制
- 数字域:噪声可以通过数字滤波、平均、FFT等算法来消除
我曾经在一个项目中,模拟域噪声一直压不下去,后来发现是数字地平面把噪声耦合到了模拟信号线上。嗯,这就是分界没做好。
避坑指南:我曾经在PCB布局时,把模拟地和数字地直接连在一起,结果ADC的SNR掉了10dB。后来老老实实用0Ω电阻或磁珠做单点连接,问题才解决。
2.3 调理电路的核心任务
调理电路,说白了就是让传感器信号“配得上”ADC。它有三个核心任务:
| 任务 | 具体内容 | 我的经验 |
|---|---|---|
| 1. 电平匹配 | 将传感器输出范围调整到ADC的满量程范围 | 我习惯留10%的裕量,防止过载 |
| 2. 阻抗变换 | 传感器输出阻抗高,ADC输入阻抗低,需要缓冲 | 用电压跟随器做缓冲,简单有效 |
| 3. 噪声抑制 | 滤除带外噪声,防止混叠 | 二阶巴特沃斯滤波器,性价比最高 |
你想想看,如果传感器输出是±500mV,而ADC的输入范围是0~3.3V,直接接上去会怎样?信号削顶,数据全废。所以调理电路必须做电平偏移和缩放。
小技巧:我习惯在调理电路里加一个测试点,方便用示波器观察信号质量。调试时先看这个点,再决定要不要调滤波器参数。
2.4 一个实际案例
去年我做了一个工业振动监测项目,用的是±50g的加速度计,输出灵敏度20mV/g。ADC是16位的,参考电压3.3V。
计算一下:最大输出是50g × 20mV/g = 1V。ADC满量程是3.3V,所以增益需要3.3倍。我选了增益为4的仪表放大器,留了点裕量。
滤波器方面,采样率是1kHz,抗混叠滤波器截止频率设在400Hz。嗯,这里要注意,滤波器阶数不能太高,否则相位延迟会影响振动信号的相位精度。
// 增益计算示例
float sensitivity = 0.020; // 20mV/g
float max_accel = 50.0; // 50g
float max_output = sensitivity * max_accel; // 1.0V
float adc_ref = 3.3; // ADC参考电压
float gain = adc_ref / max_output; // 3.3倍
// 实际选型:增益4倍,留20%裕量
这个项目最后SNR做到了85dB,客户很满意。关键就是信号链每个环节都算清楚了。
好了,这一章就到这里。信号链是基础,但也是最容易出问题的地方。下一章咱们聊聊加速度计的选型,到时候见。
公众号:蓝海资料掘金营,微信deep3321