ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

AD7793高精度ADC技术拆解:从Σ-Δ原理到RTD测温实战

AD7793高精度ADC技术拆解:从Σ-Δ原理到RTD测温实战 做硬件这些年我拆过的ADC比拆过的手机还多但要论让我对“精密测量”这个概念彻底改观的还得是AD7793BRUZ-REEL这颗芯片。早先做称重仪表传感器输出就几个毫伏用单片机内置的12位ADC采样零点读数飘得像心电图后来换成ADI亚德诺这颗24位Σ-Δ ADC才真正明白“能测到数”和“测得准”之间隔着一条银河。今天这篇就从AD7793的完整技术拆解讲起顺手把ADI ADC的选型思路、常用型号和命名规则梳理一遍给正在选型或者准备入坑高精度采集的工程师一份可以直接抄作业的笔记。1. 一颗芯片看懂精密测量AD7793BRUZ-REEL 强在哪里1.1 型号拆解BRUZ-REEL 到底是什么意思很多工程师拿到“AD7793BRUZ-REEL”这串型号第一反应是记下来照买但理解型号结构能帮你少走很多弯路。我拆开讲一下ADI 的型号信息量很大。AD7793基础型号24位Σ-Δ架构ADC3路差分输入内置PGA、基准源和激励电流源。B精度等级。同一个封装下B级比A级的失调、线性度等指标更严适合仪表类应用。A级偏向通用训练成本也低一档。具体差异以数据手册“订购信息”表格为准不同系列这个字母含义不完全一样。R封装家族代码ADI很多模拟芯片都用R表示SOIC家族。U与R组合成“RU”代表TSSOP封装。AD7793是16引脚TSSOP体积比SOIC小一圈。Z代表无铅、符合RoHS这是现在出货的标配。-REEL编带盘装供贴片机自动贴装。如果只买几片用于手工打样散装管装也行量产才需要考虑盘装规格。这个拆解思路放在整个ADI产品线都通用后面第3章我会给一个完整的命名规则速查表。1.2 内部资源与关键参数AD7793BRUZ-REEL在我看来最值钱的不是“24位”这个卖点而是它把一套精密测量系统该有的东西都塞进了TSSOP-16的小封装里。我列一张常见参数表注意这些是典型值具体以最新数据手册为准参数项典型值/范围说明分辨率24 bit 无失码Σ-Δ架构输出更新率远低于采样率模拟输入3路差分可配置为多路伪差分模式内置PGA增益1~128小信号可以直接怼进去更新速率4.17 Hz ~ 470 Hz数字滤波器决定低速时噪声最低RMS噪声最低约1µV量级高速率、高增益下噪声会上升供电电压2.7V ~ 5.25V典型工作电流约500µA内置基准1.17V典型关键项目建议外接高精度基准激励电流源2路可编程恒流源常用10µA/210µA/1mA档可直接驱动RTD接口SPI简单3线或4线速率够用工作温度-40°C ~ 105°C工业级封装16引脚TSSOP4.4mm窄体这套配置意味着什么拿测温举例很多传感器方案里你还要额外配基准芯片、恒流源、仪表放大器AD7793一颗全包了。Σ-Δ架构最大的特点是通过过采样和噪声整形把量化噪声推到高频段再用数字滤波器滤掉所以能在低带宽场景下做到非常高的有效精度这也决定了它的主战场是“慢而准”而不是“快而精”。1.3 它最擅长的三类场景从我做过的项目来看AD7793的应用基本集中在三个方向。第一是称重和应变测量。称重传感器输出阻抗高、信号微弱通常只有几毫伏满量程需要高倍数PGA加高分辨率。当然市面上有HX711、ADS1232这类专用芯片但AD7793的优势在于更灵活的增益配置、更好的噪声指标和完整SPI接口适合做中高端仪表。第二是RTD和热电偶测温。RTD需要恒流源激励AD7793内置的激励电流配合比例测量方案可以极大抑制电流源温漂和基准源漂移测PT100、PT1000都很顺手。热电偶则需要高增益把微伏级信号拉起来AD7793在增益128档仍能保持可用噪声水平配冷端补偿就能做温控仪表。第三是电池供电的便携检测设备。500µA级别的工作电流在精密ADC里算很省电的做压力变送器、便携式气体检测仪、4-20mA回路供电仪表都很合适。医疗里的血压计、体温计这类对信噪比有要求的设备也常见AD7793的身影。2. ADC 选型不能只看位数这几个参数才是定生死的2.1 分辨率、ENOB 与无噪声码位我见过太多被“24位”忽悠的工程师买回来一测发现数据跳得根本不能用。原因很简单标称分辨率只是ADC能输出的bit数真正决定你能分辨多小信号的是无噪声码位。这里有两个概念必须吃透。一是ENOB有效位数它把信噪比折算成分辨率ENOB (SINAD - 1.76) / 6.02。注意SINAD是dB值它包含了噪声和失真这才是“干活”的分辨率。二是无噪声分辨率算法是无噪声分辨率 log2(满量程电压 / 峰峰噪声)。工程上峰峰噪声按6.6倍RMS噪声估算对应99.9%的置信区间。打个比方满量程2.5VRMS噪声1µV那么峰峰噪声约6.6µVlog2(2.5V/6.6µV)算出来约18.5位。也就是说一颗标称24位的ADC实际能稳定输出的无噪声位数往往在18~20位之间——这已经很优秀了。所以选型时别问“这是多少位”要问“在我要的更新率下RMS噪声是多少、无噪声码位能到多少”。AD7793在低速率高增益下能做到微伏级噪声折算无噪声码位约19位对绝大多数传感器应用绰绰有余。2.2 采样率、信号带宽与抗混叠ADC架构直接决定了速度区间。低速高精度是Σ-Δ的天下中高速多通道是SAR逐次逼近型的主场每秒几G采样率的超高速场景基本被流水线架构垄断。采样定理大家都会背采样率至少是信号最高频率的2倍。但工程上谁也不会卡着2倍做因为真实信号不是理想正弦波还有抗混叠滤波器的滚降斜率问题。我的经验是如果信号带宽100kHz采样率至少给到400kSPS以上给抗混叠和后续处理留裕量。这里对从STM32、S32K这类MCU转过来的工程师多说一句单片机内置ADC通常是12位SAR用PWM或定时器触发可以解决采样时刻抖动但解决不了分辨率不够的问题。像C2000系列用ePWM触发ADC在电机控制里很流行那是因为控制环需要的是采样时刻精确不是分辨率极致。真到了毫伏级微弱信号测量内置12位ADC的量化噪声就能淹没你的信号这时候必须上外置精密ADC。2.3 PGA、基准源、激励电流集成度决定成败初学选型容易只盯分辨率和采样率忽略“外围配套”。实际打板时发现要伺候一个裸ADC反而更费劲。先说PGA。传感器信号小就得放大。如果ADC不带PGA你还得外配仪表放大器成本和PCB面积都上去了。AD7793内置增益到128倍意味着1毫伏级别的信号可以直接差分输入不需要额外放大级。但要记住增益越高有效动态范围越窄而且噪声也会跟着等效输入噪声放大。再说基准源。ADC是把输入电压和基准电压做比较基准的精度和温度漂移直接决定测量精度。很多廉价方案用内置基准图省事但如果你想做到长期稳定建议外接低温漂基准。一个讨巧的做法是比例测量让激励源和基准用同一个源这样激励漂移的影响会被抵消。AD7793内部基准是1.17V典型值应急够用认真做项目我会外接基准。最后是激励电流。测RTD和电桥时传感器需要激励源没集成的话你得自己搭恒流源温漂和噪声都是坑。AD7793内置两路可编程恒流源直接省掉这堆外围。2.4 功耗、封装与接口的现实约束技术参数再漂亮落不了地等于零。我一般在参数筛选之后还会过一遍功耗、封装和接口这三个现实约束。功耗这事做便携设备和4-20mA回路供电仪表时尤其敏感。回路供电的变送器整机电流预算往往只有3.5mA左右你能分给ADC的可能就只有几百微安。AD7793这种500µA级别的器件就很合适如果还嫌高可以用单次转换模式测完立刻睡眠平均功耗能压到很低。封装决定了你的板子能不能做小也和焊接工艺挂钩。TSSOP-16是手工焊接还算友好的极限之一再小到QFN、WLCSP对打样就有点折磨人了。接口方面精密ADC基本是SPI或I2C。SPI速率一般不是瓶颈倒是要注意有些芯片的SPI时序要求比较严格读数据时CS、SCK、RDY的配合要看仔细否则容易踩坑。高速ADC则需要考虑并行LVDS或JESD204B串行接口布局布线和FPGA资源完全不是一个量级。3. ADI 亚德诺 ADC 选型大全按应用场景对号入座3.1 高精度低速率Σ-Δ 家族的扛把子如果你要测的是温度、压力、称重这类变化慢的物理量Σ-Δ ADC是首选ADI在这个品类里的产品线非常密集。我做了一张常用型号对照表型号位数通道特点典型应用AD7793243差分低功耗、内置PGA/基准/恒流源RTD测温、称重、便携仪表AD7794246差分AD7793的多通道版本多点温度采集AD7124-4 / -8244/8通道灵活配置、功耗低、可带诊断工业模拟量输入、PLCAD7190 / AD7192242/4?超低噪声、高精度电子秤、计量衡器AD7175 / AD7176242通道快速建立可达250kSPS级多路工业数据采集AD7768248通道同步采样、256kSPS振动、声学、电能质量选型逻辑其实很直接单通道、低功耗、要求集成度高的选AD7793多通道低速扫描选AD7124做计量级称重、对噪声深恶痛绝的看AD719x需要快速建立但精度不妥协的AD717x要做多通道同步采集直接看AD7768。3.2 中高速多通道SAR ADC 的主场SAR架构的特点是转换速度快、无流水线延迟适合多路复用的中高速采样系统。如果你做电机控制、电源监测、便携示波器SARADC往往是更合适的选择。AD760616位、8通道同步采样最高200kSPS内置±5V/±10V输入缩放和钳位保护做电力监测、继电保护非常经典。AD7685 / AD768916位、低功耗SAR前者单通道250kSPS级别后者多通道集成多路复用和校准适合便携采集。AD7980 / AD7986PulSAR架构采样率能到1~2MSPS级别功耗极低适合超声、无损检测等需要快速精度的场景。AD4000系列近几年的新秀16/18位最高2MSPS封装小、功耗低是追求单通道性能时的优选。SAR ADC选型要注意输入驱动SAR转换器在采样阶段会引入电荷反冲前端必须加运放驱动否则精度大打折扣。这一点比Σ-Δ更敏感。3.3 超高速与射频前端GSPS 级别的存在到了雷达、通信、示波器前端这类场景采样率动辄每秒几百兆甚至几GJESD204B接口几乎是标配。ADI在这个领域的产品是从模拟前端到数据接口全套都有。AD920814位、3GSPS双通道直采样射频信号多用于雷达和5G基站。AD968014位、1.25GSPS同样是JESD204B输出适合宽带接收机。AD9656四通道16位、125MSPS适合相控阵和多通道声纳系统。这几年很火的4D毫米波雷达做人体存在感知本质上就是对ADC原始数据做多帧处理这类前端要用到14bit以上、GSPS量级的高速转换器。这类项目和精密仪表完全是两个世界选型时不要拿Σ-Δ的思路去套。3.4 ADI 型号命名规则与后缀速查ADI的产品线收购过Linear、Maxim所以型号前缀有点混杂但规律仍然存在。前缀AD开头是自家模拟器件ADuCM可能是带MCU的混合信号ADuM是隔离产品LTC和MAX开头是并购进来的品牌比如LTC2440、MAX11270这类ADC在工业领域也很能打。数字段传统上AD77xx是低功耗Σ-ΔAD719x、AD7124、AD717x是精密/多通道Σ-ΔAD76xx多为SARAD9xxx多是高速射频ADC。注意这只是经验规律不是强制规范用起来还是要看手册。后缀A/B/C通常是精度或温度等级RU代表TSSOPCP代表LFCSPST代表LQFPBC代表CSP封装Z代表无铅-REEL代表编带盘装-RL或-REEL7可能表示不同盘径。这套规律看熟之后光看型号就能猜出大致的定位和封装查手册的效率高很多。4. 实操实录基于 AD7793 的高精度 RTD 测温方案4.1 硬件连接比例测量怎么搭纸上谈兵没用我拿一个实际的PT100测温项目来走一遍完整流程。硬件连接我用的是4线制比例测量这是我最推荐的接法。思路是让AD7793的一路恒流源比如1mA流过PT100PT100两端电压接入差分输入AIN1/AIN1-同时在电流回路里串一个精密参考电阻Rref比如1kΩ低温漂Rref两端的电压接到ADC的外部基准输入REFIN/REFIN-。这样ADC的测量结果是Vrtd除以Vref激励电流的变化会同时影响分子和分母电流源温漂被天然抵消这就是比例测量的精髓。连线要点PT100引脚尽可能短4线制里两根电流线和两根电压线不能在PCB上共用走线。参考电阻必须用低温漂精密电阻比如PTF、VHP系列这决定了比例测量的底噪。模拟输入和基准输入都要加RC滤波我常用100Ω串联加100nF电容截止频率按需算。电源用低噪声LDO供电模拟地和数字地单点接地别让SPI回流电流污染模拟地。4.2 SPI 寄存器配置顺序与代码骨架AD7793的SPI操作核心是“通信寄存器先选定目标寄存器再读或写”。配置顺序我习惯按滤波、配置、模式三步来。下面是一段参考骨架代码寄存器具体值需要对照当前版本手册的映射表填写// 伪代码示意配置流程具体位域值查数据手册 void ad7793_init(void) { // 1. 复位至少32个连续1让数字接口回到已知状态 ad7793_reset(); // 2. 配置滤波寄存器选更新率例如50SPS工频抑制较好 ad7793_write_reg(REG_FILTER, 0x1001); // 3. 配置寄存器选通道0PGA为8开启缓冲 ad7793_write_reg(REG_CONF, 0x0001); // 4. 模式寄存器连续转换模式 ad7793_write_reg(REG_MODE, 0x0010); // 4. 等待RDY引脚拉低读取24位转换结果 } int32_t ad7793_read_raw(void) { while (rdy_pin_read()); // 等待数据就绪 uint8_t buf[3]; ad7793_spi_read(REG_DATA, buf, 3); int32_t raw (buf[0] 16) | (buf[1] 8) | buf[2]; if (raw 0x800000) raw | 0xFF000000; // 24位补码符号扩展 return raw; }有几个坑必须提醒读写寄存器之前一定要先写通信寄存器指定方向否则接口状态会乱读取数据时要注意SPI的CPOL/CPHA配置AD7793要求SCK空闲为低具体看手册时序图RDY引脚建议用外部中断或查询别用固定延时去猜。4.3 抗干扰与数据滤波C 语言三件套我见过很多人以为24位ADC直接读几个原始值就能用结果被50Hz工频干扰折磨到怀疑人生。硬件滤波要做软件滤波也不能少。我最常用的三套C语言滤波函数基本可以覆盖绝大多数场景。第一是滑动平均适合抑制随机噪声#define FILTER_N 16 static uint32_t sum; static uint32_t buf[FILTER_N]; static uint8_t idx; uint32_t moving_average(uint32_t sample) { sum - buf[idx]; sum sample; buf[idx] sample; idx (idx 1) % FILTER_N; return sum / FILTER_N; }第二是一阶低通EMA对实时性要求高的场景很实用占内存小// alpha取值0~1越小滤波越重、响应越慢典型0.1~0.3 float ema_filter(float sample, float *prev, float alpha) { *prev alpha * sample (1.0f - alpha) * (*prev); return *prev; }第三是中值滤波对付毛刺和偶发干扰非常有效我通常取3点中值配合滑动平均一起用。这里的原理值得一说ADC输出是数字值但在频域上它和模拟信号一样有频谱滤波器本质是利用“信号是慢变量、噪声是快变量”这个差异做频带截断。更新率选50SPS左右时AD7793数字滤波器的陷波点正好落在50Hz对工频有天然抑制再加上软件滤波读数基本能稳到小数点后三位。4.4 校准、标定与实测结果评估系统搭好只是第一步校准才能真正体现工程水平。我的校准流程分两段。失调校准把差分输入短路读取码值这个值作为零点偏移存进EEPROM。增益校准输入一个已知精密电压用校准源比如Fluke读取码值算出实际增益系数。在程序中用线性修正真实值 (原始码 - 零点) × 增益系数。RTD的物理换算我用Callendar-Van Dusen方程或者直接查PT100分度表。简化处理可以用R(t) R0 × (1 a×t b×t²)PT100的a取3.9083e-3b取-5.775e-7。实测下来我用1mA激励、50SPS更新率、配合校准在0~100°C范围内能把误差控制在±0.1°C内这已经是仪表级水平。5. 老手才懂的坑从芯片到量产的避坑清单5.1 容易翻车的三个隐形陷阱第一个坑是参考电压和激励电流“联动翻车”。我在一个压力变送器项目里发现读数随温度漂得离谱查了半天最后发现是因为用了内部1.17V基准而这个基准的输出阻抗偏高受前端RC滤波电容影响很大。解决办法是外接精密基准或者把基准输入引脚直接并联大电容并且很靠近芯片。第二个坑是建立时间被低估。Σ-Δ ADC有数字滤波器滤波越重建立时间越长。你切换通道或者换增益之后立刻读数据读到的还是上一次的值。我的习惯是切换配置后先丢弃前2~3个转换结果等滤波器稳定再采数。精密ADC不是MCU内置ADC它的“采样周期”概念更复杂。第三个坑是PGA增益和动态范围打架。增益128倍虽然能把微伏信号放大但同时也把失调和噪声放大。我遇到过客户把热电偶信号用128倍增益测结果零点直接偏出量程最后只能降增益加后续放大反而更好用。选增益要算一算输入信号幅度和噪声预算不是越大越好。5.2 现象-原因-排查常见问题速查表现象可能原因排查方向读数严重跳字参考源噪声大、滤波太弱、PGA过高抓波形看参考电压纹波加大RC滤波降低增益输出全0或满码通道选错、SPI时序错误、输入超共模范围确认通信寄存器值抓SPI时序检查AIN电压是否在电源轨内50Hz干扰明显更新率与工频没对齐、走线不良、屏蔽不佳选50SPS或整数分频更新率屏蔽线单端接地SPI读回数据是乱的CPOL/CPHA配置错、RDY时序没等对照时序图逐条核对先做寄存器回读测试温漂严重外部基准温度系数大、激励电流漂移、热电势换低温漂基准改用比例测量注意接线材料一致性功耗超标一直跑连续转换、没进待机用单次转换模式转换完立刻断电源或进睡眠5.3 同场加映HX711 / ADS1232 / MCP3561 怎么选因为AD7793定位偏中高端很多工程师会纠结它和几颗热门国产/进口24位ADC的取舍我干脆放个对比芯片架构/位数特点适合场景HX71124位Σ-Δ便宜、简单专为电子秤但灵活性差低成本称重产品ADS123224位Σ-ΔTI称重专用增益固定档简单可靠电子秤、测力MCP356124位Σ-Δ输出速率高、可配置性强性价比可以通用高精度采集AD779324位Σ-Δ集成PGA/基准/恒流源、低功耗、精度高仪表级测量、RTD测温我的建议很直接如果只是做家用电子秤HX711就够用如果做的是要过检、要稳定的工业变送器或计量仪表AD7793多花的成本完全值得。选型先想清楚应用定位再谈性价比。6. 正品芯片从哪里来ADI 生态与采购渠道经验6.1 原厂、授权代理商、专业分销商的分工技术方案定了采购渠道同样不能马虎。ADI作为IDM大厂渠道体系分为几层原厂直接对接大客户和设计服务授权代理商从原厂拿货保证正品和可追溯但受最低起订量和交期限制对小批量打样并不友好专业分销商则做常备库存拆包销售笔者接触过像鑫富立这样专注ADI亚德诺全系列的分销商优势就是小批量也能拿到现货、批次可追溯。选第三方分销商重点不是看它说得有多好听而是看三样东西库存批次是否为原厂出货、能不能提供COC出厂证明、支不支持来料质量检测。这三样齐全基本可以纳入考虑。6.2 收到芯片后 5 分钟快检法芯片到手我建议花5分钟做一次快检能滤掉大部分翻新和假货风险。先看外观正品AD7793BRUZ-REEL的丝印清晰锐利引脚光亮无氧化塑封体表面不发黄。再比对标记编带标签上的批次号、型号、数量要和实物丝印一致字符串间距、字体风格都可以在官网上找到参考图。然后测静态参数用万用表量电源到地电阻正常数字IC在几百欧到上千欧范围短路或开路都有问题有条件的话直接上电测量ADR引脚的基准电压、工作电流和手册典型值做对比差异超过10%就要警惕。6.3 小批量项目采购的实用建议小批量项目最怕的是“打断了供应链”。我的经验有两条第一同一颗料尽量多关注包装后缀。AD7793BRUZ-REEL是编带盘装如果只是做几十片样板买管装散料更划算但要上贴片机必须用-REEL。采购前先和产线确认贴装方式再定后缀。第二始终留一个Plan B。AD7793有个亲兄弟AD7792是16位版本引脚完全兼容如果项目精度预期降档可以无缝替换。这类兼容性信息在看数据手册时要刻意记下来关键时刻能救急。另外很重要的一点选型阶段就去查产品生命周期状态。ADI官网上每颗料都有Production、Last Time Buy等状态标记如果你选了停产边缘的物料量产时会被动换料成本和风险都很大。这颗料的延续性也要考虑进去我一般选择仍在量产状态的主流型号。写到最后说点个人体会。精密ADC项目做多了你会发现瓶颈往往不在芯片本身而在参考源、走线和系统习惯。AD7793BRUZ-REEL是一颗很适合练手的芯片它把精密测量的核心要素都集成在一个小封装里从它上手把“比例测量、滤波、校准”这条链路走通再去看AD7124、AD7175甚至高速ADC原理都是相通的。选型时先想清楚需求再对着手册抠参数比在几百个型号里大海捞针靠谱得多。
返回列表