GTM之ATOM

本文详细介绍了ARU Connected Timer Output Module (ATOM) 的工作原理,包括其全球控制子单元、输出模式、比较器和信号输出单元。ATOM支持五种专用输出模式:SOMI、SOMC、SOMP、SOMS和SOMB。在SOMP PWM模式下,ATOM能够生成具有不同占空比和周期的复杂PWM信号,并且允许同步和异步地改变这些参数。配置PWM模式涉及设置CM0(周期)、CN0(相位)、CM1(占空比)和SL(电平属性)等寄存器。文章还提到了IfxGtm_Atom_Timer_init等配置函数的使用。

ARU-connected Timer Output Module (ATOM)

ATOM Global Control sub-unit (AGC)

Each ATOM sub-module contains eight output channels which can operate independently from each other in several configurable operation modes

 

### 配置 Infineon GTM ATOM1 生成 PWM 信号的步骤和寄存器设置 在 Infineon AURIX™ 系列微控制器中,GTM(General Purpose Timer Module)是一个高度灵活的定时器模块,其 ATOM(Advanced Timer Output Module)子模块可以用于生成高精度的 PWM 信号。配置 GTM ATOM1 生成 PWM 的过程涉及多个寄存器设置和模块初始化步骤。 #### 初始化 GTM 模块时钟 在配置任何 GTM 子模块之前,必须确保 GTM 模块的时钟已经启用。通常通过系统控制寄存器(SCU)或特定的时钟控制寄存器来完成。 ```c // 示例:启用 GTM 模块时钟(具体寄存器名称可能因芯片型号而异) SCU_CLK_GTM_CTRL |= GTM_CLOCK_ENABLE_BIT; ``` #### 配置 ATOM 通道为 PWM 模式 每个 ATOM 通道都可以独立配置为 PWM 输出模式。通过设置 ATOM_CHx_CTRL 寄存器中的模式选择位,可以将通道设置为 PWM 模式。 ```c // 设置 ATOM1 通道 0 为 PWM 模式(例如:操作模式为 0x2) GTM_ATOM1_CH0_CTRL |= (0x2 << ATOM_MODE_SHIFT); ``` #### 设置 PWM 周期和占空比 PWM 的周期和占空比由比较寄存器(CM0 和 CM1)控制。CM0 通常用于设置周期,而 CM1 用于设置占空比。在配置这些寄存器之前,建议先清空它们以避免输出瞬态干扰。 ```c // 清空比较寄存器 GTM_ATOM1_CH0_CM0 = 0; GTM_ATOM1_CH0_CM1 = 0; // 设置周期值和占空比 GTM_ATOM1_CH0_CM0 = period_value; // 设置周期 GTM_ATOM1_CH0_CM1 = duty_value; // 设置占空比 ``` 清空寄存器有助于避免在初始化过程中出现意外的输出脉冲[^1]。 #### 配置输出极性与触发源 可以通过 ATOM_CHx_SR0 和 SR1 寄存器来配置 PWM 输出的极性以及触发源。例如,可以设置在比较匹配时触发输出高电平或低电平。 ```c // 设置比较匹配时输出高电平 GTM_ATOM1_CH0_SR0 = (1 << SR0_ACTIVE_SHIFT); GTM_ATOM1_CH0_SR1 = (0 << SR1_ACTIVE_SHIFT); ``` #### 启动 ATOM 通道 最后,通过设置 ATOM_CHx_CTRL 中的启动位来激活通道,开始输出 PWM 信号。 ```c // 启动 ATOM1 通道 0 GTM_ATOM1_CH0_CTRL |= ATOM_START_BIT; ``` #### 注意事项 - 在配置过程中,某些模块可能会在配置期间瞬间改变输出状态,例如 ATOM 模块在写入比较寄存器时可能瞬间输出高电平。为了避免这种情况,可以在配置完成后才启用输出。 - 若使用影子寄存器功能(如支持),可先将新值写入影子寄存器,并在适当时机同步到主寄存器以避免输出突变。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

issta

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值