【学一点英飞凌】AutoSar-MACL-Gtm-TOM模块

系列文章目录

【英飞凌学习笔记】TC3XX系列GTM模块的基本组成


文章目录

  • 系列文章目录
  • 前言
  • 一、TOM模块是什么?
  • 二、TGC Sub-unit-Global Channel Control(全局控制寄存器)
    • 1、触发源
    • 2、触发方法
    • 3、注意要点
    • 4、TGC具体结构
  • 总结


【学一点英飞凌】AutoSar-MACL-Gtm-TOM模块_第1张图片

前言

提示:这里可以添加本文要记录的大概内容:
本文基于英飞凌TC3X7芯片手册,GTM的TOM模块是产生并输出PWM的地方,想要彻底了解PWM,就必须知道它是怎么产生和如何被输出的。


一、TOM模块是什么?

TOM------ TIME OUT Module 时间输出模块,不了解GTM的话,详见上面的系列文章;

  • 一个TOM有TOM_CH0—TOM_CH15 一共 16个独立的通道
  • 一路通道产生一个PWM信号
  • 采用16位的计时器服务每个通道
  • 拥有五个FX_CLK(固定时钟的时钟源)–分频比固定为1:16、1:256等
  • TOM的16个通道分为了两个Group,每组八个通道

【学一点英飞凌】AutoSar-MACL-Gtm-TOM模块_第2张图片

两个全局控制寄存器TGC0和TGC1,TGC0为TOM_CH0到TOM_CH7的控制寄存器,TGC1为TOM_CH8到TOM_CH15的控制寄存器
作用:TGC0和TGC1主要实现三个功能
同时控制八个通道的

  1. 使能和关闭
  2. 输出使能和关闭
  3. 寄存器的强制更新

二、TGC Sub-unit-Global Channel Control(全局控制寄存器)

1、触发源

前三个单独的机制(通道的启用/禁用、输出启用和强制更新)中的每一个都可以由三个不同的触发器源驱动。三个触发源是:

  • 1 、主机CPU(寄存器TOM[i]_TGC[y]_GLB_CTRL的HOST_TRIG位)
  • 2 、TBU时间戳(信号TBU_TS0, TBU_TS1, TBU_TS2-如果可用)
  • 3 、内部触发信号TRIG(一串触发信号TRIG_[x],既可以是通道x的触发器TRIG_CCU0,也可以是前面通道x-1的触发器(即信号TRIG_[x-1]),也可以是外部触发分配的TIM通道t的TIM_EXT_CAPTURE(t)。

2、触发方法

  • 第一种方法是通过主机CPU(寄存器TOM[i]_TGC[y]_GLB_CTRL的HOST_TRIG位)的直接寄存器写访问来触发控制机制。
  • 第二种方式由一个比较匹配触发器提供,该触发器代表来自模块TBU(由TBU_SEL位选择)和寄存器TOM[i]_TGC[y]_ACT_TB位字段ACT_TB中定义的时间戳比较值。注意,当x=0,1,2时,将执行ACT_TB与所选TBU_TS[x]的有符号比较。
  • 第三种可能是输入TRIG(一串触发信号TRIG_[x])来自TOM通道0到7 / 8到15。

3、注意要点

  • 来自通道[x]的相应触发信号TRIG_[x]可以被寄存器TOM[i]_TGC[y]_INT_TRIG.屏蔽.

  • 要启用或禁用每个单独的TOM通道,请使用寄存器TOM[i]_TGC[y]_ENDIS_CTRL和/或必须使用TOM[i]_TGC[y]_ENDIS_STAT

  • 寄存器TOM[i]_TGC[y]_ENDIS_STAT直接控制信号ENDIS。可以对这个寄存器进行写访问。

  • 如果三个触发条件之一匹配。寄存器TOM[i]_TGC[y]_ENDIS_CTRL是一个覆盖寄存器TOM[i]_TGC[y]_ENDIS_STAT值的影子寄存器。

4、TGC具体结构

【学一点英飞凌】AutoSar-MACL-Gtm-TOM模块_第3张图片

  • 可以使用寄存器TOM[i]_TGC[y]_OUTEN_CTRLTOM[i]_TGC[y]_OUTEN_STAT来控制单个TOM通道的输出。
  • 寄存器TOM[i]_TGC[y]_OUTEN_STAT直接控制信号OUTEN。可以对这个寄存器进行写访问。
  • 如果三个触发条件之一匹配。寄存器TOM[i]_TGC[y]_OUTEN_CTRL是一个覆盖寄存器TOM[i]_TGC[y]_OUTEN_STAT值的影子寄存器。
  • 如果TOM通道被寄存器TOM[i]_TGC[y]_OUTEN_STAT禁用,那么TOM_CH[x]_OUT处通道输出的实际值由通道控制寄存器(TOM[i]_CH[x]_CTRL)中定义的信号电平位(SL)定义;如果使能输出,TOM_CH[x]_OUT的输出取决于触发器的SOUR值
  • 寄存器TOM[i]_TGC[y]_FUPD_CTRL定义了 如果触发信号CTRL_TRIG被触发,哪个TOM通道会接收FORCE_UPDATE事件。
  • NOTE : 强制更新请求被存储并同步执行到所选的CMU_FXCLK。
  • 寄存器位UPEN_CTRL[z]定义了TOM为其传送工作寄存器CM0、CM1和的更新CLK_SRC通过对应的影子寄存器SR0、SR1和CLK_SRC_SR启用。如果启用更新,寄存器CM0、CM1和CLK_SRC将在计数器寄存器CN0重置时更新
  • 一个例外是SR0_TRIG=1的配置,它启用SR0定义的触发器生成。那么CM0就不会被SR0更新

总结

TOM通道还没有介绍的,详见下一篇;

你可能感兴趣的:(英飞凌学习笔记,【筑基】,AUTOSAR-MCAL入门,单片机,嵌入式硬件)