欢迎光临
我们一直在努力

TMS320F280049 CMPSS模块实战:手把手教你配置比较器子模块(附代码示例)

TMS320F280049 CMPSS模块深度实战:从寄存器配置到电流保护应用

在电力电子和电机控制领域,精确的实时信号比较是实现过流保护、峰值电流模式控制等关键功能的基础。TI的TMS320F280049数字信号控制器内置的比较器子系统(CMPSS)为工程师提供了高度集成的模拟信号处理解决方案。本文将带您深入CMPSS模块的每个配置细节,通过实际代码演示如何搭建一个完整的电流保护系统。

1. CMPSS模块架构与电力电子应用场景

CMPSS模块是TMS320F280049中针对功率应用优化的模拟前端,其设计充分考虑了开关电源、电机驱动等场景的特殊需求。一个完整的CMPSS子系统包含两个独立比较器(高/低)、两个12位DAC、数字滤波器和斜坡发生器,这种架构使得单个模块就能处理诸如峰值电流检测、电压保护等多重任务。

在三相逆变器系统中,典型的应用配置是将三个CMPSS模块分别用于各相电流检测。当相电流超过设定的安全阈值时,比较器可在数十纳秒内触发ePWM的跳变响应,立即关闭功率管,这种硬件级的快速保护机制远超软件中断的响应速度。

关键特性对比:

特性CMPSS模块软件实现方案
响应时间 <100ns >1μs
精度 12位DAC可调 依赖ADC采样率
同步机制 硬件级ePWM同步 软件同步
抗噪能力 内置数字滤波器 需算法实现

模块的参考DAC可以选择内部VDDA或外部VDAC作为基准源,这为系统设计提供了灵活性。在要求严格的场合,建议使用外部精密基准源连接VDAC引脚,可获得更好的温度稳定性和噪声性能。

2. 寄存器级配置详解

配置CMPSS需要理解多个关键寄存器的协同工作方式。以下以配置高比较器(CH)实现峰值电流保护为例,展示完整的初始化流程:

// CMPSS1高比较器基础配置
CMPSS1CTL1.bit.COMPHEN = 1; // 使能高比较器
CMPSS1CTL1.bit.COMPHSOURCE = 0; // 反相端选择内部DAC
CMPSS1CTL1.bit.HYSTCTRLH = 3; // 设置10mV迟滞电压

// 配置DAC参考值 (0-4095对应0-VDDA)
CMPSS1DACHVALS = 2048; // 设置阈值为VDDA/2
CMPSS1DACCTL.bit.DACSOURCE = 0; // DAC值直接来自DACHVALS

// 数字滤波器配置 (抗噪声干扰)
CMPSS1FILCFG.bit.FILTSELH = 1; // 使能高比较器滤波器
CMPSS1FILCFG.bit.SAMPWINH = 7; // 8采样窗口(实际值+1)
CMPSS1FILCFG.bit.THRESH = 5; // 需6个相同采样才触发(实际值+1)
CMPSS1FILCFG.bit.CLKPRESCALE = 0;// 不分频系统时钟

关键寄存器组功能说明:

  • CTL1/CTL2:控制比较器使能、输入源选择、迟滞设置等基础功能
  • DACVAL/DACVALS:DAC参考值的活跃/影子寄存器,支持同步更新
  • FILCFG:配置数字滤波器的采样窗口、阈值和时钟分频
  • STS:包含比较器状态和中断标志位

实际工程中,推荐使用影子寄存器机制实现安全更新。通过CTL2寄存器的SYNCSEL位,可以将关键参数的更新与ePWM的同步信号对齐,避免控制周期中间出现参数跳变。

3. 斜坡发生器与峰值电流控制

在峰值电流模式控制中,CMPSS的斜坡发生器能显著简化控制环路设计。斜坡发生器会周期性地递减DAC参考值,与电感电流上升形成比较,实现固定关断时间的控制方式。

配置步骤示例:

// 斜坡发生器配置
CMPSS1RAMPMAXREFS = 3000; // 斜坡起始值(对应电流限值)
CMPSS1RAMPDECVALS = 10; // 每个SYSCLK递减步长
CMPSS1RAMPDLYS = 50; // EPWM同步后延迟50个时钟

// 启用斜坡模式
CMPSS1DACCTL.bit.DACSOURCE = 1; // DAC值来自斜坡发生器
CMPSS1DACCTL.bit.RAMPLOADSEL = 1;// COMPH上升沿重载参数

// 同步到ePWM1
CMPSS1CTL2.bit.SYNCSEL = 1; // 选择ePWM1同步信号

这种配置下,每个PWM周期开始时,DAC参考值会从RAMPMAXREFS开始,随后每个系统时钟递减RAMPDECVAL值。当电感电流信号超过下降的DAC参考时,比较器触发,通过ePWM的TripZone立即关闭PWM输出。

斜坡参数计算要点:

  • 递减速率 = (RAMPDECVAL × SYSCLK) / VDAC × 4095
  • 最大斜坡时间 = RAMPMAXREFS / RAMPDECVAL × SYSCLK周期
  • 建议设置RAMPDECVAL使斜坡时间略小于PWM周期

4. 系统集成与调试技巧

将CMPSS与ePWM模块正确连接是实现硬件保护的关键。通过配置X-BAR,可以将比较器输出直接映射到ePWM的Trip输入:

// 配置X-BAR路由
InputXbarRegs.INPUT7SELECT = 61; // CMPSS1 CTRIPH到INPUT7
InputXbarRegs.INPUT8SELECT = 62; // CMPSS1 CTRIPL到INPUT8

// ePWM1 TripZone配置
EPwm1Regs.TZCTL.bit.TZA = TZ_FORCE_HI; // 触发后强制高
EPwm1Regs.TZCTL.bit.TZB = TZ_FORCE_LO;
EPwm1Regs.TZEINT.bit.OST = 1; // 使能单次触发

调试阶段常见问题及解决方法:

  • 比较器不触发:

    • 检查CMPINxP/N引脚连接,确认信号达到比较器
    • 测量DACREF电压,确认DAC值计算正确
    • 使用CMPSS STS寄存器验证比较器输出状态
  • 误触发:

    • 增大HYSTCTRL迟滞设置
    • 调整数字滤波器参数(增大SAMPWIN或THRESH)
    • 在PCB布局上加强模拟地隔离
  • 响应延迟:

    • 确认未启用过大的滤波器时钟分频
    • 检查X-BAR配置是否直接连接,未经过其他逻辑
  • 对于需要精确时间测量的应用,可以利用CMPSS的锁存功能。通过配置COMPSTSCLR和CTRIPH/L的锁存路径,可以捕获瞬态事件并供软件读取分析。

    赞(0)
    未经允许不得转载:171主机测评 » TMS320F280049 CMPSS模块实战:手把手教你配置比较器子模块(附代码示例)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址