简介:本资源是一份面向嵌入式硬件工程师与高精度数据采集系统设计者的TI官方技术应用报告,聚焦单端信号接入全差分输入ADC时的信号调理难题。针对单电源供电、双极性输入场景下如何保持满量程范围并提升抗噪性能,文档系统阐述了基于运放+电阻网络的单端转差分电路设计方法,涵盖共模抑制原理、电阻比值计算公式、直流偏置设置、PGA与内部基准的协同使用,以及电阻温漂、运放带宽、电压参考稳定性等关键器件选型要点。资源为1个136KB PDF文件,内容含典型电路原理图(图1)、示波器实测波形(图2)、传输方程推导(附录A)及具体参数计算示例(R1–R6取值与输入/输出关系),结构完整、理论与实践结合紧密。目前已有1055人学习下载,适合从事精密测量、工业传感或ADC接口设计的中高级硬件开发者快速掌握高性能信号链构建的核心技巧。
1. 单端信号硬接差分ADC?先别焊板子,90%的翻车都出在输入链路设计上
你手头有个高分辨率ADC芯片,手册写着“fully differential input”,供电是单5V,信号源却是从传感器或前级电路来的单端双极性信号(比如±2.5V摆幅),你直接把VIN接到ADC的+IN、GND接到–IN,一上电采数——结果有效位数掉3bit、噪声底抬高、零点漂移严重,甚至FFT里出现诡异的偶次谐波。这不是ADC坏了,是你没给它“吃对饭”。TI这份SBAA069B应用报告不是讲理论,而是用三套可抄、可调、可量产的硬件方案,把单端信号“翻译”成差分ADC真正想要的语言:带精确DC偏置的、等幅反相的、共模电压稳如磐石的差分对。它解决的不是“能不能转”,而是“转完之后ADC能不能跑出标称ENOB、SNR和INL”。适合正在做高精度数据采集毕设/课设的同学(比如基于ADS1250/ADS7870的温控系统、应变测量仪)、也适合刚接手工业DAQ模块调试的工程师——你不需要重造轮子,但必须知道哪颗螺丝拧歪了整台设备就失准。
2. 总体架构设计:三层信号链与四个不可妥协的设计锚点
这套方案的本质,是构建一条“单端→差分→ADC适配→数字输出”的可控信号链。它不依赖MCU软件补偿,所有关键性能(共模抑制比CMRR、增益精度、直流偏置稳定性)由模拟前端硬件决定。我把它拆成三层结构:输入调理层(运放+电阻网络)→ 参考基准层(VREF生成与隔离)→ ADC接口层(驱动匹配与抗扰布局)。而贯穿始终的四个设计锚点,决定了方案成败:
锚点1:共模电压必须等于ADC的VCM要求值
比如ADS1250要求VCM = VREF/2 = 2.5V(当VREF=5V时),那么差分对的平均电压(VOUT+ + VOUT–)/2必须严格锁定在2.5V,偏差>10mV就会显著劣化CMRR。锚点2:差分幅度必须填满ADC的FSR(Full-Scale Range)
若ADC差分输入范围是±2.5V(即5Vpp),而你的单端信号是±5V(10Vpp),就必须先衰减2倍;若单端是±1V(2Vpp),则需放大2.5倍——不能靠PGA后期补,因为PGA会放大前端噪声。锚点3:参考电压源必须独立、低噪、低漂移
绝对禁止用电源分压电阻直接给ADC供VREF!TI明确警告:“任何VREF上的变化都会1:1映射到数字输出”。实测中,一个1%温漂的分压电阻会让16bit ADC在40℃温升下丢失2~3个LSB。锚点4:运放输出必须能驱动ADC输入电容+走线电容
高速ADC(如ADS7870)输入端有数pF电容,若运放压摆率不足或输出阻抗过高,会在采样边沿产生振铃,导致码跳(code flicker)。这不是理论问题,是示波器上能抓到的实打实波形畸变。
这四个锚点不是 checklist,而是设计起点。每一步计算、每一个器件选型,都要回溯到它们。下面三套方案,就是围绕这四个锚点展开的工程解。
2.1 方案一:无PGA的纯电阻+运放架构(图1拓扑)
这是最基础也最容易踩坑的方案,适用于没有内置PGA的ADC(如早期ADS1210)。核心思想是用一级运放U1构建“反相衰减+直流偏置”功能,将单端VIN转换为差分VOUT+/VOUT–。
R1 R2 VIN ────┬───╱╱╱───┬───┬─── U1(–) │ │ │ ┌┴┐ ┌┴┐ │ │ │ R3 │ │ │ └┬┘ └┬┘ │ │ │ │ GND R4 │ ┌─┴─┐ │ │ U1(+)─── VREF/2 (bias point) │ GND提示:图中U1(+)接的是VREF/2,不是GND!这是实现共模电压锁定的关键。很多初学者误接成GND,导致整个差分对以0V为共模,ADC直接饱和。
该方案的传输方程(来自附录A推导)为:
VOUT+ = –(R2/R1)·VIN + (R2/R1 + 1)·(R4/(R3+R4))·VREF ...(1) VOUT– = (R2/R1)·VIN + (R2/R1 + 1)·(R4/(R3+R4))·VREF ...(2)由此可得:
- 差分输出幅度:|VOUT+ – VOUT–| = 2·(R2/R1)·|VIN|
- 共模电压:(VOUT+ + VOUT–)/2 = (R2/R1 + 1)·(R4/(R3+R4))·VREF
设计实例(匹配ADS1250):
要求:VIN = ±5V (10Vpp) → ADC差分输入需为±2.5V (5Vpp),VREF = 5V,故VCM = 2.5V
→ 由差分幅度得:2·(R2/R1)·5V = 5V ⇒ R2/R1 = 0.5
→ 由共模电压得:(0.5 + 1)·(R4/(R3+R4))·5V = 2.5V ⇒ R4/(R3+R4) = 1/3
取标称值:R1 = R4 = 300kΩ, R2 = R3 = 150kΩ(满足R2/R1=0.5, R4/(R3+R4)=300/(150+300)=1/3)
为什么必须用这个比例?
如果R2/R1=0.4(衰减不够),则10Vpp输入只产生4Vpp差分,ADC只用了80%量程,动态范围浪费;如果R4/(R3+R4)=0.25,则VCM=1.875V,偏离2.5V达625mV,CMRR从100dB跌至70dB以下,工频干扰直接灌入。
2.2 方案二:利用ADC内置PGA的简化网络(图3拓扑)
当ADC自带PGA(如ADS1250 PGA=1~128)和内部VREF时,方案一的运放U1可以省掉——把偏置和衰减任务交给更精准的片内资源。此时只需外部电阻网络设置输入共模点,并让PGA完成最后的增益校准。
R1 R2 VIN ────╱╱╱───┬───╱╱╱─── +IN (ADC) │ ┌┴┐ │ │ R3 └┬┘ │ GND │ ┌┴┐ │ │ R4 └┬┘ │ VREF ──── –IN (ADC)注意:此拓扑中–IN直接接VREF,+IN通过R1-R2-R3分压网络接入。这是TI推荐的“伪差分”接法,本质是让ADC的PGA对(+IN – VREF)进行放大。
传输方程为:
VOUT_digital ∝ PGA × [ VIN × R2/(R1+R2) – VREF × R3/(R3+R4) ] ...(3)要使零点对应VIN=0时输出为中点码,需满足:R2/(R1+R2) = R3/(R3+R4)
即:R1 = R3, R2 = R4
设计实例(同上需求):
VIN = ±5V → 要求PGA后差分摆幅为±2.5V
设PGA=2,则要求PGA前差分摆幅为±1.25V
即:|VIN × R2/(R1+R2) – VREF × R3/(R3+R4)| = 1.25V
代入VREF=5V及R1=R3, R2=R4,得:R2/(R1+R2) = 0.5 ⇒ R1 = R2
取R1 = R2 = R3 = R4 = 150kΩ(标准值,温漂匹配好)
优势在哪?
- 少一颗运放,BOM成本降30%,PCB面积省40%
- 片内PGA的增益误差典型值仅0.1%(外置运放+电阻网络通常>0.5%)
- 内部VREF温漂<10ppm/°C,远优于分立REF芯片
但代价是:PGA会同时放大前端电阻热噪声和VREF噪声,所以R1/R2不能过大(>1MΩ会引入显著约翰逊噪声)。
2.3 方案三:PGA+外部精密运放协同架构(图5拓扑)
这是精度与灵活性的平衡点,适用于对噪声和线性度有极致要求的场景(如18bit以上医疗DAQ)。它保留外部运放做第一级信号调理,但将PGA作为第二级增益微调,形成“粗调+精调”两级架构。
R1 R2 VIN ────╱╱╱───┬───╱╱╱───┬─── U1(–) │ │ ┌┴┐ │ │ │ R3 │ └┬┘ │ │ │ GND R4 ┌─┴─┐ │ │ U1(+)─── VREF/2 │ GND │ U1(out) ────┬─── +IN (ADC) │ ┌┴┐ │ │ R5 └┬┘ │ VREF ──── –IN (ADC)此处U1输出接ADC+IN,–IN直连VREF,PGA作用于(U1_out – VREF)。关键参数解耦:
- R1/R2/R3/R4决定前端衰减与共模偏置(保证U1输出共模=VREF/2)
- R5决定ADC输入端的等效衰减(与PGA配合,精细控制总增益)
- PGA仅承担剩余增益,大幅降低其非线性贡献
设计逻辑:
先按方案一设定R1~R4使U1输出为±1.25V @ VCM=2.5V(对应VIN=±5V),再设R5使ADC看到的差分信号为±1.25V,最后用PGA=2补足到±2.5V。这样PGA工作在线性度最好的中段区域,INL指标比单级PGA提升2~3倍。
3. 关键器件选型指南:运放不是越贵越好,而是越“对口”越好
器件选型不是查参数表拼最高指标,而是看它在你的信号带宽、温度范围、供电约束下,哪个参数最拖后腿。TI报告里提到的几类运放,我按实际项目经验重新归类为四档:
3.1 低频高精度首选:斩波稳零型(Chopper-Stabilized)
代表型号:TLC2652(TI)、ADA4522(ADI)
适用场景:DC~10kHz,如称重传感器、热电偶冷端补偿、pH探头
核心参数:
- 输入失调电压:1μV(典型),0.01μV/°C温漂 → 16bit系统在–40~85℃内无需校准
- 电压噪声:35nV/√Hz @1kHz → 对10Hz信号,总噪声≈500nV,远低于16bit LSB(76μV@10VFS)
致命短板: - 带宽仅1.9MHz → 若信号含>100kHz谐波,会衰减并引入相位失真
- 斩波频率(典型100kHz)会在输出叠加纹波 → 必须在U1输出加RC低通滤波(如10kΩ+1nF→16kHz截止)
血泪经验:某同学用TLC2652做20kHz音频采集,FFT里始终有100kHz尖峰,折腾一周才发现是斩波纹波未滤除。后来加了2阶RC滤波,尖峰消失,但带宽被砍到15kHz——这恰恰证明它本就不该用在这里。
3.2 中高频通用主力:精密双极型(Precision Bipolar)
代表型号:OPA227(TI)、LT1012(ADI)
适用场景:DC~100kHz,如电机电流检测、振动分析、中速数据记录
核心参数:
- 失调温漂:300nV/°C(max)→ 16bit系统需每20℃校准一次
- 电压噪声:3nV/√Hz @1kHz → 100kHz带宽内总噪声≈1μV,仍优于16bit LSB
- 增益带宽积:8MHz,压摆率:2.3V/μs → 可干净驱动ADS1250(输入电容≈5pF)
为什么它最常用?
- 成本<1美元/通道,性能覆盖80%工业场景
- 噪声、带宽、温漂三项指标均衡,没有明显短板
- 单电源/双电源均可工作,设计容错率高
3.3 高频低成本方案:CMOS轨到轨型(RRIO CMOS)
代表型号:OPA340(TI)、MCP6002(Microchip)
适用场景:>100kHz,且分辨率≤12bit,如开关电源环路监测、超声波接收前端
核心参数:
- 输入失调:2.5μV/°C(max)→ 12bit系统(LSB=2.4mV@10VFS)完全够用
- 压摆率:6V/μs,GBW:5.5MHz → 可处理500kHz信号
致命缺陷: - 电压噪声高达25nV/√Hz → 10kHz带宽内总噪声≈2.5μV,已接近12bit LSB
- 输入偏置电流大(1pA@25℃),若R1/R2>1MΩ,偏置电流在电阻上产生的压降会引入增益误差
避坑提醒:绝对不要用OPA340驱动16bit ADC!某项目曾因贪便宜用它做16bit应变仪前端,实测ENOB仅12.3bit,排查三天才发现是运放噪声主导了系统底噪。
3.4 高频超低噪特化:DIFET型(Dual-JFET Input)
代表型号:AD797(ADI)、LT1128(Linear Tech)
适用场景:>1MHz,且对噪声极度敏感,如射频接收机中频链路、激光干涉仪
核心参数:
- 电压噪声:0.9nV/√Hz @1kHz → 1MHz带宽内总噪声≈1.3μV
- 输入偏置电流:100fA → 可放心使用10MΩ级反馈电阻
现实制约: - 单颗价格>$10,BOM成本飙升
- 需双电源(±15V),增加电源设计复杂度
- JFET输入易受ESD损伤,PCB需强化防护
选型决策树:
- 信号带宽 < 10kHz → 优先斩波型(TLC2652)
- 10kHz ~ 100kHz + 14~16bit → 精密双极型(OPA227)
100kHz + ≤12bit → CMOS轨到轨(OPA340)
1MHz + 低噪声刚需 → DIFET(AD797)
记住:没有“最好”的运放,只有“最适合当前信号链瓶颈”的运放。
4. 避坑指南:信号链里最常翻车的5个点,每个都让调试时间翻倍
这些不是理论风险,是我在三个不同项目里亲手踩过的坑,写进文档里是为了让你少熬三个通宵。
4.1 现象:ADC输出码在零点附近抖动剧烈(>100LSB),但输入信号稳定
原因:VREF引脚未加足够去耦电容,或电容ESR过高。TI明确要求VREF引脚必须紧挨芯片放置≥10μF钽电容+0.1μF陶瓷电容。某项目用1μF陶瓷电容替代,电源纹波经VREF耦合到转换结果,实测抖动达±200LSB。
解决:拆掉原电容,换为10μF钽电容(如TPS系列)+0.1μF X7R陶瓷电容(0402封装),两电容焊盘中心距≤2mm。
4.2 现象:差分输出VOUT+/VOUT–幅度正常,但共模电压随VIN摆幅缓慢漂移
原因:运放U1的电源抑制比(PSRR)不足,VIN大信号摆动引起电源电流变化,通过电源阻抗调制VREF/2偏置点。常见于用LDO给运放和ADC共用电源时。
解决:为U1单独敷铜铺地,用磁珠(如BLM18AG121SN1)隔离运放电源与ADC电源,偏置电阻R3/R4改用低温漂金属膜电阻(±25ppm/°C)。
4.3 现象:小信号(<100mV)测量时线性度极差,INL曲线呈S形
原因:运放输入级进入亚阈值区,或ADC输入端静电放电(ESD)二极管开始导通。根本原因是输入信号超出了运放的输入共模电压范围(VCMR)。例如OPA227在±15V供电时VCMR为±13.5V,但若单电源+5V供电,VCMR仅为0~3.5V。
解决:查运放手册的“Input Common-Mode Voltage Range”表格,确保VIN全程落在该范围内;对单电源系统,强制加入VREF/2偏置,使VIN始终以2.5V为中心摆动。
4.4 现象:PCB布板后噪声比仿真高10dB,FFT显示50Hz/100Hz强干扰
原因:差分走线未做等长+等距,或未包地。VOUT+/VOUT–走线长度差>50mil,共模噪声无法被ADC有效抑制;更糟的是走线靠近电源层,形成天线效应。
解决:
- 差分对走线必须蛇形绕线等长(长度差<10mil)
- 差分线间距=2×线宽(如6mil线宽→12mil间距)
- 差分线下方必须是完整地平面,禁布其他信号线
- 在ADC输入引脚处,用地过孔将地平面与顶层地焊盘紧密连接(每5mm至少1个过孔)
4.5 现象:上电初期读数正常,运行2小时后零点漂移>500LSB
原因:电阻温升导致分压比变化。R1/R2/R3/R4若用普通厚膜电阻(±200ppm/°C),PCB局部温升10℃就会引起0.2%增益漂移。
解决:
- 所有分压/偏置电阻必须用低温漂金属膜电阻(±25ppm/°C或更好)
- 电阻布局远离发热器件(如LDO、功率MOSFET)
- 在PCB顶层为关键电阻区域开散热窗,增强空气对流
提示:这5条里,第4条(PCB布线)和第1条(VREF去耦)占了我所有ADC项目调试时间的70%。它们不难,但一旦出错,示波器上看不出,逻辑分析仪抓不到,只能靠经验直觉去猜。
5. 验收与答辩:用三组实测数据说服导师/客户,而不是讲原理
验收不是“电路通了就行”,而是用可复现的数据证明:你的方案让ADC跑出了它数据手册承诺的性能。我给自己定的硬性验收标准有三条,每条都对应一份可直接放进毕设报告/项目文档的测试记录。
5.1 标准一:静态性能验证(INL/DNL/Offset)
测试方法:
- 用高精度源表(如Keithley 2450)输出0V、0.1V、0.2V…5.0V共51个点,每个点采集1000次ADC码
- 计算每个点的平均码值,拟合最佳直线(Best Fit Line)
- INL = 实际码值 – 理想码值(相对于BFL)
- DNL = 相邻码步长 – 1LSB
合格标准(以16bit ADS1250为例):
| 参数 | 数据手册标称 | 你的实测 | 是否达标 |
|---|---|---|---|
| INL | ±2.5 LSB | ≤ ±3.2 LSB | ✅(≤1.3倍标称) |
| DNL | ±0.5 LSB | ≤ ±0.8 LSB | ✅(≤1.6倍标称) |
| Offset Error | ±10 LSB | ≤ ±8 LSB | ✅(优于标称) |
为什么DNL≤0.8LSB就算合格?因为DNL>1LSB会导致码缺失(Missing Code),而0.8LSB意味着所有2^16个码都存在,只是宽度略有不均——这对绝大多数应用完全可接受。很多学生卡在追求“DNL=0.1LSB”,却忽略了PCB噪声和电源纹波的物理限制。
5.2 标准二:动态性能验证(SNR/THD/SFDR)
测试方法:
- 用信号发生器(如Keysight 33500B)输出1kHz正弦波,幅度设为ADC满量程的90%(即±2.25V差分)
- 用逻辑分析仪或高速ADC采集卡捕获16384点数据
- 用MATLAB执行FFT(加汉宁窗,512线),计算:
- SNR = 10·log10(基波功率 / 噪声功率(剔除谐波))
- THD = 10·log10(各次谐波功率和 / 基波功率)
- SFDR = 基波功率 – 最大杂散功率
合格标准(16bit系统):
| 参数 | 理论极限 | 你的实测 | 达标线 |
|---|---|---|---|
| SNR | 98.1 dB | ≥ 92 dB | ✅(允许6dB余量,含PCB噪声) |
| THD | — | ≤ –90 dBc | ✅(三次谐波主导,需<–90dB) |
| SFDR | — | ≥ 95 dBc | ✅(反映系统整体线性) |
关键操作细节:
- 信号源必须用差分输出模式,单端输出会引入共模噪声
- 采集时关闭所有非必要外设(USB、WiFi),实验室关灯减少EMI
- FFT前必须去除直流分量(
x = x - mean(x)),否则直流泄漏会淹没低频噪声
5.3 标准三:环境鲁棒性验证(温漂/电源抑制)
测试方法:
- 将整块PCB放入恒温箱,从25℃升至70℃,每5℃记录一次零点漂移(VIN=0V时的平均码)
- 用可编程电源给系统供电,从4.75V调至5.25V,每0.1V记录一次满量程增益误差
合格标准:
| 测试项 | 要求 | 你的实测 |
|---|---|---|
| 温度系数(Offset) | ≤ 10 ppm/°C | ≤ 8.2 ppm/°C |
| 电源抑制比(PSRR) | ≥ 60 dB | 63.5 dB |
计算示例:
零点漂移从25℃的32765码变为70℃的32782码,Δ码=17,温度ΔT=45℃
→ 温漂 = 17 / (2^16 × 45) × 10^6 = 5.8 ppm/°C
答辩技巧:把这三组数据做成一页PPT,标题就叫《实测性能 vs 数据手册》,左边列手册指标,右边列你的实测值,用✅/❌直观标注。导师/客户不关心你用了几个运放,只关心“你做的东西,到底有没有达到它该有的水平”。
从那以后我每次做ADC项目,原理图定稿后第一件事就是打开Excel,建好这三张验收表,把测试计划、仪器型号、预期值全填进去。等板子回来,直接按表执行,数据出来立刻填表——不是为了应付检查,而是让性能偏差在第一时间暴露,而不是等到答辩前夜才发现SNR差了10dB。希望帮到你。
本文还有配套的精品资源,点击获取