首页 理论教育 智能汽车设计:了解FTM模块

智能汽车设计:了解FTM模块

时间:2023-09-21 理论教育 版权反馈
【摘要】:FTM模块的相关库为HW_FTM.c和HW_FTM.h。它们是FTM模块的固件驱动文件,定义了该模块的初始化函数、反初始化函数、PWM、输入捕获、正交解码等模式初始化函数。常使用FTM模块的PWM功能驱动电机,并使用FTM模块的正交解码功能解码编码器信息,计算车模速度。这里选择FTM0,工作模式选择PWM模式,PWM频率选择15 kHz,死区时间为2 ms。在开始输出PWM波之前需要使能通道,这里通过LPLD_FTM_PWM_Enable()函数完成。FTM模块初始化除了配置FTM号和FTM工作模式外还需要配置解码模式。

智能汽车设计:了解FTM模块

FTM模块的相关库为HW_FTM.c和HW_FTM.h。它们是FTM模块的固件驱动文件,定义了该模块的初始化函数、反初始化函数、PWM、输入捕获、正交解码等模式初始化函数。

常使用FTM模块的PWM功能驱动电机,并使用FTM模块的正交解码功能解码编码器信息,计算车模速度。

配置PWM功能时的初始化代码如下:

可以看到,在定义结构体后首先需要初始化的是FTM号。这里选择FTM0,工作模式选择PWM模式,PWM频率选择15 kHz,死区时间为2 ms。死区插入通道和分频系数需要初始化,赋值完成后调用初始化函数完成初始化。在开始输出PWM波之前需要使能通道,这里通过LPLD_FTM_PWM_Enable()函数完成。当需要改变PWM输出占空比的时候,通常通过LPLD库函数LPLD_FTM_PWM_ChangeDuty(FTM_Type*ftmx,FtmChnEnum_Type chn,uint32 duty)来实现,具体实现方法如下:

通过改变连接驱动的四路PWM输出占空比来实现电机的控制,其中PWM数组中的值由前面的控制算法赋值。(www.xing528.com)

要实现速度闭环控制就需要编码器提供信息,编码器的信息解码则需要FTM模块的正交解码功能来实现。

配置正交解码功能时的初始化代码如下:

从代码中可以看出在初始化FTM模块前先初始化需要用到的GPIO引脚,主要是将需要用到的GPIO配置为输入模式。FTM模块初始化除了配置FTM号和FTM工作模式外还需要配置解码模式。FTM的正交解码有两种解码模式可选择,分别对应两种工作原理的编码器,一种是AB相解码模式,LPLD库中宏定义为QD_MODE_PHAB;另一种是计数方向解码模式,LPLD库中宏定义为QD_MODE_CNTDIR。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