摘要
本篇文档主要用来介绍英飞凌基于AURIX-2G TriCore 1.6.2架构的 TC33x系列GTM模块的使用
GTM介绍
英飞凌的GTM模块是采用的博世的IP,封装了很多配置功能,可以支持输入捕捉,输出比较,PWM等功能,GTM模块主要由两部分组成,一部分是博世的IP核部分,包含很多子模块,组成一个灵活多变的定时器模块,还有一部分是由英飞凌设计封装的。主要的子功能
因为我们使用的是TC334系列,所以我们以TC33x的GTM来说明举例。
GTM框图
TC33xGTM框图整体如下所示
各个子模块都有列出。
子模块映射
TC3xxx系列个GTM不是多有的子功能模块在TC33x上都有,具体的需要参考相应的子手册。
PWM输出设计
假设我们要驱动一个两电平的三相逆变桥如下图所示,那么我们需要6路PWM信号来实现MOSFET的驱动,此PWM就是由GTM的TOM子功能模块配置输出。PWM频率10kHz,中心对齐输出。
管脚配置
在两电平的逆变器电机控制中主要是用他的TOM功能生成3相6路PWM信号驱动MOSFET。假设我们使用以下管脚经过预驱动作为三相逆变桥的驱动。
PHASE_U_HS | P02.5 |
PHASE_U_LS | P02.4 |
PHASE_V_HS | P02.3 |
PHASE_V_LS | P02.2 |
PHASE_W_HS | P02.1 |
PHASE_W_LS | P02.0 |
这些管脚和内部是如何配置连接的呢?主要是通过TOUTSELX寄存器来决定
根据GTM_TOUTSEL0寄存器可以选择TOUT0的输出,我们选择如下图标黄色所示
同理可以选择其他几个通道的配置,对应的软件是在IfxGtm_PinMap.c 如下图所示:
这个需要根据自己的硬件和使用的驱动选择,如果是使用DTM来实现三相桥的驱动信号那么配置值是不一样的。所以同样的管脚,选择不同的配置功能输出是不一样的。我的配置如下。
接口设计
PWM模块的对外接口设计很简单,只有一个初始化和一个更新占空比接口,故障信号可以放在故障模块。
初始化比较简单,调用iLLD的接口,主要配置模式,管脚映射,频率,输出模式等,因为驱动逆变器还需要触发ADC采样,所以在PWM初始化最后需要对ADC触发做一些配置,调用相应触发API接口。
另外一个比较重要的接口就是更新占空比接口,因为在做逆变器驱动电机控制中,需要每个控制周期更新PWN占空比,所以我们需要一个更新占空比接口提供给其他模块使用,输入参数为三路占空比。
这样我们调用初始化对GTM模块进行初始化后,默认输出50%占空比,定时调用更新占空比接口就可以实现PWM的占空比更新了。
测试
对我们的设计需要进行测试,可以看到频率为10kHz的上下互补输出PWM,满足设计要求。
总结
GTM模块比较负责,需要根据自己的应用选择不同的配置。
要多看数据手册的描述,尤其是对应子系列的手册。用那个模块看那个外设,需要仔细结合官方ilLD软件仪一起看,这样理解起来容易一些。