使用eTMR生成一对PWM波形,偶现两个PWM波形不同步的问题
-
YTM32B1ME0?系统时钟120M,eTMR时钟120MHz,PWM频率12MHz,占空比设置50%
etmr_pwm_param_t ETMR_PWM_Config0={
.nNumPwmChannels=2,
.mode=eTMR_PWM_MODE,
.uFrequencyHZ=120000,
.counterInitValFromInitReg=true,
.cntVal=0,
.pwmChannelConfig=ETMR_PWM_Config0IndChConfig,
.faultConfig=&ETMR_PWM_Config0FaultConfig,
};
const etmr_user_config_t ETMR_CM_Config2={
.etmrClockSource=eTMR_CLOCK_SOURCE_INTERNALCLK,
.etmrPrescaler=1,
.debugMode=false,
.syncMethod=&ETMR_CM_Config2PwmSync,
.outputTrigConfig=&ETMR_CM_Config2TrigConf,
.isTofIntEnabled=false,
};
{
.clkName = eTMR2_CLK,
.clkGate = true,
.divider = DIV_BY_1,
.clkSrc = CLK_SRC_DISABLED,
}, -
PWM频率120KHz
-
-
占空比我上电时,调用的这个函数接口,期望设置的是50%,后面再也没有改变过,但是抓取波形上看,占空比有时是50%,有时是49.69%,有时是4938%,不是很规律,一阵一阵的
-
这个可能是逻辑分析仪采样率不足导致的,可以尝试提高逻辑分析仪采样率,或者使用示波器进行测试。
-
-
-
-
有个疑问,如果说我设置占空比为50%的话,那实际输出的PWM占空比是严格的50%,还是说会在50%有一点波动?比如波动到49.68%
-
En工,你好;我在这边使用示波器排查了下,PWM输出占空比是稳定的,外设寄存器值也是不变化的,死区时间为0,另外我们没有配置为互补输出,现在的问题是使用上面的函数代码去控制两个PWM输出50%占空比,为什么两条PWM波形出现边沿变化不同步的情况
-
16/23
发帖前请查看
帮助没办法联网的电脑使用YCT
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...