一站式电子元器件采购平台

华强商城公众号

一站式电子元器件采购平台

元器件移动商城,随时随地采购

华强商城M站

元器件移动商城,随时随地采购

半导体行业观察第一站!

芯八哥公众号

半导体行业观察第一站!

专注电子产业链,坚持深度原创

华强微电子公众号

专注电子产业链,
坚持深度原创

电子元器件原材料采购信息平台

华强电子网公众号

电子元器件原材料采购
信息平台

使用MAX1463低功耗双通道传感器信号处理器补偿和校准传感器的过程

来源:analog 发布时间:2023-12-29

摘要: 本文档描述了使用MAX1463低功耗双通道传感器信号处理器补偿和校准传感器的过程。

介绍了使用MAX1463低功耗双通道传感器信号处理器补偿压力传感器的描述性教程。并以实际数据补偿压力传感器为例,给出了该算法的数学描述。低电平传感器信号经过放大和温度补偿,形成一个完整的高信号电平传感器。

MAX1463是一款全数字高性能信号调节器,具有多通道输入。它有两个数字输出,支持4-20mA输出应用。它可以通过编程来纠正传感器的非线性和温度依赖特性。

本文档描述了补偿和校准应用于MAX1463 ADC通道之一的传感器信号的程序,在指定的温度范围内提供偏移和跨度校正。假设在器件的补偿过程和运行过程中,MAX1463 VDD电源电压不变。

本文给出的数据是真实数据,采集自压阻式压力传感器,并以压阻式压力传感器为例给出了补偿算法。

输入参数

用户必须为应用程序定义一些输入参数。他们:

Tmin =最低温度,单位为摄氏度
中等温度,以摄氏度为单位
Tmax =最高温度,单位为摄氏度
Pmin =最小压力
Pmax =最大压力
Vmin =所需MAX1463输出,在最小压力下,以伏特为单位
Vmax =期望MAX1463输出,在最大压力下,以伏特为单位

下一个限制取决于应用程序,并且可能与其他应用程序不同:


对于压力非线性校正,我们定义Pmed为传感器激励中点,为:


为了提高MAX1463 ADC转换器的性能和范围,有必要通过调整适当的粗偏移和PGA设置来最大化其有用范围。用户必须选择传感器灵敏度最高的温度,并应用最小和最大传感器激励。然后,用户应该选择在这些条件下最大限度地提高ADC输出的PGA增益和粗偏移设置。

ADC获取的数据必须输入到下面的矩阵中。每一行数据都有在指定温度下最小、中、最大传感器激励的归一化ADC值。它还具有用于内部MAX1463温度传感器的ADC电路,以及用于-0.5 (DACinM)和+0.5 (DACinP)固定归一化数字输入的DAC输出电压(通过小型或大型运放)。


采集的数据(ad)矩阵如下所示,ADC结果以十六进制形式输入,DAC输出电压以十进制形式输入。由于软件的限制,在输入十六进制值时,必须带一个小写的零(0)。


要将2的十六进制补数转换为十进制值(-1和+1之间),定义以下函数:


然后将获取的数据矩阵的十进制表示定义为:


在定义了用户值后,上式矩阵为:


让我们定义将在整个文档中使用的其他参数:


数据建模

本节展示传感器数据、温度数据和DAC数据的数学数据建模。然后将传感器、温度和DAC的派生函数用作它们的模型。


传感器数据建模


对于传感器数据建模,我们将首先对每个单独温度下的传感器数据进行建模。然后我们将建立系数随温度变化的模型。

系数是通过求解一个线性方程组得到的,描述为:

Ax = b
x = A(-1)b

其中A为方阵,x和b为列向量。在这种情况下,逆矩阵定义为:


对于最低温度,模拟ADC数据随压力变化的二阶系数为:


在此温度下模拟ADC输出过压的方程为:


对于中间温度,模拟ADC数据随压力变化的二阶系数由下式给出:


在此温度下模拟ADC输出过压的方程为:


对于最高温度,模拟ADC数据随压力变化的二阶系数由下式给出:


在此温度下模拟ADC输出过压的方程为:



图1所示。ADC输出x传感器激励(psi)。

现在,我们把这些方程结合起来,包括温度的依赖关系。基本上,我们将找到二阶方程来模拟系数随温度的变化。P0(T)、P1(T)和P2(T)的零、一、二阶系数由下式给出:


