MAX12900 是一款超低功耗,高集成度的 4-20mA 传感器变送器,该器件采用 PWM 输入来调整环路电流,可以省去传统方案中用于设置环路电流的 DAC,两路 PWM 输入分别用于粗调和细调,可以实现高达 16 位的电流分辨率,器件内部的低温漂模块可以确保在整个工作温度范围具有非常低的温漂,因此利用 MAX12900 实现的解决方案具有超高的电流输出精度以及超低的温度飘移。由于系统采用环路供电,MAX12900 的片上 LDO 还可以为外部的低功耗处理器供电,这样就会导致系统的初始电流无法确定,另外,外围元件的选择也会影响系统施加电流的精度,因此,在系统设计调试完成后,需要对系统进行校准,以确保环路输出电流的精度。


PWM 发生器

目前市场上流行的各种处理器都带有定时器(计数器)可以用来产生 PWM 波形输出,PWM 有两个重要的参数:PWM 频率和 PWM 占空比,定时器对输入的时钟信号(fclk)进行计数来产生 PWM 信号的频率,器件内部有专门的寄存器(F_counter)来设置计数值以确定 PWM 频率,同时还有一个寄存器(duty_cycle_counter)用来设置 PWM 占空比, 当定时器(计数器)值小于 duty_cycle_counter 设置值时,PWM 输出电平保持不变,当定时器(计数器)值等于 duty_cycle_counter 的设置值时,PWM 输出电平改变,直到定时器(计数器)值达到 f_counter 的设置值之前,输出电平保持不变,因此 PWM 信号的输出频率和 PWM 占空比可以表示为

 

  (1)

 

  (2)

 

当 duty_cycle_counter 设置值在 0 至 F_counter 之间变化时,可以产生 0%至 100%占空比的 PWM 信号,当占空比为 100%时,将产生对应于 PWM 信号高电平的 DC 电压。MAX12900 内部的 PWM 调理器将处理器发送的 PWM 信号转换成高电平为 2.5V 基准电压,低电平为零的 PWM 信号,这样就减轻了对处理器端 PWM 信号电平的要求,然后通过低通滤波器可以将 PWM 信号转换成对应的 DC 电压值,控制环路变送器的电流输出。

 

PWM 输入转换成直流电压输出

 


图 1. MAX12900 PWM 至 DC 输出转换器

 

图 1 为 PWM 到直流输入的转换电路,关于该电路的工作原理以及公式的推导,请参考 MAX12900 数据手册以及 MAXREFDES1161#数据手册,下面用到的公式都可以从 MAXREFDES1161#数据手册中找到。

 

在图 1 中,OP1 运算放大器和外围电阻电容构成反向低通滤波器,将两路 PWM 输入信号转换成 Voutop1 直流输出, 输入到 R17 和 R18 的 PWM 信号高电平为基准电压,低电平为 0,按照 MAXREFDES1161#中选择的电阻值(R17=R15=22.6kΩ,R18=1.5MΩ,R13=R14=294kΩ),在不考虑电阻误差的情况下,Voutop1 的电压值可以按照下面的公式进行计算:

 

 

这里,DutyCycleA 和 DutyCycleB 分别为输入的 PWM 占空比,由于滤波器为反向低通滤波器,所以在占空比为 100%时,输出电压最小(除上电默认状态外,在实际应用中不能将 PWMA 和 PWMB 同时设置为 100%),为了方便说明并且和 MAX12900 评估板软件对应起来,我们可以定义:

 

 

这样,公式就可以写为:

 

(3)


PWM 占空比与环路电流的关系

 


电流环路原理图如图 2 所示,电流环路的输出电流可以用下式来表示:

 

 

同样,在不考虑电阻误差的情况下,利用 MAXREFDES1161#中选择的电阻值(R24=100kΩ,R12=1MΩ,R9=24.9kΩ,R6=24.9Ω),该公式可以写为:

 

(4)

 

把公式(3)代入公式(4),并替换和,公式可以写为

 

(5)

 

