AutosarMCAL开发——基于EB Gpt驱动

目录

1.Gpt原理

autosar GPT模块(General Purpose Timer,通用定时器)主要用于汽车ECU中的时间测量、计数和产生定时中断。它支持单次性和周期性定时器,可以在达到预设的定时值时通过中断通知系统,从而实现对时间敏感任务的精确控制。GPT模块利用微处理器的时钟单元提供精准的定时时钟功能,通常可达到微秒级到毫秒级的精度。

注意区分GPT与GPT12关系,GPT为autosar抽象的通用定时器,Gpt12为英飞凌MCU的一个外设与GTM、CCU类似作用,GPT配置中可以选择硬件单元使用GTM还是GPT12.

硬件模块(Tc3xx GPT12)

其中该模块共有5个16bit的定时器(T2~T6)分组为GPT1(T3-T4)和GPT2(T5-T6)
GPT1与GPT2区别

GPT1架构如下

其中T3为核心定时器T2与T4为辅助定时器

GPT2架构如下

其中fgpt为Mcu输出至GPT12模块的时钟,SRx为中断指定了对应中断号,所有在Irq模块中需配置对应中断号
GPT工作方式



除上述四种模式外还有Reload模式capture模式PWM模式等应用,详情参考TC3xx用户手册,另外GPT1与GPT2关于定时器组合应用的方式也有所不同也在用户手册中有详细描述;

以下为One-Shot模式与continuous对于Gpt1与Gpt2的实现区别:

  • 使用GPT1块实现连续模式逻辑通道需要两个定时器,核心定时器T3和一个辅助定时器(T2或T4),使用GPT2块实现连续模式逻辑通道只需要T6(使用CAPREL寄存器作为重新加载寄存器),即使用Gpt1\2的reload工作方式实现GPT连续通道
  • 实现单次模式逻辑通道只需要gpt1或gpt2块中的一个定时器。

2.EB配置以及接口应用

2.1 EB配置

使用GPT12作为GPT模块的硬件单元

配置步骤:

1.时钟配置

2.GPT 通用配置

  1. GPT通道配置

  2. GPT时钟配置参考配置项

  3. Irq配置

  4. GPT12资源分配

1.时钟配置

GPT12模块时钟的配置顺序是:SPB时钟------GPT12分频------GptTimer通道分频

GPT模块并无单独设置时钟频率的选项,由于大部分外设都是挂载值SPB总线上的,故输入GPT的时钟参考SPB时钟。
AutosarMCAL开发------基于TC3x系列时钟系统浅析

这里的最大指的是分频后的时钟频率

实际上GPT12的分频系数是有一个块分频BPS1和独立分频TxI共同决定的,公式为F(BPS1)*2^TxI 其中F(BPS1)标识BPS1不同的配置代表不同块分频,x为Timer id,EB在这里的通道分频只设置了一个参数,推测底层应该是做了处理,直接按配置计算也是能得到正常结果的。

时钟计算:当前配置GPT12中T2时钟=100M/32 = 3.125M

2.GPT 通用配置

  1. GPT通道配置

  2. GPT时钟配置参考配置项

链接至MCU时钟源配置

  1. GPT12资源分配

使用GTM作为GPT模块的硬件单元

1.配置时钟

2.GPT 通用配置

3.GPT通道配置

4.GPT时钟配置参考配置项

1.配置时钟

GTM配置时钟步骤:GTM时钟------Cluster0分频------CMU分频


2.GPT 通用配置

同上

3.GPT通道配置

选取GTM作为GPT硬件实现

进行模块链接

4.GPT时钟配置参考配置项

同上

2.2 接口应用

1.IrqGpt_Init();//IrqGtm_Init(); Irq初始化

  1. Gpt_Init(&Gpt_Config);//初始化Gpt

2.SRC_GPT120T3.B.SRE = 1;// SRC_GTMTOM00.B.SRE = 1; 中断使能

  1. Gpt_EnableNotification();//开启中断通知函数

4.Gpt_StartTimer();//启动Gpt定时器

接口名 传入参数 说明 返回参数 说明 功能
IrqGpt_Init() Void - void - 初始化Gpt中断配置
IrqGtm_Init() Void - void - 初始化Gpt中断配置
Gpt_EnableNotification() uint8 Channel Gpt通道 void - 使能通知函数
Gpt_StartTimer() uint8 Channel;uint32 value Gpt通道;设定计数值 void - 设定通道计数值并启动定时器通道

3.总结

本文为博主个人学习总结记录,如有不正,欢迎指正

相关推荐
正午游巳4 天前
第二十节:MCAL GPT理论
汽车·嵌入式·autosar·车载嵌入式
正午游巳5 天前
第二十一节:MCAL GPT实操
汽车·autosar·汽车电子·车载嵌入式
酷酷的boy6 天前
AUTOSAR下网络时间(CAN)与本地 RTC 同步。
autosar·汽车电子
AUTOSAR组织22 天前
AUTOSAR CP NvM 模块解析
汽车·autosar·软件架构·软件·标准
赞哥哥s25 天前
2025年终总结简版
autosar
汽车软件工程师0011 个月前
ChatGpt指导嵌入式软件开发能力——2、TriCore深度专项训练
人工智能·chatgpt·autosar
汽车软件工程师0011 个月前
ChatGpt指导嵌入式软件开发能力
人工智能·chatgpt·autosar
汽车软件工程师0011 个月前
vector autosar,CAN 总线上能看到报文RTE 收不到信号COM 层 IPDU Callout 不触发
autosar
汽车软件工程师0011 个月前
vector autosar配置一个CAN接收报文,RTE层发现并未接收到信号,怎样查这个问题
开发语言·autosar
Dotrust东信创智1 个月前
汽车安全通信的行业标准密码-E2E
e2e·autosar·preevision