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

HVPSFB-PCM的PWM时序问题

在dpl-isr中:

Up_Cnt:
EPwm2.AQCTLB=0x0214
(ZRO=Nothing;PRD=Clear;CAU=Clear;CBU=Set;)
EPwm2.AQCTLA=0x0125
 (ZRO=Clear;PRD=Clear;CAU=Set;CBU=Clear;)
EPwm2.TZCTL=0x0FFE
TZCTL.TZA =Clear
TZCTL.TZB =Nothing

在up_cnt和Dwn_cnt中在CTR=PRD的时候都是clear,那为什么没有clear呢?而是do nothing呢

bad:

帮忙看看

在dpl-isr中:

Up_Cnt:
EPwm2.AQCTLB=0x0214
(ZRO=Nothing;PRD=Clear;CAU=Clear;CBU=Set;)
EPwm2.AQCTLA=0x0125
 (ZRO=Clear;PRD=Clear;CAU=Set;CBU=Clear;)
EPwm2.TZCTL=0x0FFE
TZCTL.TZA =Clear
TZCTL.TZB =Nothing

在up_cnt和Dwn_cnt中在CTR=PRD的时候都是clear,那为什么没有clear呢?而是do nothing呢

Terry Deng:

回复 bad:

看你的波形,好像EPWMA和B是设置为死区互补模式。或者你把整个PWM所有寄存器设置发上来检查

在dpl-isr中:

Up_Cnt:
EPwm2.AQCTLB=0x0214
(ZRO=Nothing;PRD=Clear;CAU=Clear;CBU=Set;)
EPwm2.AQCTLA=0x0125
 (ZRO=Clear;PRD=Clear;CAU=Set;CBU=Clear;)
EPwm2.TZCTL=0x0FFE
TZCTL.TZA =Clear
TZCTL.TZB =Nothing

在up_cnt和Dwn_cnt中在CTR=PRD的时候都是clear,那为什么没有clear呢?而是do nothing呢

bad:

回复 Terry Deng:

 这是HVPSFB-DPL-ISR.asm中的,我没有改动,SR2模式

SR1_2:

…..

MOVW  DP,#_EPwm2Regs.TZCTL     OR  @_EPwm2Regs.TZCLR, #0x4     MOV  @_EPwm2Regs.TZCTL, #0x0FFE

  MOV  @_EPwm2Regs.AQCTLA, #0x0125   MOV  @_EPwm2Regs.AQCTLB, #0x0214 

;  LB  Aft1_0  Aft1_0: .ref _dbAtoP_leg  MOVW DP, #(_dbAtoP_leg)  MOV  AH, @(_dbAtoP_leg)     .ref _dbPtoA_leg  MOVW DP, #(_dbPtoA_leg)  MOV  AL, @(_dbPtoA_leg)  

  MOVW  DP,#_EPwm2Regs.CMPB  MOV  @_EPwm2Regs.CMPB, AH    ;dbAtoP_leg  MOV  @_EPwm2Regs.CMPA.half.CMPA, #(PWM_PRD+10)   ADDB AL, #3          

  MOV  @_EPwm2Regs.DCFWINDOW, AL 

 SR2_2:

  MOVW  DP,#_EPwm2Regs.TZCTL     OR  @_EPwm2Regs.TZCLR, #0x4     MOV  @_EPwm2Regs.TZCTL, #0x0FFB  

  MOV  @_EPwm2Regs.AQCTLB, #0x0215    MOV  @_EPwm2Regs.AQCTLA, #0x0124  

;  LB  Aft2_0

Aft2_0: .ref _dbAtoP_leg  MOVW DP, #(_dbAtoP_leg)  MOV  AH, @(_dbAtoP_leg)    .ref _dbPtoA_leg  MOVW DP, #(_dbPtoA_leg)  MOV  AL, @(_dbPtoA_leg) 

  MOVW  DP,#_EPwm2Regs.CMPB  MOV  @_EPwm2Regs.CMPA.half.CMPA, AH   ; dbAtoP_leg  MOV  @_EPwm2Regs.CMPB, #(PWM_PRD+10)

  ADDB AL, #3      

  MOV  @_EPwm2Regs.DCFWINDOW, AL 

 

