0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

教你如何将微小的传感器讯号正确连接到ADC

倩倩 来源:电子技术设计 作者:电子技术设计 2021-04-14 10:53 次阅读

问题:有没有一个模块,能让我直接将微小的传感器输出讯号转换为ADC输入电压?

答案:有的,新一代仪表放大器系列(如ADI的整合方案)可望一举完成如下任务:抑制共模讯号、放大差模讯号,将电压转换为符合要求的ADC输入电压,并且保护ADC免受过压影响!

在无数的工业、汽车、仪器仪表和众多其他应用中,普遍存在着一项挑战,就是如何将微小的传感器讯号正确连接到ADC,以实现数字化和数据撷取。传感器讯号通常很微弱,可能有很高的噪声,看上去像是一个非常高的阻抗源,位于大共模(CM)电压之上。这些都是ADC输入所不乐见的。

本文将介绍最新整合解决方案,可以彻底解决工程师所提出超出当下能力范围的问题。文中并将详细介绍设计步骤,以便配置一个完整的传感器接口仪表放大器来驱动ADC输入。

o4YBAGB2WeyAI4-dAACLOblcZGU840.png

图1:从传感器到达ADC的挑战

什么适合传感器?为何有问题?

这个问题的简短答案是仪表放大器。传感器适合连接的对象是仪表放大器。

仪表放大器具有高精度(低失调)和低噪声特性,不会破坏小输入讯号。其差分输入适合于许多传感器讯号(如应变计、压力传感器等),并且能够抑制任何存在的共模讯号,仅留下我们感兴趣的原始小电压,而不至于会有不需要的共模讯号。仪表放大器具有很大的输入阻抗,不会为传感器带来负载,确保脆弱的讯号不受讯号处理的影响。

此外,仪表放大器通常使用单一外部电阻即可提供很大的增益和可选增益范围,因而非常灵活,让目标小讯号适应远高于讯号路径噪声位准的电压和ADC模拟输入。仪表放大器是针对精密性能而设计的,内部进行了调整,能够在宽广的工作温度范围内保持其性能,并且不受电源电压变化的影响。仪表放大器还具有极低的增益误差,这也有助于其维持精度,并限制摆幅变化所造成的测量或讯号误差

ADC输入乐见什么?

驱动ADC输入可不是那么容易。前端的内部电容(图2中的CDAC)开关操作会引起电荷注入,这使得传输高线性度的稳定讯号以供ADC量化成为一项艰巨的任务。驱动ADC输入的驱动器必须能够处理这些庞大的电荷注入,并在下一个转换周期之前迅速稳定下来。此外,根据ADC分辨率(位数),驱动器的噪声和失真不应成为限制因素。

o4YBAGB2WfOAO3uIAAC7pIwH1LY229.png

图2:ADC输入驱动具有挑战性

要达到上述要求绝非易事,特别是对于低功耗驱动器而言。另外,由于半导体制程的现代化,ADC工作电源电压日渐下降。这种趋势的不良副作用之一,是ADC输入变得更容易受输入过压的影响,并可能造成伤害或损坏,而这就需要有外部电路来防范这种过压。此类外部电路不仅不能将任何可测量噪声加入讯号,而且不应限制带宽或引起任何形式的失真。另外还非常希望整个电路能快速反应,并能从过压事件中迅速地恢复。

偏移输入讯号以符合ADC模拟输入电压范围也存在挑战。为执行此任务而增加的任何电路组件都必须遵守前面列出的所有限制条件(即低失真、低噪声、足够的带宽等)。

如果仪表放大器能够直接驱动ADC就好了…

市面上的所有仪表放大器都存在一些缺点,因此需要更多电路组件才能完成从物理世界(传感器)到数字世界(ADC)的路径。传统上,仪表放大器不是驱动ADC的首选电路组件(某些ADC比其他ADC更精密)。仪表放大器所做的事情已经够多了,希望它做得更多似乎不公平!

克服ADC驱动器的谐波失真(HD)是一项困难的挑战。下面是ADC驱动器必须满足或超过的失真性能的表达式,其是ADC分辨率的函数:

因此,对于16位ENOB,SINAD≥98 dB

目前市场上的仪表放大器通常不是为驱动ADC输入而设计的。造成这种情况的最常见的原因,是这些组件缺乏高分辨率ADC所需的线性度。线性度或谐波失真(也称为THD,即总谐波失真)是最有可能的限制因素,仪表放大器因此而无法直接驱动ADC。当复杂波形被数字化后,一旦其被失真项干扰,讯号便无法与此类干扰区分开来,数据撷取将被破坏!驱动器还应能够从之前解释的ADC输入电荷注入瞬态中快速稳定下来。

