TIwilliam hill官网
直播中

曹雪

7年用户 255经验值
私信 关注
[问答]

28035PWM产生问题

如何利用28035的一个通道产生下面的两个PWM波形
28035一个PWM通道只有两个寄存器,貌似要实现下面的PWM输出需要三个寄存器存储数据,不知有没有办法实现,谢谢!
注:两个PWM波形存在同时开通的时间段

回帖(4)

史乃原

2018-5-14 07:48:06
设置PWM1 A PWM2A  各占一路;以PWM1A的相位为基准设相位寄存器为0;改PWM2A相位寄存器的值;但是两个PWM1A  PWM2A   周期要一至。 可以实现。但是HRPWM可能效果不好。普通OK;具体波形用试波器看调整PWM2A的周期寄存器
举报

朱虹博

2018-5-14 07:54:42
如果用一个PWM模块,那我认为除非还有特殊条件,否则没有办法。
比如PWMB上的占空比一直大于50%,那就可以用到AQCTLB[CAD],AQCTLB[CBD].
举报

曹雪

2018-5-14 08:12:28
引用: vyewrewr 发表于 2018-5-14 07:48
设置PWM1 A PWM2A  各占一路;以PWM1A的相位为基准设相位寄存器为0;改PWM2A相位寄存器的值;但是两个PWM1A  PWM2A   周期要一至。 可以实现。但是HRPWM可能效果不好。普通OK;具体波形用试波器看调整PWM2A的周期寄存器

有没有可能使用死区时间来完成前面的要求呢?
举报

朱虹博

2018-5-14 08:18:21
引用: evpt 发表于 2018-5-14 08:12
有没有可能使用死区时间来完成前面的要求呢?

可能。
  EPwm1Regs.AQCTLA.bit.ZRO = AQ_SET;              
    EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR;
  EPwm1Regs.AQCTLB.bit.CBU = AQ_CLEAR;            
 EPwm1Regs.AQCTLB.bit.ZRO = AQ_SET;
  EPwm1Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;
  EPwm1Regs.DBCTL.bit.POLSEL = 0;
  EPwm1Regs.DBCTL.bit.IN_MODE = 1;
举报

更多回帖

发帖
×
20
完善资料,
赚取积分