技术中心
 
 

基于数字电源控制器UCD3138的一种新的输入电流检测方法

   日期:2014-05-23    
核心提示:数字电源控制器UCD3138 含有AFE (analog front end, 模拟前端)模块和Filter 模块,用于输出电压的环路反馈。而对上述模块灵活配置并组合后,也可以完成对输入到EADC(差分ADC)模块信号的平均值计算,关键配置涉及到EADC 的过采样功能(oversample) ,平均功能(averaging)功能和Filter 模块的积分(integration)支路配置。考虑到电流互感器的输出端信号的平均值与实际输入电流存在比例关系,因此通过读取该输出端信号的平均值便可得到实际的输入电流

1 引言

1.1 数字电源控制器UCD3138 的应用

数字电源控制器UCD3138 因其自身所具备的良好的前馈功能,通信功能和可编程性等特点,在DC/DC 电源中通常置于副边侧。常见的拓扑方案包括全桥,半桥和LLC 等。图1 所示的是应用数字电源(控制器)UCD3138 的硬开关全桥系统框图。UCD3138 位于副边侧,通过数字隔离器ISO7420CF完成驱动信号向原边侧的传递。

 

 

Figure 1. 硬开关全桥系统框图

1.2 隔离电源拓扑中的电流互感器

图2 所示的是应用于全桥等拓扑中的电流互感器。其原边侧串入主功率回路,副边侧将按比例(比例系数为互感器的匝比T)衰减后的电流信息通过与采样电阻相乘得电压信息。位于副边侧的控制器UCD3138 通过读取该电压信息,可以完成逐周期保护等功能。

互感器副边侧输出电压:VT =(Iin÷T)×Rs

 

 

Figure 2. 电流互感器应用电路

1.3 输入电流检测的原理

图3 所示意的是电流互感器副边侧输出端的电压信号。上下两组波形是在输入电压不同时所对应的输出。在输出功率确定后,随着输入电压变高,梯形波的上升沿将变陡,其平均值将变低。

 

 

Figure 3. 电流互感器输出信号

电流互感器输出端的信号平均值与系统输入电流的平均值成近似比例关系,因此可以通过读取电流互感器输出端的平均值来推算输入电流。

2 UCD3138 的AFE 模块和Filter 模块

2.1 模块功能概述

UCD3138 的AFE 和Filter 用来完成对输出电压误差的采集,转换和环路计算,输出的数据进入到DPWM模块,最终生成合适的占空比。如图4 所示。

 

 

Figure 4. UCD3138 的AFE 和Filter

在实际应用中,可以用AFE 和Filter 来采集电流互感器输出端的信号,并最终计算出其平均值。该功能的实现依赖于AFE 和Filter 所具备的如下特点:

1) AFE 中的EADC 具备oversample 功能,可以在一个周期内采集1,2,4,8 个样本;

2) AFE 对EADC 输出的数据可以进行平均(averaging),即可以对连续采集到的2,4,或8 个数据做累加,然后除于个数以得到平均值。

3) Filter 是PID 结构,因此可以只使用累加环节(Integration 支路),从而可以计算出一段时间内的累加和。

2.2 EADC 的Oversample

DPWM模块可以在EADC 模块中产生采样触发信号,使EADC 完成一次采样。同时,EADC 还具有多次(2 次,4 次和8 次)采样的功能。以8 次采样为例,当EADC 收到DPWM的采样触发信号后, EADC 分别在采样基准的1/8 处,2/8 处,3/8 处,4/8 处,5/8 处,6/8 处,7/8 处和采样基准处完成8 次采样,如图5 所示。

 

 

Figure 5. EADC 的Oversample

2.3 EADC 的averaging

EADC 提供了两种数据平均方式,分别是 连续方式(consecutive mode)平均和空间方式(spatialmode)平均。图6 示意的如何对数据进行连续方式平均。其原理就是对连续采样的2,4 或8 个数据进行累加,然后除于累加的个数,便得到了平均值。

计算后的平均值将送入到Filter 环节。

 

 

Figure 6. EADC 的Oversample

2.4 UCD3138 的Filter

图7 是UCD3138 的filter,基于PID 结构。当只使用I 支路(即累加环节),可以对Xn 数据进行不断的累加,累加的结果存储在KI_YN 寄存器中。而Xn 数据就是来自EADC 的输出。

 

 

Figure 7. UCD3138 的Filter 结构

2.5 全流程数据处理

当oversample 配置为8 次,EADC 的平均次数配置为2 次,在2 个周期的时间内KI_YN 寄存器得到的数据如下图8 所示:

1) 每个周期采样8 个样本,故2 个周期共采集16 个;

2) 每2 个样本进行平均,平均后的数据进入到累加环节;

3) 在2 个周期内,KI_YN 寄存器中总共存储有8×2=16 个样本的累加和;

 

 

Figure 8. 全流程数据处理

