首页 论坛 原厂专区 NXP(freescale) MCU MIMXRT定时器之eFlexPWM PWM2边沿对齐
分享到:
一,文档描述
eFlexPWM模块是RT定时器中专门用于生成PWM的模块,该模块具有多个PWM子模块,可以生成用于控制SMPS的PWM波形,而且还具有故障通道可以直接控制PWM的输出关闭。
最近有网友想使用eFlexPWM模块的FlexPWM2_PWM0_B, FlexPWM2_PWM1_B, FlexPWM2_PWM2_B三个通道生成固定周期,但是占空比可以改变的PWM,使用边沿对齐方式,但是在调试过程中总是不能生成有效的波形,所以这边在SDK PWM代码的基础上修改了代码,调试了该功能并实现的情况下,也将代码分享出来,或许对遇到相关问题的网友有所帮助。
二,功能实现
代码功能: 在GPIO_B0_07,GPIO_B0_09,GPIO_B0_11分别输出1Khz,占空比可调的边沿对齐的PWM波形。
GPIO_B0_07: FlexPWM2_PWM0_B, BT_CFG_3
GPIO_B0_09: FlexPWM2_PWM1_B, BT_CFG_5
GPIO_B0_11: FlexPWM2_PWM2_B, BT_CFG_7
测试平台:MIMXRT1060-EVK , SDK_2.6.2_EVK-MIMXRT1060
基于例程:SDK_2.6.2_EVK-MIMXRT1060\boards\evkmimxrt1060\driver_examples\pwm
故障信号通过XBARA模块总是给高,也就是代码不受故障信号影响。
代码内容请查看附件文档以及源代码。
三,测试结果
从上面的代码可以看到,刚开始三路PWM的占空比均设为50%,到后面是按照10%,20%,30% 为起点,不停的变换PWM的占空比,下面给出随机采集到的三路PWM波形结果:
从测试波形可以看出三路的PWM波的占空比均可以变换,并且周期也是1Khz。
另外,这三路PWM的引脚其实也是BOOT_CFG的引脚,通常情况下,如果启动的时候不改变输入的状态,是不会影响到启动,但是在实际产品中,如果要用到BOOT_CFG引脚作为其他的输出功能,最好在产品开发完成之后,修改BOOT_CFG的fuse功能,然后从fuse启动,这样外部的BOOT_CFG引脚就可以任意配置为其他功能的引脚。
(1 )
(1 )
回复
举报
- 普通用户_e521ef628ca340e
-
0 发帖4 回复108 积分
- 私信他 +关注
- 普通用户_e521ef628ca340e
-
0 发帖4 回复108 积分
- 私信他 +关注
发表回复
块
导
航
举报
请选择举报类别
- 广告垃圾
- 违规内容
- 恶意灌水
- 重复发帖