摘要
数字电源控制器UCD3138 内部集成有 4 个数字比较器,可以灵活配置其输入端和参考值。模拟前端(AFE)模块的绝对值量和EADC 的输出都可以作为数字比较器的输入,因此使用数字比较器可以实现对系统输出电压的故障响应与保护。UCD3138 内部集成有 16 个模数转换器(ADC),其中名称为 ADC15 的模数转换器不对外部开放,可以用来检测 3 个AFE 模块中任何一个的 EAP 或 EAN 引脚,实现对系统输出电压的精确采集,最终可以实现对输出电压的故障响应与保护。
1、UCD3138 的数字比较器
UCD3138 内部集成有4数字比较器,可以以AFE 的绝对值量或者误差值为输入端,灵活配置参考值,最终实现对系统输出电压故障(过压,欠压等)的快速响应与保护。
1.1 数字比较器的硬件电路简介
图 1 所示的是UCD3138 芯片内部模拟前端(Analog Front End,AFE)的框图。输出电压在分压后以差分信号的方式进入到AFE 模块,与参考电压(DAC0 的输出值)比较后得到误差信号(模拟量);该误差信号在模数转换后变为数字量,然后输入到数字环路补偿模块(Filter)。
为丰富应用的灵活性,用户设置的参考值(数字量)与EADC 的输出值(数字量)相加后生成一个叫做“ 绝对值量(absolute value)” 的数字信号,可以表征实际采集到的电压信息(即Vd 的值)。
UCD3138 的数字比较器就是以数字误差信号(B 点值)或绝对值量(C 点值)作为一个输入端,参考电压值(用户可以自行设置)为另一个输入端所组成,触发后可以配置其关断任何一路DPWM。
UCD3138 中有3 个AFE 模块,同样地,也有4 个数字比较器。
1.2 数字比较器涉及的关键寄存器
1.2.1 EADC的输出
EADC 的输出是参考电压与输入模拟量相减后的值在数字化之后的信息量,即数字误差量,其范围与AFE 自身的增益有直接关系。例如,当增益值设置为1 时,其输出范围是+248~-256;而增益设置为8 时,输出范围是+31~-32.
寄存器EADCRAWVALUE 的第0~8 位(共9bit,名称为RAW_ERROR_VALUE)保存的即为EADC 的输出,分辨率为1mV/bit。
1.2.2 DAC的输入
DAC 的输出即为系统的参考电压。在UCD3138 的实际应用中,用户可以设置DAC 的输入值,为数字信号量。寄存器EADCDAC 的第4~13 位(共10bit,名称为DAC_VALUE)保存了用户的设置值。分辨率为1.5625mV/bit。
1.2.3 绝对值量
寄存器 EADCVALUE 的第16~25 位(共10bit,名称为ABS_VALUE)保存的就是绝对值量,分辨率为1.5625mV/bit。
上文提到,绝对值量是EADC 的输出信息与DAC 的输入信息相加得到的,但并不是二者数字量的直接相加,因为其分辨率不同。事实上,上述三个数字量所各自表征的模拟量存在等式关系。
例如,某条件下,EADC 的输出(ERROR_VALUE)为192;DAC 的输入为747;绝对值量(ABS_VALUE)为624,如下图2 所示。
Figure 2. Memory Debugger 中读取到的寄存器值
显然,747-624=123≠ 192。但是,各自的模拟量则满足等式关系,如下:
? EADC 的输出192 对应的模拟量为192×1mV/bit=192mV;
? DAC 的输入747 对应的模拟量为 747×1.5625mV/bit=1167.1875mV;
? 绝对值量624 对应的模拟量为 624×1.5625mV/bit=975mV;
◎ 最终,1167.1875-975=192.1875≈ 192.
或者,三个数字量可以在增加衰减系数后存在如下等式关系:
1.3 数字比较器的软件配置
在程序初始化阶段,可以完成对数字比较器的配置。以配置数字比较器0 为例,主要代码如下:
FaultMuxRegs.DCOMPCTRL0.bit.CNT_THRESH = 1;
上述代码配置只需触发一次数字比较器就会产生一个fault。
FaultMuxRegs.DCOMPCTRL0.bit.FE_SEL = 0;
上述代码配置数字比较器的输入为AFE0 的绝对值量。也可以配置为EADC 的输出。另外,其余两个AFE 的绝对值量和EADC 的输出也可以配置为数字比较器0 的输入。
FaultMuxRegs.DCOMPCTRL0.bit.COMP_POL = 1;
上述代码配置为数字比较器的输入高于参考量后才会触发。
FaultMuxRegs.DCOMPCTRL0.bit.THRESH = 850;
参考量设置为850。如果输入量选择为绝对值量,则当Vd 电压大于850×1.5625mV/bit =1.33V 时便会触发数字比较器。
FaultMuxRegs.DPWM0FLTABDET.bit.DCOMP0_EN=1;
上面代码配置为,数字比较器触发后立即关断DPWM0A 和DPWM0B。
数字电源控制器UCD3138 内部集成有 4 个数字比较器,可以灵活配置其输入端和参考值。模拟前端(AFE)模块的绝对值量和EADC 的输出都可以作为数字比较器的输入,因此使用数字比较器可以实现对系统输出电压的故障响应与保护。UCD3138 内部集成有 16 个模数转换器(ADC),其中名称为 ADC15 的模数转换器不对外部开放,可以用来检测 3 个AFE 模块中任何一个的 EAP 或 EAN 引脚,实现对系统输出电压的精确采集,最终可以实现对输出电压的故障响应与保护。
1、UCD3138 的数字比较器
UCD3138 内部集成有4数字比较器,可以以AFE 的绝对值量或者误差值为输入端,灵活配置参考值,最终实现对系统输出电压故障(过压,欠压等)的快速响应与保护。
1.1 数字比较器的硬件电路简介
图 1 所示的是UCD3138 芯片内部模拟前端(Analog Front End,AFE)的框图。输出电压在分压后以差分信号的方式进入到AFE 模块,与参考电压(DAC0 的输出值)比较后得到误差信号(模拟量);该误差信号在模数转换后变为数字量,然后输入到数字环路补偿模块(Filter)。
Figure 1. UCD3138 AFE 模块框图
为丰富应用的灵活性,用户设置的参考值(数字量)与EADC 的输出值(数字量)相加后生成一个叫做“ 绝对值量(absolute value)” 的数字信号,可以表征实际采集到的电压信息(即Vd 的值)。
UCD3138 的数字比较器就是以数字误差信号(B 点值)或绝对值量(C 点值)作为一个输入端,参考电压值(用户可以自行设置)为另一个输入端所组成,触发后可以配置其关断任何一路DPWM。
UCD3138 中有3 个AFE 模块,同样地,也有4 个数字比较器。
1.2 数字比较器涉及的关键寄存器
1.2.1 EADC的输出
EADC 的输出是参考电压与输入模拟量相减后的值在数字化之后的信息量,即数字误差量,其范围与AFE 自身的增益有直接关系。例如,当增益值设置为1 时,其输出范围是+248~-256;而增益设置为8 时,输出范围是+31~-32.
寄存器EADCRAWVALUE 的第0~8 位(共9bit,名称为RAW_ERROR_VALUE)保存的即为EADC 的输出,分辨率为1mV/bit。
1.2.2 DAC的输入
DAC 的输出即为系统的参考电压。在UCD3138 的实际应用中,用户可以设置DAC 的输入值,为数字信号量。寄存器EADCDAC 的第4~13 位(共10bit,名称为DAC_VALUE)保存了用户的设置值。分辨率为1.5625mV/bit。
1.2.3 绝对值量
寄存器 EADCVALUE 的第16~25 位(共10bit,名称为ABS_VALUE)保存的就是绝对值量,分辨率为1.5625mV/bit。
上文提到,绝对值量是EADC 的输出信息与DAC 的输入信息相加得到的,但并不是二者数字量的直接相加,因为其分辨率不同。事实上,上述三个数字量所各自表征的模拟量存在等式关系。
例如,某条件下,EADC 的输出(ERROR_VALUE)为192;DAC 的输入为747;绝对值量(ABS_VALUE)为624,如下图2 所示。
Figure 2. Memory Debugger 中读取到的寄存器值
显然,747-624=123≠ 192。但是,各自的模拟量则满足等式关系,如下:
? EADC 的输出192 对应的模拟量为192×1mV/bit=192mV;
? DAC 的输入747 对应的模拟量为 747×1.5625mV/bit=1167.1875mV;
? 绝对值量624 对应的模拟量为 624×1.5625mV/bit=975mV;
◎ 最终,1167.1875-975=192.1875≈ 192.
或者,三个数字量可以在增加衰减系数后存在如下等式关系:
1.3 数字比较器的软件配置
在程序初始化阶段,可以完成对数字比较器的配置。以配置数字比较器0 为例,主要代码如下:
FaultMuxRegs.DCOMPCTRL0.bit.CNT_THRESH = 1;
上述代码配置只需触发一次数字比较器就会产生一个fault。
FaultMuxRegs.DCOMPCTRL0.bit.FE_SEL = 0;
上述代码配置数字比较器的输入为AFE0 的绝对值量。也可以配置为EADC 的输出。另外,其余两个AFE 的绝对值量和EADC 的输出也可以配置为数字比较器0 的输入。
FaultMuxRegs.DCOMPCTRL0.bit.COMP_POL = 1;
上述代码配置为数字比较器的输入高于参考量后才会触发。
FaultMuxRegs.DCOMPCTRL0.bit.THRESH = 850;
参考量设置为850。如果输入量选择为绝对值量,则当Vd 电压大于850×1.5625mV/bit =1.33V 时便会触发数字比较器。
FaultMuxRegs.DPWM0FLTABDET.bit.DCOMP0_EN=1;
上面代码配置为,数字比较器触发后立即关断DPWM0A 和DPWM0B。
评论
查看更多