当前位置 博文首页 > ChenYX的博客:【智能车学习】FTM模块

    ChenYX的博客:【智能车学习】FTM模块

    作者:[db:作者] 时间:2021-07-07 18:50

    目录

    什么是PWM?

    FTM模块(FlexTimer Module)

    EPWM模式(Edge-Aligned PWM (EPWM) mode)

    代码

    实例

    正交解码模式(Quadrature Decoder mode)

    代码


    今天突然遇到一个问题,所以决定还是把智能车里用到的FTM模块好好来理一下吧。

    什么是PWM?

    ? ? ? ?PWM全称是脉冲宽度调制,是现代电力电子控制里不可或缺的一项技术,其基本原理大家都懂,不懂得的隔壁左转百度。这里只贴一下定义:

    ? ? ? ?采样控制理论中有一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。PWM控制技术就是以该结论为理论基础,对半导体开关器件的导通和关断进行控制,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。

    ? ? ? ?这里有一个点值得提及,那就是他的适用范围:具有惯性的环节。这就是为什么伺服机构可以用PWM控制,因为它是惯性环节,这点很重要。

    FTM模块(FlexTimer Module

    ? ? ? ?FTM全称FlexTimer Module (柔性定时器模块),它的工作框图如下:

    ? ? ? ?FTM模块的核心是一个16位计数器,该计数器的时钟来源可设置(由FTMx_SC寄存器中的CLKS设置),既可来自系统时钟System Clock,外部时钟 External Clock,也可来自MCG模块的 MCGFFCLK(MCG fixed frenquency clock)。一般情况下,只要不是对外部计数功能,我们都会采用系统时钟的 Bus Clock 为FTM提供时钟。
    ? ? ? ?FTM的时钟源可进行分频(由FTMx_SC寄存器中的PS设置):

    ? ? ? ?作为一个高级单片机里的定时器模块,FTM模块具有多种功能供用户使用,例如输入捕获,输出比较,PWM比较,PWM输出,AB相正交解码等等,他们通过FTMx_CnSC寄存器进行配置,如下图:

    FTMx_CnSC 寄存器的配置
    cs