TOM模块的配置以及控制PWM的输出,以及TOM作为ADC模块的触发源,ADC采集到信号后通过DMA发送到寄存器

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

这里写的是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:参数配置函数内容

本文章已经生成可运行项目
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值