从该公式可以看出,当 PWMB 的占空比为 50%时,环路电流是由 PWMA 来确定的。由于外部电阻(R15, R18, R24, R12, R6, R9) 的精度误差, MAX12900 内部基准电压(VREF)以及放大器的失调电压等都会对环路电流的输出引入误差,从公式可以看出,能够调整的只有 PWMA 和 PWMB 的占空比,因此可以修正 PWMA 和 PWMB 占空比的增益误差和失调误差来实现对输出电流的校准,假设 PWMA 的修正后增益为 K1,失调为 b1,PWMB 的修正后增益为 K2,失调为 b2, 那么最终的计算公式应为:

 

(6)

 

对于失调误差 b1 和 b2,在校准过程中可以作为固定值来计算,因此,可以写作:b=b1+b2。式 6 可以写作:

 

(7)

当设置不同占空比的 PWMA 和 PWMB 时可以得到不同的环路电流输出,通过 4 个不同的环路电流输出值,就可以计算出增益和失调,实现对 MAX12900 输出电流进行校准。

MAX12900 4-20mA 变送器的校准过程

接下来以 MAX12900 评估板的设置来介绍如何对 MAX12900 进行校准,在 MAX12900 评估板上采用的处理器系统时钟频率为 3MHz,当 F_counter 设置为 256 时可以产生 11.7kHz 的 PWM 信号,在评估板进行校准时,为简化计算,分别设置了两组相同 PWMA 占空比和两组相同 PWMB 占空比的电流输出,如下图所示:

 

 

然后代入(7)可得到如下算式:(注意:评估板上的 PWMB 对应于本文中的 PWMA)

 

 

计算可以得到:K1=0.9968,K2=0.99823,b=0.003527

 

这样就完成了对 MAX12900 的校准。

 

MAX12900 评估板校准计算中采用了不同的校准计算方法,在评估板的校准计算中分别计算出了 PWMA 失调 b1 和 PWMB 失调 b2。由于采用了不同的校准计算方法,因此评估板计算出的 b1+b2 和本文中计算出的 b 并不相等,它们之间的对应关系如下:

 

 

如何根据预期电流计算 PWM 占空比

从上面的式 7 可以看出,输出电流是由 PWMA 和 PWMB 共同控制产生,PWMA 用于粗调,PWMB 用于细调,并且当 PWMB 的占空比为 50%时,输出电流主要是由粗调来决定的,因此在计算粗调 PWMA 的占空比时,将 PWMB 的占空比先设置为 50%,计算出粗调 PWMA 的占空比,然后根据计算出的粗调 PWMA 占空比再计算细调 PWMB 的占空比。计算 PWMA 时,可以根据式 7 得到:

 

(8)

 

对于当前设计,设置 PWM 计数器的值和占空比的关系如下:

 

(9)

 

这样就可以计算出 PWMA 计数器的设置值。 然后根据式 7 来计算细调 PWMB 的占空比:

 

(10)

 

在式 10 中,K1,K2 和 b 是校准得到的,RDuty CycleA 是式 8 计算得到的。这样就可以得到细调 PWMB 的占空比,同样根据

 

(11)

 

就可以计算出 PWMB 计数器的设置值,这样就完成了预期输出电流的设置。由于 PWMB 和 PWMA 在设置相同占空比时对输出电流的改变比例为 22.6/1500,约为 1/66,而不是 1/256。也就是说 PWMB 满量程输出产生的环路电流大于 PWMA 变化 1 时产生的环路电流,这样,在输出相同环路电流时,可能会对应不同的 PWMA 和 PWMB 组合。

 

系统校准后验证输出电流

在对 MAXREFDES1161 校准后,得到相应的 K1,K2 和 b。然后根据预期输出电流值用式 8 和式 10 分别计算要施加的 PWM 占空比,根据式 9 和式 11 得到 PWM 计数器的设置值,测试结果如下:

 

 

从以上测试结果可以看出,经过校准后的 MAX12900 具有非常高的输出电流精度。

 

结论

MAX12900 4-20mA 变送器利用通用处理器输出 PWM 信号来实现输出电流的控制,可以降低系统的成本,同时外围元件的精度对输出电流的精度有很大的影响,因此在使用 MAX12900 时需要对其进行系统校准,校准后的系统具有非常高的输出电流精度,同时可以降低对外围元件的精度要求。