3 读取三角波的平均值

3.1 测试原理简述

在UCD3138 的EAP1/EAN1 引脚(如图4)接入直流电平信号或三角波信号,然后配置合理的

oversample,averaging 和采集的周期个数,最终在KI_YN 寄存器可以得到样本总和。

然后将样本总和与样本个数相除,便得到了样本的平均值。

3.2 直流电平信号平均值的读取

在EAP1 引脚接入直流电平信号(如图9 左中的CH1),实测平均值为220mV。

通过配置oversample 为8 次,averaging 为8 次,在两个周期内得到的平均值为-156÷8=-19.5。此时,DAC_Value 寄存器中写入的值为2048,因此,根据软件采样确定的平均值为:

(2048÷16)×1.5625mV - (-19.5)= 219.5mV

该值与实际值的偏差小于-0.5%。上述公式的含义可以参考“参考文献5”。

 

 

Figure 9. 直流信号平均值读取

3.3 三角流平均值的读取

在EAP1 引脚接入三角波信号(如图10 左中的CH1),实测平均值为136mV。

通过配置oversample 为8 次,averaging 为8 次,在两个周期内得到的平均值为466÷8=58.25。此时,DAC_Value 寄存器中写入的值为2048,因此,根据软件采样确定的平均值为:

(2048÷16)×1.5625mV - 58.25= 141.75mV

该值与实际值的偏差小于5%。

 

 

Figure 10. 三角波信号平均值读取

3.4 软件流程与代码

图11 是整个数据处理的软件流程图,主要包含主程序中的初始化与配置,快中断程序中的数据处理等两个部分。

对快中断部分,使用周期快中断,中断间隔为256 个周期。每次处理都是连续三次进入快中断,在第一次进入快中断后,配置EADC 和Filter;在第二次进入后进行数据读取,此时在KI_YN 中共有8×256=2048 个样本的累加和。(oversample 设置为8)

 

 

Figure 11. 软件处理流程

关键代码如下:

1. 配置Dpwm0 周期中断及打开中断功能

 

 

2. 快中断处理程序

仅在第二次和第三次进入快中断后进行数据的读取。

 

 

3. 配置函数handle_current_averaging_config()

该函数主要完成EADC1 与Filter1 的连接配置、EADC 的基本配置(包括DAC_VALUE 的写入, AFE_GAIN 的配置,Averaging 的配置等)、Oversample 的配置及Filter 的配置。

 

 

4. 配置函数handle_current_averaging()

该函数主要完成KI_YN 寄存器中数据的读取,Filter 的复位(需要对KI_YN 寄存器清零,不

然该寄存器会溢出)及Filter 的使能等。

 

 

4 实测单板输入电流

4.1 测试单板概述

在一款基于UCD3138 的硬开关全桥EVM 板(UCD3138HSFBEVM-029)上进行输入电流的实际测试。该单板的关键技术规格如下:

● 输入电压:36V~72V

● 输出功率:12V×30A

● 功率拓扑:单级硬开关全桥

● 电流互感器:如图2 所示,T1 的匝比为100:1,Rs 为10 ohm。

为实现EADC1 和Filter1 读取和计算输入电流,需要将电流互感器副边侧的输出连接到EAP1 和EAN1。单板其余部分保留原有设计。

4.2 实测数据

1. 输出电流设定为3A,输入电压设定为50V

实测电流互感器的输出信号如图12(左),其平均值为89.26mV。此时输入电流为850mA,二者存在近似比例关系。比例系数主要由互感器的匝比与采样电阻决定:0.01×10=0.1。

 

 

Figure 12. 实测波形及实际读取数据1

将DAC_VALUE 设定为1024,通过软件计算后,读取到的current_x16 变量(该变量含义参考3.4小节)值为9,如图12(右)所示。因此,计算出的平均值为:

(1024÷16)×1.5625mV – 9 = 91mV

该值与实测值的误差小于5%,与实际输入电流的误差小于7%。

2. 输出电流设定为3A,输入电压设定为55V

实测电流互感器的输出信号如图13(左),其平均值为82.48mV。此时输入电流为780mA。

 

 

Figure 13. 实测波形及实际数据读取2

将DAC_VALUE 设定为1024,通过软件计算后,读取到的current_x16 变量值为15,如图13(右)所示。因此,计算出的平均值为:

(1024÷16)×1.5625mV – 13 = 87mV

该值与实测值的误差小于5%,与实际输入电流的误差小于12%。

5 总结

通过上文描述可知,在对UCD3138 的EADC 和Filter 进行相应配置后,可以完成对EAP/EAN 引脚输入信号平均值的读取,而且读取值与实际值的误差较小。

同样,该功能可以应用于单板输入电流的读取,实测结果亦证实了这一点。受限于轻载条件下实际输入电流与电流互感器的输出存在较大误差,因此,软件读取值与实际输入电流存有一定误差。

 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