【MCAL】CCFC3008PC-EB配置之TIM

一、TIM概述

TIM模块负责过滤和捕获GTM信号。输入信号的几种特征能被在TIM通道内测量。输入信号的特征包括:输入上升沿和下降沿时间戳的值、接收的边沿数量、PWM的周期和占空比。

1.1、概述

1.1.1、输入源选择

寄存器TIM[i]_IN_SRC TIM[i]_CH[x]_CTRL.CICTRL and TIM[i]IN_SRC.MODE[x] , TIM[i]IN_SRC.VAL[x] 决定了哪个输入源被使用。

F_IN[x:x]可以通过8位的查找表生成,可以定义3个输入源的任何功能。

如果TIM[i]_CH[x]_ECTRL.USE_LUT=0b00,绕过查找表信号生成,信号进行如下选择:

在某一时刻,TIM[i]IN_SRC。MODE[x], TIM[i]_IN_SRC。输入信号F_IN [x:x]可以由TIM[i] in_src.VAL[x][1:1]驱动直接使用0或1。

由于所有8个通道都捆绑在寄存器TIM[i]_IN_SRC中,因此所有8个输入通道的同步控制是可能的。

两个相邻通道可以通过设置TIM[i]_CH[x]_CTRL.CICTRL位域进行组合。这允许组合复杂的测量一个输入信号与两个TIM通道。

1.1.2、输入监视

它可以监视一个实例的所有通道通过一下步骤读取TIM[i]_INP_VAL 的实际值:

TIM输入同步后的TIM_IN [7:0]信号;TIM INPUTSRC选择后的F_IN [7:0];TIM滤波功能后的F_OUT[7:0]信号

1.1.3、外部捕获源选择

每个通道可以操作一个外部的捕获信号TIM_EXT_CAPTURE 通过TIM[i]_CH[x]_ECTRL.EXT_CAP_SRC **,**可以配置源使用信号。

被选择输入的信号的每个上升沿都会产生一个脉冲,这些脉冲能被选择和使用为TIM_EXT_CAPTURE[x:x]信号。

或者,可以选择在TDU中生成的事件TDU_SAMPLE_EVT [x:x]、TDU_WORD_EVT [x:x]、TDU_FRAME_EVT [x:x]中的一个。

此外,可以选择通道x+1的六个中断源中的一个。或者,它们也可以通过使用寄存器TIM[i]_CH[x+1]_IRQ_FORCINT中的相应位的软触发来发出。

1.2、TIM过滤功能

1.2.1、概述

TIM子模块为每个输入信号提供一个可配置过滤机制。这些过滤机制在FLT子单元里面。FLT子单元包括时钟同步单元 (CSU) 、边缘检测单元 (EDU) 、与过滤单元连接的过滤计数器 (FLTU)

上升沿和下降沿的过滤参数(去毛刺和接收时间)通过TIM[i]_CH[x]_FLT_RE(上升沿)和TIM[i]_CH[x]_FLT_FE(下降沿)进行配置。

1.2.2、TIM滤波模式

一、即时边缘传播模式

在检测到边缘后,延迟TFLT_CLK_RES时间后新信号F_IN_SYNC的电平传播到F_OUT,并且新信号电平不会改变直到接收时间超时。

在接收时间内,在F_IN_SYNC 上的信号改变对于输出电平没有影响,除非设置TIM[i]_CH[x]_IRQ_NOTIFY.GLITCHDET

接收时间超时后,输入信号被检测到,并且信号电平的改变会产生新的检测边沿,并且新的信号电平被传播到F_OUT。

二、独立消抖时间模式(上/下计数)

输入信号通过独立消抖阈值滤波值滤波,滤波寄存器FLT_CNT被增加当信号电平F_IN_SYNC不等于F_OUT,并且如果相等就递减。当FLT_CNT在递减过程中达到零值后,计数器立即停止。

三、独立消抖时间模式(保持计数)

输入信号通过独立消抖阈值滤波值滤波,滤波寄存器FLT_CNT被增加当信号电平F_IN_SYNC不等于F_OUT,并且如果相等就保持。当FLT_CNT在递减过程中达到零值后,计数器立即停止。

四、独立消抖时间模式(复位计数)
五、即时边缘传播和独立消抖模式(复位计数)

如果输入信号的下降沿在测量上升沿的接受时间期间已经发生,则测量下降沿的消抖时间是延迟开始的,但在上升沿的接受时间测量阶段之后立即开始已经完成了。

1.3、超时检测单元(TDU)

TDU是为TIM输入信号进行超时检测。每个TIM子模块都有自己的TDU。

二、EB配置

2.1、IcuGeneral

2.2、IcuOptionalApis

2.3、IcuConfigSet

我们选择3个ICU通道。唤醒引脚的选择PS0,输入的是NMI(不可屏蔽中断)。

2.3.1、IcuChannel

IcuChannelId:通道ID

IcuHwIP:硬件模块。选项为GTM、EMIO、CCU7、WAKEUP。选择GTM

IcuDefaultStartEdge:默认启动边沿。选择ICU_RISING_EDGE

IcuMeasurementMode:测量模式。选择ICU_MODE_SIGNAL_MEASUREMENT。

IcuGtmModule:GTM模块,选择GTM_TIM0

IcuGtmChannel:选择GTM_TIM_CH0、GTM_TIM_CH1、GTM_TIM_CH6

TBU Channel used for ICU_TIMESTAMP:ICU时间戳,选择TBU_TS0

TBU Channel 0 bits used for ICU_TIMESTAMP:0位时间戳,选择TBU_TS0_23_0。

ICU测量属性是测量占空比

2.4、PortContainer

三、工程测试

3.1、代码添加

3.2、测试结果

TIM0_6

TIM0_1

TIM0_0

TIM1_0

相关推荐
无畏jh3 天前
AutoSar架构学习-OS模块
汽车嵌入式·汽车autosar
无畏jh5 天前
【MCAL】CCFC3008PC-EB配置之SPI
mcal·汽车嵌入式·汽车autosar
无畏jh8 天前
【MCAL】CCFC3008PC-EB配置之MCU时钟
mcal·汽车嵌入式·汽车autosar
无畏jh9 天前
【MCAL】CCFC3008PC-EB配置之PWM
mcal·汽车嵌入式·汽车autosar
IAR爱亚系统9 天前
在IAR Embedded Workbench for Renesas RH850中开发和调试Renesas RH850 MCU
嵌入式·嵌入式软件开发·iar·汽车嵌入式
IAR爱亚系统9 天前
IAR云就绪平台实现对瑞萨RH850/U2x的全系列支持,赋能新一代汽车电子开发
嵌入式软件开发·iar·汽车嵌入式
旅行的橘子汽水2 个月前
【S32K3XX系列MCAL配置-第一节开发环境搭建】
autosar·mcal
十六宿舍7 个月前
【MCAL】TC397+EB-tresos之I2c配置实战(同步、异步)
单片机·汽车·autosar·嵌入式开发·mcal·基础软件
十六宿舍2 年前
【MCAL】TC397+EB-tresos之GPT配置实战 - 定时器
单片机·汽车·定时器·autosar·嵌入式开发·mcal