基于数字电源控制器UCD3138的一种新的输入电流检测方法(二)
3 读取三角波的平均值
本文引用地址://m.amcfsurvey.com/article/201612/327748.htm3.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”。
![](http://m.amcfsurvey.com/editerupload/fetch/20161101/327748_1_0.jpg)
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%。
![](http://m.amcfsurvey.com/editerupload/fetch/20161101/327748_1_1.jpg)
Figure 10. 三角波信号平均值读取
3.4 软件流程与代码
图11 是整个数据处理的软件流程图,主要包含主程序中的初始化与配置,快中断程序中的数据处理等两个部分。
对快中断部分,使用周期快中断,中断间隔为256 个周期。每次处理都是连续三次进入快中断,在第一次进入快中断后,配置EADC 和Filter;在第二次进入后进行数据读取,此时在KI_YN 中共有8×256=2048 个样本的累加和。(oversample 设置为8)
![](http://m.amcfsurvey.com/editerupload/fetch/20161101/327748_1_2.jpg)
Figure 11. 软件处理流程
关键代码如下:
1. 配置Dpwm0 周期中断及打开中断功能
![](http://m.amcfsurvey.com/editerupload/fetch/20161101/327748_1_3.jpg)
2. 快中断处理程序
仅在第二次和第三次进入快中断后进行数据的读取。
![](http://m.amcfsurvey.com/editerupload/fetch/20161101/327748_1_4.jpg)
该函数主要完成EADC1 与Filter1 的连接配置、EADC 的基本配置(包括DAC_VALUE 的写入, AFE_GAIN 的配置,Averaging 的配置等)、Oversample 的配置及Filter 的配置。
![](http://m.amcfsurvey.com/editerupload/fetch/20161101/327748_1_5.jpg)
4. 配置函数handle_current_averaging()
该函数主要完成KI_YN 寄存器中数据的读取,Filter 的复位(需要对KI_YN 寄存器清零,不
然该寄存器会溢出)及Filter 的使能等。
![](http://m.amcfsurvey.com/editerupload/fetch/20161101/327748_1_6.jpg)
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。
![](http://m.amcfsurvey.com/editerupload/fetch/20161101/327748_1_7.jpg)
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。
![](http://m.amcfsurvey.com/editerupload/fetch/20161101/327748_1_8.jpg)
Figure 13. 实测波形及实际数据读取2
将DAC_VALUE 设定为1024,通过软件计算后,读取到的current_x16 变量值为15,如图13(右)所示。因此,计算出的平均值为:
(1024÷16)×1.5625mV – 13 = 87mV
该值与实测值的误差小于5%,与实际输入电流的误差小于12%。
5 总结
通过上文描述可知,在对UCD3138 的EADC 和Filter 进行相应配置后,可以完成对EAP/EAN 引脚输入信号平均值的读取,而且读取值与实际值的误差较小。
同样,该功能可以应用于单板输入电流的读取,实测结果亦证实了这一点。受限于轻载条件下实际输入电流与电流互感器的输出存在较大误差,因此,软件读取值与实际输入电流存有一定误差。
评论