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

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

3天内不再提示

校准DS4830光微控制器的ADC内部失调

星星科技指导员 来源:ADI 作者:ADI 2023-01-10 14:02 次阅读

DS4830光微控制器模数转换器ADC)失调会随着温度和增益选择而变化。但是,DS4830允许用户测量ADC内部失调。测得的ADC失调被添加到ADC失调寄存器中,以消除失调误差。本应用笔记演示DS4830在应用中的ADC内部失调校准。

介绍

模数转换器(ADC)将输入电压转换为相应的数字代码。完美的ADC代表了整个代码空间中的这种行为。图1显示了采用2V基准电压源的3位ADC的传递函数。

pYYBAGO8_36AbWk7AAAj-jSJ3TA064.gif?imgver=1

图1.1/2 LSB补偿的理想3位ADC。

但是,很难设计出满足所有架构中完美ADC特性的ADC。由于各种设计限制或约束,ADC输出会产生各种误差,例如积分非线性(INL)、差分非线性(DNL)、增益和失调。

失调误差是ADC中最常见的误差。用于零电压输入(ADC输入接地)的ADC数字代码输出称为ADC失调。图2显示了带失调的3位ADC的传递函数。

pYYBAGO8_3-AJR2PAAAtQXWA7Bg254.gif?imgver=1

图2.具有失调功能的1/2 LSB补偿3位ADC。

DS4830 ADC内部失调

DS4830光学微控制器具有13位ADC和ADC失调寄存器(ADVOFF),用于校准ADC内部失调。对于每个DS4830,在室温下,ADC增益ADCG1 (1.216V满量程)的失调经过工厂校准。但是,DS4830 ADC内部失调会随着温度和增益选择而变化。

DS4830可以测量任何可用ADC增益设置的ADC内部失调。然后,该测量可用于校准ADVOFF寄存器。为了测量ADC内部失调,ADC控制器将内部接地连接到ADC输入,并在ADC上开始转换。ADC 控制器在位置 25 处有一个专用通道选择,指示 ADC 控制器测量 ADC 内部偏移。ADC控制器没有专用的数据缓冲器来存储ADC内部失调转换结果。要访问内部失调转换结果,必须使用ADC控制器中的位置覆盖选项。

ADC内部失调的位置覆盖选项

默认情况下,ADC转换结果存储在与通道号对应的ADC缓冲器位置。ADC 控制器提供“位置覆盖”选项。此选项允许将ADC转换结果放置在任何数据缓冲区位置(0-24个数据缓冲区位置)。ADC控制寄存器(ADCN)具有LOC_OVR位的位置覆盖。将此位设置为1将使用户能够选择存储ADC转换结果的备用位置。当 ADC 状态寄存器 (ADST) 中的 ADC 转换配置寄存器选择位 (ADCFG) 设置为 1 时,备用位置由 ADDATA[12:8] 位 (ALT_LOC[4:0]) 定义。

用于内部失调测量的ADC配置步骤

以下步骤解释了DS4830的ADC数据和配置寄存器(ADDATA)配置,用于ADC内部失调测量。

以下位设置为ADCN和ADST寄存器中的相应值。

位置覆盖位 (ADCN.LOC_OVR) 到 1

ADC 配置选择位 (ADST.ADCFG) 到 1

ADC 寄存器索引位 (ADST.ADIDX[4:0]) 到 0

写入 ADDATA 寄存器 (ADDATA)。ADDATA[4:0] 位中的 ADC 通道选择位 ADCH[4:0] 应为 25。此外,在 ADDATA 寄存器中的备用位置位 ALT_LOC[4:0] 写入(0 到 24 之间的任何值)。ADC内部失调转换结果放置在配置的备用位置位所指向的数据缓冲位置。例如

ADDATA = 0x0039;这将配置ADC进行内部失调测量、差分模式、备用位置0、增益1和ADC右对齐。

ADDATA = 0x4139;这将ADC配置为内部失调测量、差分模式、备用位置1、增益3和ADC右对齐。

ADDATA = 0x6439;这将ADC配置为内部失调测量、差分模式、备用位置4、增益4和ADC右对齐。

设置 ADC 配置选择(ADST.ADCFG) 至 0 和 ADC 寄存器索引位 (ADST.ADIDX[4:0]) 为 0。

ADC 内部失调测量和校准

将ADC配置为内部失调测量后,ADCN寄存器中的ADC转换起始位(ADCONV)设置为1以开始ADC转换。ADC 控制器将内部接地连接到 ADC 输入,以测量 ADC 内部失调,并在 ADC 上开始转换。转换结果是测得的ADC内部失调。这可以从 ALT_LOC[4:0] 位指示的数据缓冲区位置读取,该位置在 ADC 配置期间设置。

要校准ADC内部失调,请将测得ADC内部失调的负值(2的补码)添加到ADVOFF寄存器。基于测得的ADC内部失调的ADVOFF值示例如表1所示。这些 ADVOFF 值假定工厂校准的 ADVOFF 值为 0。在正常的ADC操作期间,ADVOFF中的值先添加到转换结果中,然后再将最终结果添加到数据缓冲区中。

测量的 ADC 内部办公室
ADVOFF寄存器(十六进制)
十进制 (十六进制)
-2
FFFEh
0002小时
-1
FFFFh
0001小时
0 0000小时
0000小时
1 0001小时
FFFFh
2 0002小时
FFFEh