对于系数的温度建模,我们现在需要定义以下矩阵:


零阶系数随温度的变化关系如下:


零阶系数函数为:


一阶系数随温度的关系如下:


一阶系数函数为:


二阶系数随温度的关系如下:


二阶系数函数为:


ADC输出作为温度和压力的函数,由下式给出:


为了验证上述方程的有效性,让我们将数据矩阵与Pdata函数的值进行比较。



温度传感器数据建模


内部MAX1463温度传感器也必须建模。ADCtemperature数据之前已定义,如下所示:


二阶温度系数由下式给出:


温度ADC输出作为温度的函数由下式给出:



图2。温度ADC输出x温度(°C)。

为了验证,下面的值显示了输入的温度数据,以及从Tdata函数获得的值。



DAC数据建模


还必须对MAX1463 DAC进行建模,以便根据温度和过程(增益,偏移)的变化适当调整其输入值。DAC数据已经定义,下面给出了负输入(-0.5)和正输入(+0.5)的数据:


输入测量值的DAC增益定义为:


输入测量值的DAC偏置定义为:


表示DAC增益随温度变化的二阶函数系数为:


则DAC增益函数为:


表示DAC随温度偏移量的二阶函数系数为:


则DAC的偏移量函数为:


最终的DAC特性可以表示为:



图3。

为了验证,下面的值显示了输入的DAC数据,以及从Vdac函数获得的值。


温度传感器偏移和非线性校正

为了使温度相关系数最小化,我们将温度特性进行排列,使其以零为中心,然后将其放大。

为了使数据点居中,温度数据偏移量定义为:


然后给出偏移量校正后的Tdata:



图4。偏移校正温度数据x温度(°C)。

下一步是扩展这个函数,使其最小值和最大值分别为-0.9和+0.9(有用范围的90%)。这样做是为了减少将在该算法中计算的温度相关系数的值。温度增益由式给出:


因为它又在-1到+1的范围之外,所以它需要按比例缩小2倍。


最后一次是:


在再次乘以OCTdata之后,需要将结果向上缩放,将结果向左移动(乘以2的幂),乘以在缩小过程中使用的相同因子(ntgainshfts)。最终的放大偏置校正温度数据如下:



图5。放大偏移校正温度数据x温度(°C)。

在哪里


下一步是温度非线性校正。AOCTdata的线性系数,利用其端点计算为:


非线性函数可表示为:



图6。温度数据的非线性x温度(°C)。

我们需要实现一个与非线性函数相反的函数,使用AOCTdata(T)作为自变量。由于AOCTdata(T)不是线性的,最好的方法是使用一个高阶多项式函数的拟合函数。在这种情况下,选择一个四阶多项式函数来最小化非线性误差。


四阶多项式函数的系数为:



温度非线性修正函数为:


经偏移量校正和非线性校正的温度数据现由下表给出:


从现在开始,所有与温度相关的系数将使用Tempdata作为自变量来计算,因为它是归一化和线性的。


图7。线性温度数据x温度。

理想温度数据由下式给出:



图8。温度数据(T) x温度(℃)的线性误差。

传感器信号数据偏移,增益和非线性校正

传感器信号特性还取决于温度和激励源(压力)。这里的目标是消除温度依赖性和线性化压力响应特性。

正如温度信号的情况一样,我们将使响应最大化到总有用范围的90%,最小压力为-0.9,最大压力为+0.9。

以下是四种不同温度下的原始传感器数据


图9。原始传感器数据x压力(psi)。

利用端点值,这些曲线的线性系数可由下式给出:



图10。传感器灵敏度x温度(°C)。

压力非线性和偏置校正函数可表示为:



图11。传感器偏移和非线性x压力(psi)

现在的目标是模拟四种不同温度下pnl(T, P)函数的倒数,然后模拟系数随温度的变化。


对于最低温度,近似于-pnl(Tmin, P)除以Pdata(Tmin,P)的三阶函数的系数可由下式求得:



对于第一个中间温度,近似-pnl(Tint1, P)除以Pdata(Tint1,P)的三阶函数的系数可由下式求得:


对于第二个中间温度,近似于-pnl(Tint2, P)除以Pdata(Tint2,P)的三阶函数的系数可以通过:


