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

TMS320F28377D: CPU2.CLA使用指针进行EPWM操作时,仿真模式下,可正常更新比较寄存器的值,FLASH模式下不能正常

Part Number:TMS320F28377D

使用CPU2的CLA时,在仿真器模式下,可以正常更新EPMW比较器的值,能正常输出波形;

下电后重启后,EPWM的比较值无法正常更新,EPMW是由CLA中来访问处理的;

代码如下:

pAxis->pEpwmRegs->pEpmw1Regs->CMPA.bit.CMPA = pAxis->pClaVoltLoop->CMPR1;
pAxis->pEpwmRegs->pEpmw2Regs->CMPA.bit.CMPA = pAxis->pClaVoltLoop->CMPR2;
pAxis->pEpwmRegs->pEpmw3Regs->CMPA.bit.CMPA = pAxis->pClaVoltLoop->CMPR3;

其中 EPWM_REGS_STRUCT    *pEpwmRegs;//寄存器地址

该指针由下面的表格进行初始化

const EPWM_REGS_STRUCT epwmRegAddrTable[4] =
{
{&EPwm1Regs, &EPwm2Regs, &EPwm3Regs},
{&EPwm4Regs, &EPwm5Regs, &EPwm6Regs},
{&EPwm7Regs, &EPwm8Regs, &EPwm9Regs},
{&EPwm10Regs, &EPwm11Regs, &EPwm12Regs}
};

//———————————————–

但是不用指针方式对比较寄存器进行操作是,即直接使用如下代码,仿真模式、上电重启后的FLASH模式都是正常的;

EPwm1Regs.CMPA.bit.CMPA = pAxis->pClaVoltLoop->CMPR1;
EPwm2Regs.CMPA.bit.CMPA = pAxis->pClaVoltLoop->CMPR2;
EPwm3Regs.CMPA.bit.CMPA = pAxis->pClaVoltLoop->CMPR3;

问题:CLA对这样的指针方式不支持吗,还有什么限制,为何仿真模式是ok的

Cherry Zhou:

您好我们已收到您的问题并升级到英文论坛,如有答复将尽快回复您。谢谢!

,

Cherry Zhou:

您好,如果 CLA 在连接调试器的情况下成功进行访问,那么在上电复位后应该也会正常工作。 您能提供以下内容吗:

1. 以下值分别是多少:

     pAxis->pEpwmRegs

     pAxis->pEpwmRegs->pEpmw1Regs

2.地址:

    epwmRegAddrTable

通过以上信息我们能够确定 epwmRegAddrTable 或 pAxis->pEpwmRegs 的初始化是否存在任何问题、这可能会在 POR 之后造成一些问题。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28377D: CPU2.CLA使用指针进行EPWM操作时,仿真模式下,可正常更新比较寄存器的值,FLASH模式下不能正常
分享到: 更多 (0)