[应用相关] ePWM模块使用的问题

[复制链接]
 楼主| feiqi1 发表于 2021-6-8 18:26 | 显示全部楼层 |阅读模式
关于EPWM1模块的配置,epwm2、3、4等如法**制。
1、关于寄存器位定义的问题
     EPwm1Regs.TBCTR.all=0;
---
EPwm1Regs.AQCTLA.all=0x60;        // EPWMxA = 1 when CTR=CMPA and counter inc
                                   // EPWMxA = 0 when CTR=CMPA and counter dec
(前面那条语句的意思是对该寄存器的所有位写0,那么按照TBCTR寄存器的配置在CTRMODE字段选择的基数模式为增计数。
但后面那条语句中的注释又说明计数方式是增减计数。这是为什么呢?)
EPwm1Regs.CMPCTL.all=0x50;        // Immediate mode for CMPA and CMPB
EPwm1Regs.AQCTLA.all=0x60;        // EPWMxA = 1 when CTR=CMPA and counter inc
                                   // EPWMxA = 0 when CTR=CMPA and counter dec
EPwm1Regs.DBCTL.all=0xb;          // EPWMxB is inverted
这三句配置语句如果按照注释所要实现的功能来看,以CMPCTL、AQCTLA、DBCTL的各位功能,0x50,0x60,0xb分别是
按照不同的起止顺序配置各位,比如有的从低位开始,有的从高位开始。这是为什么呢?
litengg 发表于 2021-6-8 18:34 | 显示全部楼层
保留位是可以直接不看的吗?
qiangweii 发表于 2021-6-8 18:36 | 显示全部楼层
PWM的6个输出引脚在J7的右端,但是排列方式和原理图上的不对应。
shashaa 发表于 2021-6-8 18:41 | 显示全部楼层
波的占空比约为75%,而理论上应该是10%,并且波形出现一定抖动.
xia00 发表于 2021-6-8 18:42 | 显示全部楼层
寄存器配置从低位和从高位配置并没有区别。
hfdy01 发表于 2021-6-8 18:46 | 显示全部楼层
请注意文件的版本是否对应,top层和bottom层是否对应,视图是否镜像。
boy1990 发表于 2021-6-8 18:50 | 显示全部楼层
特别要注意的是死区控制的输入输出延时配置。
sourceInsight 发表于 2021-6-8 18:56 | 显示全部楼层
TBCTR和TBCTL是不一样的,你可能看错了。
bbapple 发表于 2021-6-8 18:57 | 显示全部楼层
顺序是一致的,看结构体的定义 bit0 是最右边一位。
zhouhuanの 发表于 2021-6-8 19:05 | 显示全部楼层
仿真里面好像是反的,代码里面的bit0在仿真里面好像是15,不过本身值不变。
Listate 发表于 2021-6-8 19:09 | 显示全部楼层
例程中定义了TBCTLVAL=0x200E,这里赋值为什么不直接写=0x201E,而要用加法式子呢?
Mozarts 发表于 2021-6-8 19:10 | 显示全部楼层
寄存器级的配置问题  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

424

主题

1616

帖子

1

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

424

主题

1616

帖子

1

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