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

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

3天内不再提示

输入电压后ADC的输出有所不同是怎么回事

电子设计 来源:网友电子设计发布 作者:网友电子设计发布 2021-11-24 09:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这个情景真的令人很沮丧:你终于将模数转换器ADC) 搭建起来并开始运行,不过事情看起来有点儿不太正常。你输入了一个电压,不过ADC的输出有所不同。

出了什么问题?

看起来所有的设置都没有什么问题。有可能是通信问题,或者是你的ADC没有正确地测量模拟输入。

调试测量问题的最好工具是低噪声电压源和精密万用表,如图1所示。使用这个电压源作为ADC的输入信号,而高精度万用表测量ADC的输入和基准,你可以将预计的结果与ADC报告值相比较。只需确保输入电压以输入范围内的一个DC电压为基准。

需牢记的一点是,ADC测量输入,并且输出一个转换代码,这个代码与输入和基准的比成比例。如果你使用的是一个具有±VREF 两级范围的24位ADC,输出数据由方程式1确定:

你可以在满量程范围内获得数个模拟输入测量值,并且比较预计输出代码与ADC的报告值。通过使用这些数据,你可以计算结果值的偏离程度。你还可以确定这个误差是增益误差还是偏移误差。只要确保直接在器件的输入引脚上测量信号,获得一个准确的万用表读数。

如果差异比较小,那么ADC也许只需校准一下就可以了。高精度ADC通常需要一个校准命令来消除偏移和增益误差。

也许你尝试增加输入电压,但是ADC代码并没有移动。由于输入缓冲器限制了信号,有可能运行范围在输入范围之外。例如,24位,30kSPS ADS1255内的输入缓冲器在底端扩展至GND,在顶端扩展至AVDD -2V。

对于其它器件(比如说24位、2kSPS ADS1220),缓冲器是一个完全模拟可编程增益放大器 (PGA)。在这些情况下,你需要考虑PGA增益,输入和输出共模范围,或者PGA也许会限制你的测量。

图2显示的是,ADS1220数据表内描述这些限制的PGA共模电压要求部分的PGA图。

另外一个潜在的误差源有可能位于输入滤波内,大输入串联电阻会与输入偏置电流相互作用,增加测量值中的电压误差。此外,使用截止频率过低的输入滤波会干扰ADC的采样属性。对于每个模块化时钟,用一个输入电容器对输入和基准进行采样。这个采样必须在模块时钟周期内完成。由于输入被定期采样和放电,输入路径中的电感会由于定期采样而导致电压误差。

与模拟输入相类似,你需要对基准输入采取相似的操作。大输入阻抗将导致相似误差。

验证基准是否正确运行也很重要。例如,24位,2kSPS ADS1248的内部基准需要1μF和47μF之间的负载电容。此外,VREFCOM引脚到AC接地节点路径的电阻必须小于10W。如果不满足这两个条件,基准会变得不稳定。外部基准会有相似的稳定性问题。这些不常见的误差也许用万用表无法检测出来,有可能需要示波器才能追踪到。

在高集成器件中,比如说ADS1248,很多功能是在特定情况下使用的。如果使用这些选项不当,它们会干扰测量值。

图3显示的是ADS1248的方框图。红圈内的功能块在接通但未使用时有可能干扰测量值。

模拟与数字部分的不当接地会导致电路中的接地环路电压。这会干扰输入信号以及基准电压。良好的布局布线能够减少测量值中的这些误差。ADC周围的其它电路,诸如泄露的静电放电 (ESD二极管或外部缓冲器,也会引入误差。

当ADC的测量值不太对时,良好的调试可以帮助你确定到底是哪里出了问题。等下次你的ADC无法给出正确结果时,就试试我在本文中所谈到的常见误差源吧。

责任编辑:haq

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

    关注

    27

    文章

    9449

    浏览量

    157021
  • adc
    adc
    +关注

    关注

    100

    文章

    7950

    浏览量

    556987
  • 模拟
    +关注

    关注

    7

    文章

    1447

    浏览量

    85523
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    调试ddrinit的时候,ddrinit在trap时出现输出乱序的情况,这是怎么回事呢?

    我在调试ddrinit的时候,ddrinit在trap时出现输出乱序的情况,这是怎么回事呢?
    发表于 03-30 07:28

    XZ6318输入电压18V 输出电压1.5-5V 输出电流300mA

    输入电压
    jf_56831014
    发布于 :2026年03月23日 10:48:34

    XU9246输入电压1.8-5.25V,输出电压2.5-5.5V,输出电流3A

    输入电压
    jf_56831014
    发布于 :2026年03月11日 10:52:44

    XZ6920输入电压2.5-100V 输出电流ADJ(10mA-6A)

    输入电压
    jf_56831014
    发布于 :2026年03月05日 09:58:30

    XU9242输入电压0.65V-Vout 输出电压ADJ( 1.8V-5.5V) 输出电流>500mA

    输入电压
    jf_56831014
    发布于 :2026年02月05日 10:07:28

    XZ6219输入电压6V 输出电压0.8-5V 输出电流500mA

    输入电压
    jf_56831014
    发布于 :2026年01月31日 10:19:37

    【瑞萨RA6E2】ADC、DAC 电压输入输出

    软件上做如下配置: 再配置 Stacks,如下: 导出代码,使用以下代码使用 DAC 输出指定电压: fsp_err_t err = R_DAC_Open(&
    发表于 11-10 01:29

    【RA4M2-SENSOR】ADC、DAC 电压输入输出

    软件上做如下配置: 再配置 Stacks,如下: 导出代码,使用以下代码使用 DAC 输出指定电压: fsp_err_t err = R_DAC_Open(&
    发表于 10-17 00:06

    【RA4E2开发板评测】ADC、DAC 电压输入输出

    软件上做如下配置: 再配置 Stacks,如下: 导出代码,使用以下代码使用 DAC 输出指定电压: fsp_err_t err = R_DAC_Open(&g_dac0_ctrl
    发表于 10-14 09:47

    rt thread studio 创建的K210工程编译很多警告是怎么回事

    用rt thread studio创建的 K210工程,编译很多警告,这是怎么回事?有人知道吗?
    发表于 10-13 06:29

    【RA-Eco-RA6M4开发板评测】ADC、DAC 电压输入输出

    Smart Configuration 软件上做如下配置: 再配置 Stacks,如下: 导出代码,使用以下代码使用 DAC 输出指定电压: fsp_err_t err = R_DAC_Open
    发表于 07-21 03:54

    ADS129x设备如何将ADC输出代码转换为电压

    要将输出代码转换为电压,必须首先计算最低有效位或LSB的值。一个LSB代表一个代码的电压权重。换句话说,输入电压必须改变一个LSB大小,以增
    的头像 发表于 06-18 17:20 1459次阅读
    ADS129x设备如何将<b class='flag-5'>ADC</b><b class='flag-5'>输出</b>代码转换为<b class='flag-5'>电压</b>

    设计双极性输入、全差分输出ADC驱动器时需要考虑什么

    大多数 ADC 驱动器电路既需要正电源电压,也需要负电源电压,并且其电源电压超过 ADC输入
    的头像 发表于 06-14 13:55 1599次阅读
    设计双极性<b class='flag-5'>输入</b>、全差分<b class='flag-5'>输出</b><b class='flag-5'>ADC</b>驱动器时需要考虑什么

    nucleo STM32F303re上电led1和led3亮,但cubepogrammer显示无3.3v电压怎么回事

    求助 nucleo STM32F303re上电led1和led3亮,但cubepogrammer显示无3.3v电压怎么回事
    发表于 06-09 08:27