配置Pwm通道时,首先应该确定其使用的定时器通道和频率等参数。

形如PWM1_M_2使用的通道为TCPWM1_258 (258 = 256 +2)
形如PWM1_H_10使用的通道为TCPWM1_522 (522 = 512 +10)
PWM1_H_10_N则表示TCPWM1_522通道的互补PWM通道
Pwm通道的配置步骤为:
- 配置Port
- 新建PwmChannel

- 配置Mcu时钟参考点
- 配置Pwm通道其他参数
1. Port配置

- TCPWM_1_LINE_73:表示定时器TCPWM1通道73作Pwm通道
- TCPWM_1_LINE_COMPL_73:表示定时器TCPWM1通道73的Pwm互补通道
2.Mcu时钟参考点配置
- PwmTimer:选择使用的定时器通道。
(其中,定时器TCPWM1可以选择的通道号为1-83 ,256-267 ,512-524)

- Mcu模块中配置定时器通道的PCLK时钟

选择好分频系数McuPclkDivderRef后McuPclkFrequency可以自动计算生成。
(生成的时钟频率 = 80M / 分频系数,分频系数可以自己额外配置)

- Mcu模块中配置时钟参考点

选择好McuClock后McuClockReferencePointFrequency可自动计算生成。

- 在PwmMcuClockReferencePoint中引用时钟参考点

3.其他参数配置
PwmAlignment: 计数模式。边沿对齐or中心对齐。

PwmChannelClass:通道种类。
- PWM_FIXED_PERIOD:周期固定不可改变。
- PWM_FIXED_PERIOD_SHIFTED:周期固定,支持输出相位偏移。(使用Pwm_SetOutputOffset())
- PWM_VARIABLE_PERIOD:周期可变。(使用Pwm_SetPeriodAndDuty( ) )

PwmDutycycleDefault (0 -> 32768):默认占空比。16384表示50%占空比。
PwmPeriodDefault:默认周期。单位:秒。
PwmPolarity:输出极性。高/低。
(使用互补通道时,输出PWM极性将与配置相反!假如配置的是高,则实际输出极性为低)
PwmIdleState:空闲电平。高/低。

PwmNotification: 通知函数配置。

通过调用Pwm_EnableNotification(PwmConf_PwmChannel_XXXX,PWM_FALLING_EDGE/PWM_RISING_EDGE)来使能配置的通知函数在Pwm上升沿还是下降沿被调用。
(使用互补通道时,如想配置上升沿调用则实际须选择PWM_FALLING_EDGE,反之亦然)
4.功能演示
在初始化Pwm模块后调用Pwm_SetDutyCycle( )设定占空比为20%:
Pwm_SetDutyCycle(PwmConf_PwmChannel_HSD_846_PWM ,0x2000);
用示波器观察输出的波形:

5.注意点
调用Pwm_SetDutyCycle更新通道占空比时,调用的周期不要小于PWM的周期,否则会出现占空比不均匀的情况。因为PWM会在更新占空比时直接重新启动,重新输出PWM。要避免这种情况,可以同时勾选:

这样PWM就不会立即重启,而是继续输出波形,等待周期结束时再重启并更新占空比。
1272

被折叠的 条评论
为什么被折叠?



