[分享] MIMXRT定时器之eFlexPWM PWM2边沿对齐
1072 查看
3 回复
 楼主 | 发布于 2020-09-18 | 只看楼主
分享到:
一,文档描述

      eFlexPWM模块是RT定时器中专门用于生成PWM的模块,该模块具有多个PWM子模块,可以生成用于控制SMPSPWM波形,而且还具有故障通道可以直接控制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_CFGfuse功能,然后从fuse启动,这样外部的BOOT_CFG引脚就可以任意配置为其他功能的引脚。

本帖有更多资源,需 登录 才可以下载,没有帐号?立即 注册

(1 ) (1 )
回复 举报

回复于 2020-09-25 沙发

感谢分享
(0 )
评论 (0) 举报

回复于 2022-01-24 2#

感谢分享
(0 )
评论 (0) 举报

回复于 2022-01-24 3#

感谢分享
(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部