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

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

相关推荐
赞哥哥s3 天前
MISRA C2012学习笔记(9)-Rules 8.14
笔记·学习·autosar·misra c
老猿讲编程6 天前
AUTOSAR CP Ethernet State Manager(EthSM)规范的主要功能以及工作原理导读
autosar·ethsm
老猿讲编程7 天前
AUTOSAR CP 服务发现模块SD规范导读
服务发现·autosar
老猿讲编程18 天前
AUTOSAR 规范中的设计模式:传感器执行器模式
设计模式·autosar
老猿讲编程22 天前
AUTOSAR CP 中 BswM 模块功能与使用介绍(2/2)
autosar·车载软件
经纬恒润1 个月前
经纬恒润AUTOSAR成功适配芯钛科技Alioth TTA8车规级芯片
软件开发·autosar
车载诊断技术1 个月前
电子电气架构---符合ASPICE 4.0 之软件开发流程(SWE)
网络·人工智能·架构·汽车·软件工程·autosar
车载诊断技术1 个月前
电子电气架构---软件定义汽车,产业变革
网络·架构·汽车·软件工程·autosar·电子电器架构
汽车电子工具智慧库1 个月前
LSL常见应用场景及示例培训笔记<一>
汽车·autosar·lsl
十六宿舍1 个月前
【AUTOSAR 基础软件】PduR模块详解(通信路由)
单片机·汽车·autosar·嵌入式开发·车载·pdur·基础软件