AURIX TC3XX系列之GTM ATOM模块

1. ATOM模块介绍    

        ATOM(ARU-connected Timer Output Module)是一种与ARU单元相连接的定时器输出模块,可以通过ARU(无需CPU)与GTM中MCS、DPLL或PSM子模块连接,产生复杂的PWM波。

AURIX TC3XX系列之GTM ATOM模块_第1张图片 ATOM框图

        GTM共有8个ATOM,每个ATOM有8个通道,全局控制单元AGC控制着8个通道。

        与TOM的主要差异:

        1. ATOM通过ACI与ARU连接,能与其他模块连接产生复杂的PWM波;

        2. 每个TOM有16个通道,TGC0控制通道0-7,TGC1控制通道8-15,TGC功能与AGC相似;

        3. ATOM模块所需的工作时钟从CMU模块中生成的8个配置时钟CMU_CLK0-7中选择,如果使用时间戳,选择TBU模块生成的TBU0-2中的一个。

2. 全局控制单元AGC

        全局控制单元AGC(ATOM Global Control)有三个机制:通道禁止与使能;输出使能;强制更新。由三个触发源驱动:

        1. CPU(bit HOST_TRIG of register ATOM[i]_AGC_GLB_CTRL);

        2. TBU时间戳(TBU_TS0…2);

        3. 内部触发信号(自身通道触发的TRIG_CCU0或前一个通道的触发信号TRIG_[x-1])或者外部TIM触发信号TIM_EXT_CAPTURE(x)(在GTM寄存器EXTTRIGOUT配置)。

AURIX TC3XX系列之GTM ATOM模块_第2张图片 AGC框图

        通道的输出由寄存器ATOM[i]_AGC_OUTEN_CTRL 和ATOM[i]_AGC_OUTEN_STAT控制,ATOM[i]_AGC_OUTEN_STAT直接控制OUTEN信号,ATOM[i]_AGC_OUTEN_CTRL 是ATOM[i]_AGC_OUTEN_STAT影子寄存器,当三个触发源其中一个条件满足时,影子寄存器覆盖ATOM[i]_AGC_OUTEN_STAT的值,当设置寄存器ATOM[i]_AGC_OUTEN_STAT禁止使能通道时,实际的通道输出ATOM_CH[x]_OUT由信号等级bit(SL)决定(即输出常高或常低)。

        寄存器ATOM[i]_AGC_FUPD_CTRL定义如果触发信号CTRL_TRIG被触发,接收FORCE_UPDATE事件。在SOMP模式下,强制更新请求被存储并同步执行到所选的CMU_CLK。在所有其他模式中,强制更新请求立即执行。寄存器位UPEN_CTRL[x]定义了可以通过相应的影子寄存器SR0、SR1和CLK_SRC_SR来更新工作寄存器CM0、CM1和CLK_SRC。如果启用了更新,寄存器CM0、CM1和CLK_SRC将在计数器寄存器CN0复位时更新。

3. 通道模式

        1. 立即输出模式SOMI(Signal Output Mode Immediate):ATOM通道根据通过ACBI位字段接收到的ARU字的两个信号电平输出位,在接收到ARU字后立即生成输出信号。由于ARU目的信道是按轮询顺序服务的,因此在这种模式下输出信号会随着ARU往返时间的抖动而抖动。

        2. 比较输出模式SOMC(Signal Output Mode Compare),ATOM通道代表位于ATOM操作寄存器中的时间戳生成一个输出信号。将这些时间戳与TBU生成的时间戳进行比较。ATOM能够通过CPU或通过ARU接收新的时间戳。新的时间戳直接加载到通道操作寄存器中。当通道操作寄存器发生比较匹配时,影子寄存器用作两个时间基值的捕获寄存器。

        3. PWM输出模式SOMP(Signal Output Mode PWM),ATOM通道能够通过将其操作寄存器与子模块内部计数器进行比较,生成简单和复杂的PWM输出信号。

        4. 串行输出模式SOMS(Signal Output Mode Serial),ATOM通道代表移位寄存器生成串行输出位流。移位的位数和移位方向是可配置的。移位频率由CMU_CLKx时钟信号之一决定。

        5. 缓冲比较输出模式SOMB(Signal Output Buffered Compare),ATOM通道代表位于ATOM操作寄存器中的时间戳生成输出信号。将这些时间戳与TBU生成的时间戳进行比较。ATOM能够通过CPU或通过ARU接收新的比较值。通过ARU接收到的新比较值首先存储在影子寄存器中,只有当之前的比较匹配发生时,操作寄存器才会用影子寄存器的内容更新。

4. 通道结构