当下的解决方案得到改善

现在,新的仪表放大器系列不仅能够完成仪表放大器传统上所做的所有事情,而且能非常良好地直接驱动ADC并保护ADC输入! LT6372-1 (支援0dB到60dB的增益)和 LT6372-0.2 (支持–14dB到+46dB的增益/衰减)可以协助完成精密传感器接口的任务,直接驱动ADC输入。

pIYBAGB2WfyAZVQnAAHvLcmdO48528.png

图3:理想的传感器放大器/ADC驱动器

使用诸如LT6372系列的高精度、低噪声仪表放大器来直接驱动ADC模拟输入具有明显的优势,无需再增加一个放大或缓冲级。其中的一些好处包括:减少组件数量,降低功耗和成本,缩小电路板面积,提供高CMR、卓越的直流精度、低1/f噪声,透过单一组件选择增益。

许多被选作ADC驱动器的高速运算放大器可能没有LT6372系列所具有的低1/f噪声特性,原因是后者采用专有制程制造。此外,可能需要增加额外的缓冲和增益级以放大微小的传感器讯号。采用仪表放大器直接驱动ADC时,放大器级或基准电压源都没有与之相当的额外噪声源或直流偏移项。

LT6372-1和LT6372-0.2具有极高的输入阻抗,可以与传感器或类似讯号输入接口,并提供大增益(LT6372-1)或衰减(LT6372-0.2)而不会引起负载效应,同时其低失真和低噪声可确保精确转换而不会降低性能,支持16位和更低分辨率ADC以高达150kSPS的速率运作。图4显示在给定增益设定下,每个组件可实现的带宽。

o4YBAGB2WgOASJe5AAH9SOsf_KM063.png

图4:LT6372-1和LT6372-0.2在各种增益下的频率响应

LT6372-1失真与频率的关系参见图5,应确保失真项不会影响ADC在最高目标频率的THD性能。以ADC LTC2367-16 为例,其SINAD规格为94.7dB。为确保驱动器不是主要因素,图5显示LT6372-1是小于约5kHz频率的合适选择。

pIYBAGB2WguAZRtbAAGzEITxX2g212.png

图5:LT6372-1 THD与频率的关系

LT6372-1用于ADC驱动器的精妙之处

除前面提到的优点之外,LT6372系列的分离基准电压架构(在图6中显示为分开的RF1和RF2接脚)则允许以将讯号直接有效地平移到ADC FS电压范围内,而无需使用额外的基准电压源和其他外部电路来达到相同目的,从而降低成本和复杂性。对于大多数ADC,REF2(此处显示与VOCM直流电压相连)将与ADC VREF电压相连,这将确保ADC模拟输入中间位准为VREF/2。

pIYBAGB2WhmALZUhAAFs_Dg8XJg716.png

图6:LT6372分离基准电压用于将讯号移至ADC模拟输入讯号范围内

LT6372系列的内建输出箝位(CLHI和CLLO)确保ADC的敏感输入不会受到正向或负向瞬变的破坏或可能的损害。该系列支持无失真的输出摆幅达到箝位电压,并能够快速响应和恢复,从而在可能的瞬变触发任一箝位之后保护ADC并使之迅速恢复正常工作。

有些SAR ADC的模拟输入为放大器驱动带来了具挑战性的负载。放大器需要有低噪声和快速建立特性,并具备高直流精度,以将干扰讯号的扰动保持在一个LSB或更小。更高的采样速率和更高阶的ADC对放大器的要求也更高。图7显示了典型SAR ADC的输入。

o4YBAGB2WiCAYLO-AAEDiQWPXow525.png

图7:采集/采样模式下的SAR ADC输入

图7所示的切换位置对应于采样或采集模式,在该模式下,模拟输入连接到采样电容CDAC,然后在下一会话开始转换。

在此阶段开始之前,切换S2已将CDAC电压放电至0V或其他偏置点,例如FS/2。在采样周期开始时,S1闭合且S2断开,VSH和模拟输入的电压差导致瞬态电流流动,使得CDAC可以充电达到模拟输入电压。对于较高采样速率的ADC,该电流可能高达50mA。电容CEXT有助于缓解该电流阶跃引起的放大器输出电压的阶跃变化,但放大器仍会受到其干扰,需要在采集周期结束之前及时建立。电阻REXT将驱动器与CEXT隔开,并且在驱动大电容时还能降低其对稳定性的影响。关于REXT和CEXT值的选择,需要权衡这种电流注入造成的更大隔离与以这种方式形成的低通滤波器所导致的建立时间性能下降。此滤波器也有助于减小带外噪声并改善SNR,不过这不是其主要功能。

