介绍:
CMPSS(比较器子系统)系统简介
比较器子系统(CMPSS)由模拟比较器及辅助电路组成,这些元件在诸如峰值电流模块控制、开关电源模式、功率因数校正、电压跳闸监测等电源应用中非常有用。
工作原理图
比较器子系统由多个模块组成。每个子系统包含两个比较器、两个12位参考数模转换器以及两个数字滤波器。该子系统还包括一个斜坡生成器。斜波生成器仅向下斜坡变化。每个模块内的比较器用“H”或“L”表示,其中“H”和“L”分别代表高和低。每个比较器生成一个数字输出,用于指示正输入端的电压是否大于负输出端的电压。比较器的正输入端由外部引脚驱动。负输入端可以由外部引脚驱动,也可以由编程的12位数模转换器驱动。每个比较器的输出都通过一个可编程数字滤波器进行处理,该滤波器可以消除不必要的触发信号。如果没有滤波需求,也可提供未滤波的输出。。
此外,还提供了一个斜坡生成器,用于控制子系统中高比较器的参考12位数模转换器的值
比较器
比较器在正输入端电压大于负输入端的电压时会输出高电平数字信号,在正输入端的电压小于负输入端的电压时则会输出低电平数字信号。该比较器如图所示
参考数模转换器
每个12位参考数模转换器均可配置为将参考电压输入到相应比较器的负输入端。该12位参考数模转换器的输出是内部的,无法从外部观察到。
每个参考12位DAC都有两组DACxVAL寄存器,即DACxVALA和DACxVALS。DACxVALA是一个只读寄存器,用于主动控制参考12位DAC的值。DACxVALS是一个可写入的备份寄存器,他会立即将值加载到DACxVALA中,或者与下一个EPWMSYNCPER事件同步加载。高电平和低电平参考12位DAC(DACx)可以选择从斜坡发生器而非备份寄存器DACxVALS中获取寄存器DACxVALA的值
该参考12位数模转换器的工作范围由DACREF和VSSA限定。默认情况下,高电压参考值为VDDA,但可通过COMPDACCTL寄存器将高电压参考值配置为VDAC
参考12位数模转换器如图所示
参考的12位DAC输出值计算:
DACOUT=(1+DACVALA)*DACREF/4096
注意:
在DACH和DACL都同时驱动高电平比较器和低电平比较器的情况下,其中一个比较器出现故障可能会暂时干扰另一个比较器的DAC输出。这种干扰的幅度和持续时间在设备数据表中被分别定义为“CMPSS DAC输出干扰”和“CMPSS DAC干扰时间”
用户必须精心设计该系统,以确保在输入信号越过DACH或DACL并触发相关比较器的情况下,输入信号在“CMPSS DAC故障时间”内与另一个比较器的触发点保持至少“CMPSS DAC故障干扰”距离。DACH的设置必须始终高于DACL的设置。如果用户不使用DACL,则必须将DACLVALS寄存器设置为0,以避免比较器COMPL跳闸并影响DACH。在这种情况下。对DACHVALS的设置没有限制。因此,在不使用DACH时,用户需将DACHVALS的设置没有限制。因此,在不使用DACH时,用户必须将DACHVALS寄存器设置为最大值。
再对DAC编程前,可以先启动CMPSS。
上升斜坡发生器概述
在选择该模式时,斜坡生成器会为高参考12位数模转换器提供一个下降斜坡信号。在此模式下,参考12位数模转换器使用RAMPSTS计数器的最高12位作为输入。PAMPSTS计数的最低4位实际上起到了下降斜坡速率的预分频器作用,该速率可通过RAMPDECVALA进行配置。
通过将DACSOURCE设为1可启用斜坡生成器。当选择DACSOURCE=1时,RAMPSTS的值将从RAMPMAXREFS中加载,并且该寄存器在接收到选定的EPWMSYNCPER信号之前保持不变。在接收到选定的EPWMSYNCPER信号后,每次在SYSCLK周期中,RAMPDECVALA的值都会从RAMMPSTS中减去。
为防止在EPWMSYNCPER事件发生后减法运算开始进入系统始终周期,可以利用作为延迟计数的RAMPDLYA寄存器来延迟RAMPSTS的减法运算。当接收到EPWMSYNCPER时间时,RAMPDLYA寄存器的值会在每个系统周期中减1,直至该寄存器的值变为0,因此,只有当RAMPDLYA寄存器的值为0时,RAMPSTS的减法运算才会开始。
上升斜坡发生器原理
该斜坡生成器会在 DACSOURCE、EPWMSYNCPER 和 COMPHSTS 的每次上升沿时进行状态转换。 在 DACSOURCE 的上升沿:RAMPMAXREFA、RAMPDECVLA 和 RAMPDLYA 被加载了辅助寄存器的内容。而 RAMPSTS 则被加载了 RAMPMAXREFS 的值。 在选定的 EPWMSYNCPER 的上升沿:RAMPMAXREFA、RAMPDECVLA 和 RAMPDLYA 被加载为阴影寄存器的值。RAMPSTS 被加载为 RAMPMAXREFS 并在 RAMPDLYA 计数器达到零时开始递减。 在 COMPHSTS 的上升沿且 RAMPLOADSEL = 1 时:RAMPMAXREFA、RAMPDECVALA 和 RAMPDLYA 被加载到辅助寄存器中。RAMPSTS 被加载为 RAMPMAXREFS 并停止递减。 当 COMPHSTS 的上升沿与 RAMPLOADSEL 的值为 0 时:RAMPSTS 被加载为 RAMPMAXREFA 值,并停止递减。 此外,如果 RAMPSTS 的值降为零,那么 RAMPSTS 寄存器将一直保持为零状态,直至接收到下一个 EPWMSYNCPER 信号。这些状态变化在图中的斜坡生成器框图中有所体现。