这里写的是TIM模块的大体作用
TIM单元是GTM模块里面对输入信号进行采集、处理的单元。常用语发动机位置管理,采集曲轴、凸轮轴传感器信号,并产生相应的事件。今天我们来看看TIM的原理。
死区PWM就是防止整流桥与逆变桥同时导通,当其中一个桥导通的时候另一个桥不会导通,如果同时导通会导致电路短路,这就是死区PWM设计的原因。
TOM模块的配置
3个TOM单元
每个TOM单元有16个通道,也就是有48路pwm通道

如图2所示,需要关注的点有三处。
①触发源:触发源有两个,一个TIM单元捕捉到的外部信号,一个是上一个通道产生的触发信号。
②触发方式:触发其实就是影响了CCU0单元计数器CN0的复位方式,可选的复位方式有两种,一种是CN0>=CM0时产生复位;另一种是触发信号使CN0复位。我们这里选第二种。
③输出触发信号:图2中清楚的显示了三个可选的触发信号输出:一是来自输入端的TIM捕捉信号,二同样是来自输入端的上个通道的触发信号,三则是本通道CCU0的CN0复位信号。

PWM的产生分为两种方式
(1)如图3(左),通道0作为定时器和触发源,产生6路PWM信号输出。
(2)如图3(右),通道8作为定时器,两两触发,可以产生3组PWM信号。
第一步是使能GTM模块,配置TOM输入时钟;
TOM可以配置为两种不同的工作模式:连续模式和单次模式。
连续模式是一旦启动后,每次CN0和CM0匹配后溢出,CN0归零并重新开始计数。也就是说会产生连续的PWM波。
单次模式是启动后,CN0和CM0匹配后溢出,CN0不会自动归零。必须再次经过复位后才会归零并开始计数。也就是说这种模式**每次触发启动都只会产生一个脉冲。**就是每次CN0溢出后都需要对他进行重新复位才能进行下次操作
配置寄存器CLC.DISS=0使能GTM模块,对应ILLD中函数
IfxGtm_isEnabled(Ifx_GTM *gtm);
上一帖我们讲过CMU单元的基本结构,系统时钟经过CFGU(可配置时钟产生单元)分频得到8个基础时钟,接着其中之一进入FXU分频5个TOM输入时钟。时钟初始化函数如下:

图2:TOM时钟初始化
在CFGU单元,将系统时钟进行初始分频得到GCLK,我这里将该时钟设为最大100MHz;接着还是在CFGU单元,将GCLK分频得到8个基础时钟ECLK,这里我们选择CMU_CLK_0,将其配置为最大100MHz。当然这个频率可以更具实际情况来设置,例如设置为1MHz,那么需将frequency改成1000000,该参数的单位是Hz。
现在我们就得到了FXU单元的输入时钟CMU_CLK_0;接下来使能FXU单元,然后选择一个FXU单元的输出时钟作为TOM单元的时钟即可(在配置TOM时选择)。

图3;TOM初始化配置
我们按照ILLD做好的封装直接进行配置,我们需要配置的参数为TOM0的channel0产生周期为10ms,占空比为10%的PWM波,并且使能周期中断。首先来看看需要配置的参数:

图4:参数配置函数内容

本文围绕TC275的TOM模块展开,介绍了TIM单元作用,TOM模块配置、PWM产生方式及工作模式。详细说明了PWM波启停、周期和占空比更新的方法,还阐述了TOM模块在ADC模块中作为触发信号的应用,包括ADC单元初始化、中断配置及DMA初始化。

1600

被折叠的 条评论
为什么被折叠?



