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

F28035的打开PWM波时问题

在产生PWM波那一瞬间会有时如下图,感觉有点不可控,有时也是正常的,不知道什么原因,求解?

正常波形如下:

 

 

 

 

 

Joey Mao:

是每一次都会有吗?还是偶尔出现

在产生PWM波那一瞬间会有时如下图,感觉有点不可控,有时也是正常的,不知道什么原因,求解?

正常波形如下:

 

 

 

 

 

user151383853:

第一个波形, 真好是半个波形, 一般这中心对称的模式的下, 由于初始值是0 引起的. 更改大的初值看看

在产生PWM波那一瞬间会有时如下图,感觉有点不可控,有时也是正常的,不知道什么原因,求解?

正常波形如下:

 

 

 

 

 

Mak he:

回复 Joey Mao:

Joey Mao:

                并不是每次都出现,但出现的概率还是挺大的。

在产生PWM波那一瞬间会有时如下图,感觉有点不可控,有时也是正常的,不知道什么原因,求解?

正常波形如下:

 

 

 

 

 

Mak he:

回复 user151383853:

Airwill:

         你说的初始值是TBCTR(时基计数器)的初始值吗,我改了后又有其他问题出现,如下图:

在产生PWM波那一瞬间会有时如下图,感觉有点不可控,有时也是正常的,不知道什么原因,求解?

正常波形如下:

 

 

 

 

 

Eric Ma:

回复 Mak he:

在初始化PWM前要关掉时钟同步

EALLOW; SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; EDIS;

初始化完成后再打开。

EALLOW; SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; EDIS;

在初始化代码中,还要对下面寄存器清零:

EPwm1Regs.TBPHS.half.TBPHS = 0x0000; // Phase is 0 EPwm1Regs.TBCTR = 0x0000; // Clear counter

ERIC

在产生PWM波那一瞬间会有时如下图,感觉有点不可控,有时也是正常的,不知道什么原因,求解?

正常波形如下:

 

 

 

 

 

Mak he:

回复 Eric Ma:

Eric:

      我修改后试了,确实就是这个问题,谢谢你的回答!

在产生PWM波那一瞬间会有时如下图,感觉有点不可控,有时也是正常的,不知道什么原因,求解?

正常波形如下:

 

 

 

 

 

Mak he:

回复 Eric Ma:

Eric,

     你好!

     我按照你上面说的方法还是有点问题,还是会出现PWM波启动时不可控的情况。

初始化如下:

EALLOW;SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0;EDIS;

//Time Base SubModule Register EPwm2Regs.TBCTL.bit.PRDLD = TB_SHADOW; // set Immediate load,0x0-有阴影寄存器 EPwm2Regs.TBPRD= 1000; EPwm2Regs.TBPHS.half.TBPHS =0; EPwm2Regs.TBCTR = 0;//时基计数器 EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; EPwm2Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;//0x0-1分频 EPwm2Regs.TBCTL.bit.CLKDIV = TB_DIV1;//0x0-1分频,TBCLK = SYSCLKOUT / (HSPCLKDIV × CLKDIV) EPwm2Regs.TBCTL.bit.PHSEN = TB_DISABLE;//与相位相关,没使用 EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // // Counter compare submodule registers EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;//CC_CTR_PRD;//0x1-当CTR=PRD时,影像寄存器里面的值装载到工作寄存器 EPwm2Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;//CC_CTR_PRD; EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;//0x0 EPwm2Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;

// Action Qualifier SubModule Registers EPwm2Regs.AQCTLA.bit.CAU = AQ_SET;//AQ_CLEAR; EPwm2Regs.AQCTLA.bit.CAD = AQ_CLEAR;//AQ_SET; EPwm2Regs.AQCTLB.bit.CBU = AQ_CLEAR; EPwm2Regs.AQCTLB.bit.CBD = AQ_SET;

EALLOW; EPwm2Regs.TZFRC.bit.OST = 1; // Turn off the PWM EDIS; EPwm2Regs.CMPB =400; EPwm2Regs.CMPA.half.CMPA = 600; //Initialize the CMP register

EALLOW;SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1;EDIS;

使用时通过两个按键来切换:

按A键执行下面代码:

EALLOW; EPwm2Regs.TZFRC.bit.OST = 1; EDIS;

按B键执行下面代码:

EPwm2Regs.CMPB =400;//(Uint16)((Uint32)uiFswRegu*uiDutyRatio/100); EPwm2Regs.CMPA.half.CMPA =600;// (uiFswRegu-EPwm2Regs.CMPB); //Initialize the CMP register EPwm2Regs.TBCTR =0;//400 EALLOW; EPwm2Regs.TZCLR.bit.OST = 1; EDIS;

从A键向B键切换时,还是会出现问题所描述的情况,请问是什么原因?

在产生PWM波那一瞬间会有时如下图,感觉有点不可控,有时也是正常的,不知道什么原因,求解?

正常波形如下:

 

 

 

 

 

Eric Ma:

回复 Mak he:

EPwm2Regs.TZCLR.bit.OST = 1; 

上面这个代码之前没有插入其他代码吧。

在产生PWM波那一瞬间会有时如下图,感觉有点不可控,有时也是正常的,不知道什么原因,求解?

正常波形如下:

 

 

 

 

 

Mak he:

回复 Eric Ma:

Eric,

      确实没有插入其他代码。

在产生PWM波那一瞬间会有时如下图,感觉有点不可控,有时也是正常的,不知道什么原因,求解?

正常波形如下:

 

 

 

 

 

Eric Ma:

回复 Mak he:

Mak

你可以把工程附上来吗,我找时间可以测一下。

理论上是没问题的。

Eric

赞(0)
未经允许不得转载:TI中文支持网 » F28035的打开PWM波时问题
分享到: 更多 (0)