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.总结

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

相关推荐
Stephen深瞳12 天前
工具:Autosar:DBC转ARXML
汽车·autosar·uds
天天爱吃肉821820 天前
新能源汽车电子架构革命:深度解析AUTOSAR标准与实践
架构·汽车·autosar
Suresoft China1 个月前
软件测试|FIT故障注入测试工具——ISO 26262合规下的智能汽车安全验证引擎
测试工具·autosar·功能安全·iso26262·故障注入测试
KaiGer6662 个月前
AUTOSAR图解==>AUTOSAR_SWS_ICUDriver
单片机·汽车·嵌入式·autosar
十六宿舍2 个月前
【MCAL】TC397+EB-tresos之I2c配置实战(同步、异步)
单片机·汽车·autosar·嵌入式开发·mcal·基础软件
ZeroOne电平浪客2 个月前
AUTOSAR_BSW_从入门到精通学习笔记系列_EcuM
笔记·mcu·学习·汽车·autosar·普华小满
KaiGer6662 个月前
AUTOSAR图解==>AUTOSAR_SWS_EFXLibrary
单片机·汽车·嵌入式·autosar
KaiGer6663 个月前
AUTOSAR图解==>AUTOSAR_SWS_GPTDriver
单片机·汽车·嵌入式·autosar
汽车电子工具智慧库3 个月前
汽车软件开发常用的建模工具汇总
汽车·autosar·建模软件·汽车ecu·autosar工具链
每天进步一点点️3 个月前
[ATS_IPv4_00372]组播地址不能用作源地址
autosar·capl