[G32R] 基于R501-多路PWM同步计数的配置解析

[复制链接]
 楼主| zyz0926 发表于 2025-4-30 16:27 | 显示全部楼层 |阅读模式
PWM, sy, se, GS, bi, CS
本帖最后由 zyz0926 于 2025-4-30 16:29 编辑

#申请原创# #技术资源#  
以本人开发的通用高压伺服软件为例来进行说明,G32R501-多路PWM同步配置经验介绍如下:
伺服中使用的PWM包括:
   PWM1: 增计数,用于主中断触发,频率16K
   PWM3: 增减计数,用于U相PWM波输出,频率8K
   PWM5: 增减计数,用于V相PWM波输出,频率8K
   PWM6: 增减计数,用于W相PWM波输出,频率8K
  
   PWM7: 增计数,用于电流环中断触发,频率16K
   PWM2: 增计数,用于CPU1核并行中断触发,频率32K

PWM模块的TB计数器的同步框架图请实际参考极海G32R501官方用户手册。

可以观察到,8路PWM主要分为三路同步链路,其中,PWM1,2,3处于第一同步链路,PWM4,5,6处于第二同步链路,PWM7,8处于第三同步链路。可以看出,多路PWM的同步只能向下同步,不能向上同步,即同步基准最好定为PWM1,其他所有PWM,均可与PWM1进行同步。通过同步输入源寄存器来进行选择。
比如如果使用PWM1作为同步源,同步配置所有PWM,则配置如下:      
SyncSocRegs.SYNCSELECT.bit.PWM1SYNCIN = 1;           
SyncSocRegs.SYNCSELECT.bit.PWM4SYNCIN = 0;
SyncSocRegs.SYNCSELECT.bit.PWM7SYNCIN = 0;

而同步的具体寄存器配置也是较为简单,将同步基准配置为主模式,通过配置PHSEN来实现,同步选择为计数器为0触发
EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Master module
EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO;
其余所有被同步的PWM,配置为从模式,,同步选择为同步源输入触发
EPwm8Regs.TBCTL.bit.PHSEN = TB_ENABLE; // slave module
EPwm8Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;  

要注意的是,如果要PWM8与PWM1进行同步,则不管PWM7是否使用,都必须要进行同步配置,否则链路不通,则即使配置好PWM8与PWM1同步寄存器也无法实现同步。同理,PWM4,5,6也是一样的关系。

在本伺服开发中,原先的PWM1作为主中断触发,增计数,如果以其作为同步基准,则后面的PWM的同步则是无法实现,主要是计数模式与周期均存在差异。这里需要改变下配置思路,将主中断搬移到PWM2上,将PWM1改为增减计数,频率8K的同步源即可。即PWM1仅仅作为空计数的同步源计数器。在实际应用中,配置往往是比较灵活的,需要根据实际的情况来进行取舍,前提是对同步的原理比较清晰。


 楼主| zyz0926 发表于 2025-4-30 16:29 | 显示全部楼层
秦七七 发表于 2025-4-30 23:15 | 显示全部楼层
这个贴不错!!!!!
秦七七 发表于 2025-5-1 15:25 | 显示全部楼层
逢贴必顶……恼人
秦七七 发表于 2025-5-3 21:44 | 显示全部楼层
好吧...那你说..............
秦七七 发表于 2025-5-3 23:10 | 显示全部楼层
怎么回事!!!!
秦七七 发表于 2025-5-4 12:03 | 显示全部楼层
一个子 没看懂
秦七七 发表于 2025-5-4 14:58 | 显示全部楼层
真是有你的!!!!!!
秦七七 发表于 2025-5-4 16:24 | 显示全部楼层
不知道说些什么
秦七七 发表于 2025-5-4 19:15 | 显示全部楼层
其实今天baidu 又 抽风了
秦七七 发表于 2025-5-4 22:07 | 显示全部楼层
不错,支持下!!!!!!!!!!
秦七七 发表于 2025-5-5 14:57 | 显示全部楼层
这个贴子有意义
秦七七 发表于 2025-5-5 16:23 | 显示全部楼层
支持你加分
秦七七 发表于 2025-5-5 17:50 | 显示全部楼层
说的不错~~~~~~~~~~~~~~~~~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

38

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

19

主题

38

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部