对于最高温度,近似于-pnl(Tmax, P)除以Pdata(Tmax, P)的三阶函数的系数可由下式求得:


计算温度的修正系数矩阵如下:


这些系数随温度数据的变化可以用三阶方程来建模,求解线性系统:


修正系数为:


零、一、二、三阶系数函数为:


offset和非线性校正函数由下式给出:


最后的偏移量和非线性校正后的传感器数据由下式给出:



图12。偏移和非线性校正传感器数据x压力(psi)。

下一步是去除传感器灵敏度对温度的依赖性。

温度上的跨度函数为:


temtemdata (T)的四阶函数近似于1/span(T)的灵敏度修正系数可以通过:


则灵敏度修正函数可表示为:



图13。灵敏度校正函数x温度(°C)。

校正后的传感器数据如下:


最终数据将归一化为最小压力为-0.9,最大压力为+0.9。归一化因子由式给出:


则灵敏度修正函数的最终系数为:


其中,归一化灵敏度校正函数为:


在整个温度范围内,nSensC(T)的值必须在-1和+1之间。为了确保这是正确的,我们必须找到两个因子的幂来缩小nSensC(T)。


灵敏度校正系数的最终集合为:


则最终的灵敏度修正函数为:


最终归一化校正后的传感器数据为:



图14。归一化校正传感器数据x压力(psi)。

此时,对于最小和最大传感器激励,传感器数据归一化为-0.9到+0.9。所有的非线性都被纠正了,温度依赖性被消除了。它是一个关于激励(压力)的非常线性的信号。

DAC校正

当需要输出时,需要此步骤来纠正与MAX1463 dac相关的非线性和温度依赖关系。与最小和最大传感器激励相关的最小和最大输出电压已经定义,并由下式给出:


然后可以将偏移量定义为:


但是目标偏置值必须补偿DAC偏置随温度的变化,该变化由下式给出:


通过Tempdata(T)的二阶函数,可以找到近似targetOffset(T)的dac偏移校正系数:



图15。目标DAC输入值×温度(℃)。

则DAC偏置校正功能可表示为:


DAC增益也必须根据温度变化进行校正。校正DAC增益随温度变化的功能,并调整输出范围的信号,如下所示:



图16。DAC增益校正x温度(°C)。

近似targetGain(T)对Tempdata(T)的二阶函数的dac增益校正系数可以通过以下方法找到:


则DAC增益校正函数可表示为:


DAC的最终输入作为温度和压力的函数,由下式给出:


在不同温度下,通过传感器激励(压力)的最终DAC输出如下所示。


图17。DAC输出(V) x压力(psi)。

补偿系数及方程


本节总结了需要在MAX1463中实现的补偿系数和方程。注意,MAX1463不计算系数,因为这些需要使用本文档中描述的算法计算。

温度传感器数据显示为Tdata(T),是内部MAX1463温度传感器的ADC转换结果。传感器数据显示为Pdata(T),是传感器信号进行ADC转换的结果。

该程序既需要温度传感器数据,也需要传感器信号数据。由于温度变化率比传感器信号数据慢得多,用户可以决定以比传感器信号慢得多的速率进行温度ADC转换,通常每几百次传感器信号转换一次。

定义以下函数将计算出的系数转换为二进制补码的十六进制表示。请注意,由于在16位级别上进行量化,数字化系数可能与计算系数不同。



补偿系数




温度回路补偿方程


下面的一组方程提供了对MAX1463温度传感器数据的校正。


下一组方程提供了对传感器信号数据的校正。


下一组系数和方程提供了对MAX1463 DAC数据的校正。



传感器信号回路补偿方程


下面的一组方程提供了对MAX1463压力传感器数据的校正。


此时,只需将最终结果dacin(T,P)写入DAC输入,即可获得补偿后的输出,并返回传感器信号回路的起点。用户可以实现一个计数器来跟踪传感器信号转换的数量,并每隔一段时间做一个温度循环。

参考电路

  1. MAX1463数据表

  2. 应用说明:“理解MAX1463中的温度传感器”

  3. 应用说明:“MAX1463高性能信号调节器的嵌入式补偿程序”



声明:本文观点仅代表作者本人,不代表华强商城的观点和立场。如有侵权或者其他问题,请联系本站修改或删除。

社群二维码

关注“华强商城“微信公众号

调查问卷

请问您是:

您希望看到什么内容: