TI中文支持网
TI专业的中文技术问题搜集分享网站

280049斜坡补偿配置问题

Hi

在使用280049 CMPSS模块进行峰值电流控制,加入了RAMP功能,其同步源来自PWM5 SYNC0信号,

Cmpss6Regs.RAMPDECVALS = 10;

Cmpss6Regs.RAMPMAXREFS = 1000;

Cmpss6Regs.RAMPDLYS.bit.DELAY    = 10;

Cmpss6Regs.COMPDACCTL.bit.DACSOURCE = 1; // RAMPSTS -> DACVAL
Cmpss6Regs.COMPDACCTL.bit.RAMPSOURCE = 4; //EPWM5SYNCO -> RAMPSOURCE
Cmpss6Regs.COMPDACCTL.bit.RAMPLOADSEL = 1; //

但通过在线仿真发现DACHVALA寄存器数据一直是一个很小的值,导致CMPSS6输出一直为高,请问以上配置有问题么?哪里可以找到280049 RAMP配置例程?

作为对比,

Cmpss6Regs.COMPDACCTL.bit.DACSOURCE = 0; // DACHVALS -> DACVAL

可以看到DACHVALA=DACHVALS.

Joe Reng:PWM5同步信号配置如下
EPWM_setSyncOutPulseMode(EPWM5_BASE,EPWM_SYNC_OUT_PULSE_ON_COUNTER_ZERO);EPWM_setPhaseShift(EPWM5_BASE,(0));
EPwm5Regs.HRPCTL.bit.PWMSYNCSEL = 1;
观察寄存器,好像是同步信号并未传输到CMPSS模块

Hi

在使用280049 CMPSS模块进行峰值电流控制,加入了RAMP功能,其同步源来自PWM5 SYNC0信号,

Cmpss6Regs.RAMPDECVALS = 10;

Cmpss6Regs.RAMPMAXREFS = 1000;

Cmpss6Regs.RAMPDLYS.bit.DELAY    = 10;

Cmpss6Regs.COMPDACCTL.bit.DACSOURCE = 1; // RAMPSTS -> DACVAL
Cmpss6Regs.COMPDACCTL.bit.RAMPSOURCE = 4; //EPWM5SYNCO -> RAMPSOURCE
Cmpss6Regs.COMPDACCTL.bit.RAMPLOADSEL = 1; //

但通过在线仿真发现DACHVALA寄存器数据一直是一个很小的值,导致CMPSS6输出一直为高,请问以上配置有问题么?哪里可以找到280049 RAMP配置例程?

作为对比,

Cmpss6Regs.COMPDACCTL.bit.DACSOURCE = 0; // DACHVALS -> DACVAL

可以看到DACHVALA=DACHVALS.

Green Deng:

回复 Joe Reng:

抱歉没太多使用过这两个功能,目前TI也没有发布针对这款芯片的对应例程。就这个问题我会咨询一下其他工程师之后给你答复

Hi

在使用280049 CMPSS模块进行峰值电流控制,加入了RAMP功能,其同步源来自PWM5 SYNC0信号,

Cmpss6Regs.RAMPDECVALS = 10;

Cmpss6Regs.RAMPMAXREFS = 1000;

Cmpss6Regs.RAMPDLYS.bit.DELAY    = 10;

Cmpss6Regs.COMPDACCTL.bit.DACSOURCE = 1; // RAMPSTS -> DACVAL
Cmpss6Regs.COMPDACCTL.bit.RAMPSOURCE = 4; //EPWM5SYNCO -> RAMPSOURCE
Cmpss6Regs.COMPDACCTL.bit.RAMPLOADSEL = 1; //

但通过在线仿真发现DACHVALA寄存器数据一直是一个很小的值,导致CMPSS6输出一直为高,请问以上配置有问题么?哪里可以找到280049 RAMP配置例程?

作为对比,

Cmpss6Regs.COMPDACCTL.bit.DACSOURCE = 0; // DACHVALS -> DACVAL

可以看到DACHVALA=DACHVALS.

Green Deng:

回复 Joe Reng:

问一下,你的ePWM确保是在正常运行的吗?

Hi

在使用280049 CMPSS模块进行峰值电流控制,加入了RAMP功能,其同步源来自PWM5 SYNC0信号,

Cmpss6Regs.RAMPDECVALS = 10;

Cmpss6Regs.RAMPMAXREFS = 1000;

Cmpss6Regs.RAMPDLYS.bit.DELAY    = 10;

Cmpss6Regs.COMPDACCTL.bit.DACSOURCE = 1; // RAMPSTS -> DACVAL
Cmpss6Regs.COMPDACCTL.bit.RAMPSOURCE = 4; //EPWM5SYNCO -> RAMPSOURCE
Cmpss6Regs.COMPDACCTL.bit.RAMPLOADSEL = 1; //

但通过在线仿真发现DACHVALA寄存器数据一直是一个很小的值,导致CMPSS6输出一直为高,请问以上配置有问题么?哪里可以找到280049 RAMP配置例程?

作为对比,

Cmpss6Regs.COMPDACCTL.bit.DACSOURCE = 0; // DACHVALS -> DACVAL

可以看到DACHVALA=DACHVALS.

Joe Reng:

回复 Green Deng:

确保正常运行。
问题找到了,RAMPSTS取值的话是取了RAMP_MAX的高12位,之前没有注意到这一点。
PWM同步CMPSS的配置是对的,谢谢你的帮助

Hi

在使用280049 CMPSS模块进行峰值电流控制,加入了RAMP功能,其同步源来自PWM5 SYNC0信号,

Cmpss6Regs.RAMPDECVALS = 10;

Cmpss6Regs.RAMPMAXREFS = 1000;

Cmpss6Regs.RAMPDLYS.bit.DELAY    = 10;

Cmpss6Regs.COMPDACCTL.bit.DACSOURCE = 1; // RAMPSTS -> DACVAL
Cmpss6Regs.COMPDACCTL.bit.RAMPSOURCE = 4; //EPWM5SYNCO -> RAMPSOURCE
Cmpss6Regs.COMPDACCTL.bit.RAMPLOADSEL = 1; //

但通过在线仿真发现DACHVALA寄存器数据一直是一个很小的值,导致CMPSS6输出一直为高,请问以上配置有问题么?哪里可以找到280049 RAMP配置例程?

作为对比,

Cmpss6Regs.COMPDACCTL.bit.DACSOURCE = 0; // DACHVALS -> DACVAL

可以看到DACHVALA=DACHVALS.

Green Deng:

回复 Joe Reng:

非常感谢你的反馈

赞(0)
未经允许不得转载:TI中文支持网 » 280049斜坡补偿配置问题
分享到: 更多 (0)