AURIX TC3XX系列之GTM ATOM模块_第3张图片 ATOM通道结构框图

        每个单独的ATOM通道由一个包含计数器寄存器CN0周期寄存器CM0的计数器比较单元CCU0,一个包含占空比寄存器CM1的计数器比较单元CCU1和包含输出寄存器SOUR的信号输出生成单元SOU,和包含影子寄存器SR0,SR1的ARU通讯接口ACI组成。当CN0的计数器值等于比较值CM0时重置计数器寄存器CN0时,将产生TRIG CCU0信号传输到 SOU模块中,其中CM0的值通常被设置为PWM的周期。该寄存器比较事件也可以作为一个内部触发信号RST CCU0,用来触发下一个ATOM通道,此功能常用来产生中心对称的PWM。当CN0等于或者大于CM1时,则会产生信号TRIG_CCU1,传输置SOU单元,SOU单元负责采集CCU0和CCU1的触发信号,产生PWM波。

        与TOM的主要差异:

        1. CM0、CM1、CN0、SR0、SR1都是24位(TOM16位),提高了计算精度;

        2. 增加了ACI。

5. PWM输出模式

        PWM输出模式可以用来产生复杂的PWM波形,在工程应用中用的较多。占空比能够同步或者异步更新。

5.1 占空比更新方式

5.1.1 同步更新

AURIX TC3XX系列之GTM ATOM模块_第4张图片 占空比同步更新

        通过影子寄存器给CM0,CM1赋值方式下,无论什么情况下,波形输出的占空比在下一个周期开始更新。

5.1.2 异步更新

AURIX TC3XX系列之GTM ATOM模块_第5张图片
占空比异步更新

        直接给CM1赋值:当CN0小于CM1时,赋值无论CM1多少,都会在本周期更新输出的占空比;当CN0大于CM1时,占空比要在下个周期开始更新。

        备注:在工程应用中,为了保证输出的波形达到预期,一般使用同步更新方式,即使用影子寄存器赋值。当需要防止上下桥直通,防止窄脉冲这种情况时,可以利用异步更新方式。

5.2 CN0计数模式

5.2.1 向上计数

AURIX TC3XX系列之GTM ATOM模块_第6张图片 向上计数

        向上计数方式的PWM输出波形如上图,SL定义了通道极性,当CN0等于CM0(实际CM0-1)或者当前个通道触发信号TRIG_[x-1]产生或者外部TIM捕捉触发信号TIM_EXT_CAPTURE(x)产生,CN0复位。前面说过,当CN0复位配置为来自前个通道,可用于产生中心对称波形。

         当CN0复位配置为来自自身CCU0单元(即CN0>=CM0-1):

  • CN0计数为0到CM0-1,然后复位置0;
  • 当CN0计数达到CM0-1复位,边沿到SL产生(SL=0:下降沿,SL=1:上升沿);
  • 当CN0>CM1,边沿置!SL产生;
  • 如果CM0 = 0或者1,CN0是常量0,不计数;
  • 如果CM1=0,输出是!SL即0%占空比;
  • 如果CM1>CM0并且CM0>1,输出是SL即100%占空比。

         当CN0复位配置为来自前个通道触发信号]或者外部TIM捕捉触发信号:

  • CN0计数为0到MAX-1,然后复位置0;
  • CM0定义边沿到SL,CM1定义边沿到!SL;
  • 当CM0=CM1,如果CN0=CM0=CM1,输出切换到SL(CM0优先级更高);
  • 如果CM0 = 0并且CM1=MAX,输出是SL即100%占空比;
  • 如果CM0>MAX,输出是!SL即0%占空比,与CM1无关。

5.2.2 向上向下计数 

AURIX TC3XX系列之GTM ATOM模块_第7张图片 向上向下计数

        向上向下计数方式的PWM输出波形如上图,SL定义了通道极性,当CN0等于CM0(实际CM0-1)或者当前个通道触发信号TRIG_[x-1]产生或者外部TIM捕捉触发信号TIM_EXT_CAPTURE(x)产生,CN0方向改变。 

        当CN0复位配置为来自自身CCU0单元(即CN0>=CM0-1):

  • CN0计数为0增加到CM0-1,然后减至0;
  • 当CN0>CM1,输出至SL;
  • 如果CM1 = 0,输出是SL即100%占空比;
  • 如果CM1>=CM0,!SL即0%占空比。
  • AURIX TC3XX系列之GTM ATOM模块_第8张图片 复位来自前个通道或者TIM捕获

        当CN0复位配置为来自前个通道触发信号]或者外部TIM捕捉触发信号:

  • CN0首先连续增加计数,到达触发信号,计数器切换到递减模式,如果CN0减到0,则再次计数;
  • 如果CN0>= CM1,则输出置为SL;
  • 如果CM1=0,则输出为SL(即100%占空比);
  • 如果CM1>=CM1,则输出为SL(即0%占空比)。
  • 建议: 触发通道和被触发通道均为上下模式;同步触发通道和被触发通道的启动(即让两个通道都以CN0值0启动)。

备注:TC2XX系列芯片没有向上向下计数模式。 

你可能感兴趣的:(AURIX,TC3XX,汽车,mcu)