ADC前端RC组件值设计

选择REXT和CEXT的值时要考虑很多因素。以下是影响FFT或其他方式测得的ADC动态响应的因素总结:

CEXT:充当输入电荷反冲的电荷桶,使电压阶跃最小,从而改善建立时间。

太大:可能会影响放大器稳定性,并可能将LPF滚降频率降得太低而无法让讯号通过。

太小:ADC输入的电荷反冲太大,无法及时建立。

REXT:在放大器输出和CEXT之间提供隔离,以确保稳定性。

太大:可能会使建立时间常数过长。当计入ADC输入非线性阻抗时,也可能导致THD升高1。可能会增加IR压降误差。

太小:由于CEXT,放大器可能变得不稳定或其正向路径建立可能会受到影响。

下面是设计REXT和CEXT值的一些设计步骤,以LT2367-16 ADC为例,其由LT6372-1驱动,最大输入频率fIN为2kHz,采样速率为150kSPS:

选择足够大的CEXT充当电荷桶,大幅减少电荷反冲:

其中:

CDAC:ADC输入电容 = 45 pF (LTC2367-16)

→ CEXT = 10 nF (选定值)

使用下式计算ADC输入电压阶跃VSTEP:

其中:

VREF = 5 V (LTC2367-16)

CDAC: ADC输入电容 = 45 pF (LTC2367-16)

CEXT = 10 nF(之前)

→ VSTEP = 22 mV (计算值)

注意:此VSTEP函数假设CDAC在每个采样周期结束时都放电至地,LTC2367-16也是如此。参考文献1中的VSTEP公式使用了不同的假设,因为它是针对ADC架构的,CDAC电压对于每个样本保持不变。

假设阶跃输入以指数方式建立,计算需要多少个输入REXT×CEXT时间常数NTC才能建立:

其中:

VSTEP:之前计算的ADC输入电压阶跃

VHALF_LSB:LSB/2,单位为伏特。对于5V FS和16位,其为 38µV (= 5V/217)

→ NTC = 6.4个时间常数

计算时间常数τ:

其中:

tACQ:ADC采集时间;tACQ = tCYC – tHOLD

假设采样率为150kSPS:

tCYC = 6.67μs (= 1/150kHz)

tHOLD = 0.54μs (LTC2367-16)

因此:tACQ = 6.13μs

→ τ ≤ 0.96 µs

在已知τ和CEXT的情况下,可以计算REXT

→ REXT ≤ 96 Ω

现在我们有了外部RC值,所选ADC可以适当地建立。如果计算出的REXT过高,可以增加CEXT并重新计算REXT以减小其值,反之亦然。图8显示了CEXT的选定值和对应的REXT值,用以简化本例工作条件下的计算任务。

pIYBAGB2WiuAQXbXAADzkn7C3Vg030.png

图8:ADC正确建立对应的外部输入RC关系。

使用前面的步骤找到合适的REXT和CEXT起始值。应执行基准检验和评估,并根据需要优化这些值,同时牢记此类变动对性能的影响。

总结

本文介绍一个新的仪表放大器系列,它能协助连通传感器与数据撷取组件。文中并详细探讨这些组件的特性,并透过一个实际的例子说明了如何设计ADC前端组件,以确保驱动器与ADC的组合能够达到预期的分辨率。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2550

    文章

    51035

    浏览量

    753068
  • adc
    adc
    +关注

    关注

    98

    文章

    6495

    浏览量

    544461
  • 数字化
    +关注

    关注

    8

    文章

    8708

    浏览量

    61726
