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

描述

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

介绍

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

寄存器

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

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

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

寄存器

图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 内部失调校准步骤。

流程图

寄存器

审核编辑:郭婷

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分