RT1021针对方波电机控制的eFlexPWM操作

强制逻辑框图强制输出逻辑

强制输出逻辑

PWM Source Select Register (DTSRCSEL)

DTSRCSEL寄存器可以配置子模块对应的SEL,选择PWM23以及PWM45的输出源,即死区逻辑的源
00b—SM0PWM45为VAL比较产生的脉冲
01b—SM0PWM45为VAL比较产生的脉冲取反
10b—由SWCOUT寄存器配置的高低二进制电平
11b—外部确定
DTSRCSEL寄存器

Control 2 Register (SM0CTRL2 - SM3CTRL2)

当需要动态更该死区逻辑的话,也就是既想输出PWM,又想输出高低电平,来配置六步的输出组合。那么就需要配置好FORCE_OUT事件,因为DTSRCSEL寄存器配置的位需要在产生FORCE_OUT事件时才被生效。
通过配置CTRL2寄存器FORCE_SEL寄存器来选择FORCE_OUT事件产生源。
000b—本地信号,来自CTRL2[FORCE]用于强制更新,这个信号其实是CTRL2的FORCE位
001b—来自子模块0的主强制信号,但不能在子模块0中使用,会导致FORCE_OUT信号一直为0
010b—本地重装载信号用于强制更新而且不考虑LDOK的状态
011b—如果设置了LDOK状态,则来自子模块0的主重载信号用于强制更新。不应在子模块0中使用此设置,因为它会将FORCE OUTPUT信号保持为逻辑0。
101b - 来自子模块0的主同步信号用于强制更新。不应在子模块0中使用此设置,因为它会将FORCE OUTPUT信号保持为逻辑0。
110b - 来自PWM模块外部的外力信号EXT_FORCE导致更新。
111b - 来自PWM模块外部的外部同步信号EXT_SYNC导致更新。
CTRL2寄存器

在控制电机时需要可以动态更改输出方式,那么就需要一个按照需求可控的FORCE_OUT事件触发源,本地重装载信号正好合适。

Software Controlled Output Register (SWCOUT)

之后配置好想要的高低输出电平。OUT23为PWM_A的输出,OUT45为PWM_B的输出。
SWCOUT寄存器

在配置好了FORCE_OUT事件触发源后,按照需求配置DTSRCSEL选择PWM输出源,如果选择由SWCOUT决定,那么配置SWCOUT寄存器配置各个子模块A\B的输出高低电平,有一点需要注意的就是当配置同一个子模块的PWM_A与PWM_B为互补输出时,配置完PWM_A的二进制电平后,PWM_B的输出电平就已经确定了,无论你配置什么电平,B都为为A的互补电平。

举个例子

那么方波控制中的六步换相输出组合就可以配置出来。
举一个例子,电机A相调制,B相接地,C相悬空,程序如下:
A相调制,B相接地,C相悬空

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值