注意:在上电复位(POR)期间,校准值将被出厂默认值覆盖。

示例代码

main.c 中的代码演示了 ADC 内部失调校准步骤。

流程图

pYYBAGO8_4CAM4TJAAA1pOzfEs0512.gif?imgver=1

审核编辑:郭婷

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

    关注

    48

    文章

    6893

    浏览量

    148695
  • 寄存器
    +关注

    关注

    30

    文章

    5183

    浏览量

    118349
  • adc
    adc
    +关注

    关注

    97

    文章

    5715

    浏览量

    540688
收藏 人收藏

    评论

    相关推荐

    CW32L083系列微控制器ADC和DAC模块要如何使用?怎么配置?

    如何配置和使用CW32L083系列微控制器ADC和DAC模块?
    发表于 01-17 06:08

    AduCM361的ADC校准后得出的结果是错误的,是什么原因导致的呢?

    AD7124和AD7794两款ADC校准资料,对内部校准说的不是很清楚。 在进行内部校准时,
    发表于 01-12 06:50

    微控制器基础】——从历史切入,了解微控制器的五个要素(上)

    微控制器基础】——从历史切入,了解微控制器的五个要素(上)
    的头像 发表于 12-07 10:55 290次阅读
    【<b class='flag-5'>微控制器</b>基础】——从历史切入,了解<b class='flag-5'>微控制器</b>的五个要素(上)

    微控制器基础】—— 从历史切入,了解微控制器的五个要素(下)

    微控制器基础】—— 从历史切入,了解微控制器的五个要素(下)
    的头像 发表于 12-06 17:23 340次阅读
    【<b class='flag-5'>微控制器</b>基础】—— 从历史切入,了解<b class='flag-5'>微控制器</b>的五个要素(下)

    深度解析精密ADC中的自校准内部校准

    一些ADC支持校准模式,这可以简化设计,帮助我们从系统处理器中节省一些中央处理单元(CPU)周期。在这种情况下,你只需要调整ADC设置,发送适当的校准命令,并等待
    发表于 12-04 15:29 752次阅读
    深度解析精密<b class='flag-5'>ADC</b>中的自<b class='flag-5'>校准</b>和<b class='flag-5'>内部</b><b class='flag-5'>校准</b>

    AD7172-2/AD7172-4/AD7173-8等使用的校准方法

    限度降低内部失调误差和增益误差。这些器件上使用的校准方法可校准所有内部模块的失调误差和增益误差,
    发表于 11-28 14:40 2次下载
    AD7172-2/AD7172-4/AD7173-8等使用的<b class='flag-5'>校准</b>方法

    stm32内部ADC可以校准吗?

    要怎么才能对内部ADC校准
    发表于 11-06 06:34

    使用STM8S微控制器的模数转换

    本应用说明的目的是解释如何使用模数转换在许多STM8S微控制器系列设备中实现。它提供了有用的关于如何配置ADC寄存微控制器资源以及使用
    发表于 10-10 07:48

    基于Arm Cortex-M0+的MCU上的ADC增益误差和失调误差校准

    电子发烧友网站提供《基于Arm Cortex-M0+的MCU上的ADC增益误差和失调误差校准.pdf》资料免费下载
    发表于 09-25 10:08 0次下载
    基于Arm Cortex-M0+的MCU上的<b class='flag-5'>ADC</b>增益误差和<b class='flag-5'>失调</b>误差<b class='flag-5'>校准</b>

    ADC测量微控制器内部温度传感示例码

    应用:ADC测量微控制器内部温度传感示例码 BSP 版本: M051系列 BSP CMSIS v3.01.001 硬件:Nutini-EVB-M051_V3.0
    发表于 08-30 06:15

    ADC测量微控制器内部温度传感示例码

    应用:ADC测量微控制器内部温度传感示例码 BSP 版本: M051系列 BSP CMSIS v3.01.001 硬件:Nutini-EVB-M051_V3.0
    发表于 08-23 06:21

    S3A6 微控制器组数据表(R01DS0308EU0120)

    S3A6 微控制器组数据表 (R01DS0308EU0120)
    发表于 07-05 20:12 0次下载
    S3A6 <b class='flag-5'>微控制器</b>组数据表(R01<b class='flag-5'>DS</b>0308EU0120)

    S5D5 微控制器组数据表(R01DS0317EU0130)

    S5D5 微控制器组数据表 (R01DS0317EU0130)
    发表于 07-05 20:11 0次下载
    S5D5 <b class='flag-5'>微控制器</b>组数据表(R01<b class='flag-5'>DS</b>0317EU0130)

    S5D9 微控制器组数据表(R01DS0303EU0130)

    S5D9 微控制器组数据表 (R01DS0303EU0130)
    发表于 07-05 20:11 0次下载
    S5D9 <b class='flag-5'>微控制器</b>组数据表(R01<b class='flag-5'>DS</b>0303EU0130)

    S1JA 微控制器组数据表(R01DS0325EU0150)

    S1JA 微控制器组数据表 (R01DS0325EU0150)
    发表于 07-05 18:51 0次下载
    S1JA <b class='flag-5'>微控制器</b>组数据表(R01<b class='flag-5'>DS</b>0325EU0150)