参考附件
TMS320F280049C 学习笔记16 比较器子系统(CMPSS)-CSDN博客
CMPSS(模拟比较器)模块学习_dsp中cmps是什么意思-CSDN博客
TMS320F280049学习笔记3_CMPSS 比较器子模块-CSDN博客
(99+ 封私信 / 81 条消息) 解锁C2000 DSP模拟外设:比较器模块CMPSS - 知乎
CMPSS模块手册解析
CMPSS模块概述
比较器子系统(Comparator Subsystem, CMPSS)由模拟比较器和支持电路组成,可用于峰值电流模式控制、开关电源、功率因数校正、电压跳闸监测等应用。
**每个CMPSS包含两个比较器、两个12位DAC参考、两个数字滤波器和一个斜坡发生器。**比较器在每个模块中表示为"H"或"L",其中"H"和"L"分别表示高和低。每个比较器产生一个数字输出,指示正输入端的电压是否大于负输入端的电压。比较器的正输入由外部引脚或PGA驱动,负输入可由外部引脚或可编程参考12位DAC驱动。每个比较器输出通过一个可编程的数字滤波器,可以消除假跳闸信号。如果不需要滤波,也可以使用未滤波的输出。一个可选的斜坡发生器电路可用于控制高比较器的12位参考DAC值。
CMPSS模块系统框图
位于手册第1763页"Figure 16-1. CMPSS Module Block Diagram"

比较器模块
比较器在正输入端的电压大于负输入端的电压时会输出高电平数字信号,在正输入端的电压小于负输入端的电压时则会输出低电平数字信号。比较器如图 16 - 2 所示。

(位于手册第1763页"Figure 16-2. Comparator Block Diagram")
参考DAC模块
每个参考12位DAC都有两组DACxVAL寄存器,即DACxVALA和DACxVALS。**DACxVALA是一个只读寄存器,它直接控制12位DAC值。DACxVALS是一个可写的影子寄存器,可以立即加载到DACxVALA中,也可以与下一个EPWMSYNCPER事件同步。**高参考12位DAC(DACH)可以选择从斜坡发生器而不是DACHVALS获取其DACHVALA值。
参考12位DAC的工作范围由DACREF和VSSA限定。默认情况下,高压参考电压为VDDA,但可以通过 COMPDACCTL 寄存器配置为VDAC。参考12位DAC如图16-3所示。

(位于手册第1764页"Figure 16-3. Reference DAC Block Diagram")
12位参考DAC的理想输出由下式计算:

斜坡发生器
斜坡发生器只能用于高侧的比较器CMPH。可为高边的DAC提供斜坡补偿。
数字滤波器
数字滤波器在从输入端采集的FIFO采样(SAMPWIN)窗口上工作。滤波器输出为采样窗口内的多数值,其中多数由阈值(THRESH)定义。如果不满足阈值,则滤波器输出保持不变。
THRESH的值必须被设置为大于SAMPWIN/2并且小于或等于SAMPWIN。
预分频(CLKPRESCALE)决定了滤波器的采样率,滤波器的FIFO在每个分频后时钟采样一次。FIFO中的旧数据将被丢弃。
注意,对于SAMPWIN、THRESH和CLKPRESCALE,数字滤波器使用的内部数字在所有情况下都是+1。实际上,samples=SAMPWIN+1,threshold=THRESH+1,prescale=CLKPRESCALE+1。

(位于手册第1768页"Figure 16-6. Digital Filter Behavior")