在dpl-isr中:

Up_Cnt:
EPwm2.AQCTLB=0x0214
(ZRO=Nothing;PRD=Clear;CAU=Clear;CBU=Set;)
EPwm2.AQCTLA=0x0125
 (ZRO=Clear;PRD=Clear;CAU=Set;CBU=Clear;)
EPwm2.TZCTL=0x0FFE
TZCTL.TZA =Clear
TZCTL.TZB =Nothing

在up_cnt和Dwn_cnt中在CTR=PRD的时候都是clear,那为什么没有clear呢?而是do nothing呢

bad:

回复 Terry Deng:

Epwm1 是死区互补模式,但是Epwm2不是这个方式

在dpl-isr中:

Up_Cnt:
EPwm2.AQCTLB=0x0214
(ZRO=Nothing;PRD=Clear;CAU=Clear;CBU=Set;)
EPwm2.AQCTLA=0x0125
 (ZRO=Clear;PRD=Clear;CAU=Set;CBU=Clear;)
EPwm2.TZCTL=0x0FFE
TZCTL.TZA =Clear
TZCTL.TZB =Nothing

在up_cnt和Dwn_cnt中在CTR=PRD的时候都是clear,那为什么没有clear呢?而是do nothing呢

bad:

回复 bad:

MOV  @_EPwm2Regs.DCFWINDOW, AL 

这个事件滤波窗口,谁能解释详细一点啊?

在dpl-isr中:

Up_Cnt:
EPwm2.AQCTLB=0x0214
(ZRO=Nothing;PRD=Clear;CAU=Clear;CBU=Set;)
EPwm2.AQCTLA=0x0125
 (ZRO=Clear;PRD=Clear;CAU=Set;CBU=Clear;)
EPwm2.TZCTL=0x0FFE
TZCTL.TZA =Clear
TZCTL.TZB =Nothing

在up_cnt和Dwn_cnt中在CTR=PRD的时候都是clear,那为什么没有clear呢?而是do nothing呢

bad:

回复 bad:

程序里面对epwm2 的CTR=PRD的时候都是clear

pwm输出来的,却不是的,why? 我用的是28035

在dpl-isr中:

Up_Cnt:
EPwm2.AQCTLB=0x0214
(ZRO=Nothing;PRD=Clear;CAU=Clear;CBU=Set;)
EPwm2.AQCTLA=0x0125
 (ZRO=Clear;PRD=Clear;CAU=Set;CBU=Clear;)
EPwm2.TZCTL=0x0FFE
TZCTL.TZA =Clear
TZCTL.TZB =Nothing

在up_cnt和Dwn_cnt中在CTR=PRD的时候都是clear,那为什么没有clear呢?而是do nothing呢

bad:

回复 bad:

怎么点了推荐答案了,不好意思点错了。

谁理解的,帮忙看看

在dpl-isr中:

Up_Cnt:
EPwm2.AQCTLB=0x0214
(ZRO=Nothing;PRD=Clear;CAU=Clear;CBU=Set;)
EPwm2.AQCTLA=0x0125
 (ZRO=Clear;PRD=Clear;CAU=Set;CBU=Clear;)
EPwm2.TZCTL=0x0FFE
TZCTL.TZA =Clear
TZCTL.TZB =Nothing

在up_cnt和Dwn_cnt中在CTR=PRD的时候都是clear,那为什么没有clear呢?而是do nothing呢

bad:

回复 bad:

关于PCMC中的HVPSFB-DPL-ISR.asm还是有疑问啊:

1.为什么没有在ctr=PRD的时候clear?在配置的时候都是配成clear

2.在设置dmax=0(Iref=0)的时候,对角开关管重叠了,这个dmax不是一点用都没有?或者说这个例程不支持这种状态即iref=0时

3.哪个高手能解释一下整个就更好了 

赞(0)
未经允许不得转载:TI中文支持网 » HVPSFB-PCM的PWM时序问题
分享到: 更多 (0)