收藏 人收藏

    评论

    相关推荐

    请问如何将单端输出运放和真差分ADC连接

    不想引入单端转差分的驱动芯片,造成额外的性能下降,那么我这样接法是否正确:直接运放OP的输出Vout接到ADC的输入正端IN+,而将地GND接入A
    发表于 12-06 08:33

    如何将ADC10D1500与Virtex-7fpga评估板连接,用哪个连接器

    如何将ADC10D1500与Virtex-7fpga评估板连接,用哪个连接器
    发表于 12-05 06:49

    连接到PGA900的电阻式电桥压力传感器的系统噪声分析

    电子发烧友网站提供《连接到PGA900的电阻式电桥压力传感器的系统噪声分析.pdf》资料免费下载
    发表于 10-08 14:45 0次下载
    <b class='flag-5'>连接到</b>PGA900的电阻式电桥压力<b class='flag-5'>传感器</b>的系统噪声分析

    PGA900仪表放大器连接到电阻桥传感器

    电子发烧友网站提供《PGA900仪表放大器连接到电阻桥传感器.pdf》资料免费下载
    发表于 10-08 14:22 1次下载
    <b class='flag-5'>将</b>PGA900仪表放大器<b class='flag-5'>连接到</b>电阻桥<b class='flag-5'>传感器</b>

    如何将LVDS/OLDI桥接到HDMI/DVI

    电子发烧友网站提供《如何将LVDS/OLDI桥接到HDMI/DVI.pdf》资料免费下载
    发表于 09-27 09:35 1次下载
    <b class='flag-5'>如何将</b>LVDS/OLDI桥<b class='flag-5'>接到</b>HDMI/DVI

    一个第15.4层堆栈传感器连接到多个网关

    电子发烧友网站提供《一个第15.4层堆栈传感器连接到多个网关.pdf》资料免费下载
    发表于 09-26 11:05 0次下载
    <b class='flag-5'>将</b>一个第15.4层堆栈<b class='flag-5'>传感器</b><b class='flag-5'>连接到</b>多个网关

    5V传感器和信号连接到3.3V输入SAR ADC

    电子发烧友网站提供《5V传感器和信号连接到3.3V输入SAR ADC.pdf》资料免费下载
    发表于 09-06 10:09 0次下载
    <b class='flag-5'>将</b>5V<b class='flag-5'>传感器</b>和信号<b class='flag-5'>连接到</b>3.3V输入SAR <b class='flag-5'>ADC</b>

    差分输出(隔离式)放大器连接到单端输入ADC

    电子发烧友网站提供《差分输出(隔离式)放大器连接到单端输入ADC.pdf》资料免费下载
    发表于 09-05 09:58 0次下载
    <b class='flag-5'>将</b>差分输出(隔离式)放大器<b class='flag-5'>连接到</b>单端输入<b class='flag-5'>ADC</b>

    使用SPIMSPM0–ADC连接到AM62x上

    电子发烧友网站提供《使用SPIMSPM0–ADC连接到AM62x上.pdf》资料免费下载
    发表于 08-30 10:27 0次下载
    使用SPI<b class='flag-5'>将</b>MSPM0–<b class='flag-5'>ADC</b><b class='flag-5'>连接到</b>AM62x上

    如何将多个ESP连接到一个ESP并向服务发送数据?

    。 该站模式 ESP 连接传感器。所有这些站模式 esp 收集传感器数据并将数据发送到主 esp, 这个主ESP连接到我们的互联网路由
    发表于 07-19 06:49

    CAN如何将双通道ADC连接到FX3控制

    我想用 FX3 控制直接连接具有 250MSPS 的 14 位双通道 ADC 的并行 LVDS 输出。 从器件的数据表中可以清楚地看出,我 CAN
    发表于 02-27 06:25

    如何将LED连接到Arduino板并使其闪烁

     在本快速入门指南中,您将学习如何将 LED 连接到 Arduino 板并使其闪烁。
    的头像 发表于 02-11 10:53 2189次阅读
    <b class='flag-5'>如何将</b>LED<b class='flag-5'>连接到</b>Arduino板并使其闪烁

    如何将按钮连接到Arduino板

    在本快速入门指南中,您将学习如何将按钮连接到Arduino板,并根据按钮是否被按下来读取HIGH或LOW。您将使用电路板上随附的发光二极管 (LED)通过按钮打开和关闭,以便验证按钮按下代码是否正常工作。
    的头像 发表于 02-11 10:52 3763次阅读
    <b class='flag-5'>如何将</b>按钮<b class='flag-5'>连接到</b>Arduino板

    如何将光敏电阻连接到Arduino板并读取电压

    在本快速入门指南中,您将学习如何将光敏电阻连接到Arduino板并读取电压。您将首先使用串行监视来了解光传感器的行为方式,然后构建一个电路,在天黑时自动打开灯。
    的头像 发表于 02-11 10:45 3890次阅读
    <b class='flag-5'>如何将</b>光敏电阻<b class='flag-5'>连接到</b>Arduino板并读取电压

    如何将HC-SR04连接到Arduino并编写一个简单的程序来测量距离

    一种流行的Arduino超声波传感器是HC-SR04。它广泛用于非接触式距离测量,通常用于机器人和自动化项目。本指南向您展示如何将HC-SR04连接到Arduino并编写一个简单的程
    的头像 发表于 02-11 10:17 2330次阅读
    <b class='flag-5'>如何将</b>HC-SR04<b class='flag-5'>连接到</b>Arduino并编写一个简单的程序来测量距离