【Autosar】MCAL - GPT(NXP - S32K14x)

MCAL - GPT(NXP - S32K14x)

MCAL - 汇总

  • 配置工具:EB Tresos Studio
  • 芯片类型:S32K146

1. 概述

GPT模块 - 通用定时器,提供定时通知、定时唤醒功能。

1.1 定时器

S32K14x为GPT模块提供了4种定时源,一共38个通道。

定时源描述
LPIT低功耗中断定时器
FTM灵活定时器
LPTMR低功耗定时器
RTC实时时钟

1.2 时钟源

LPITFTMRTCLPTMR
SOSDIV2_CLKSOSDIV1_CLKLPO1_CLKSOSDIV2_CLK
SIRDIV2_CLKSIRDIV1_CLKRTC_CLKSIRDIV2_CLK
FIRCDIV2_CLKFIRCDIV1_CLKFIRCDIV2_CLK
SPLLDIV2_CLKSPLLDIV1_CLKSPLLDIV2_CLK

在MCU模块的外设时钟配置中选择设置。

在这里插入图片描述

1.3 工作原理

在这里插入图片描述
定时:

以LPIT为例,在LPIT每个通道都有TVAL(重装载值)和CVAL(计数值),TVAL就是我们设定的定时时间,当启动后,CVAL就是加载TVAL的值然后不断递减,当递减到0的时候触发超时中断,然后重新装在TVAL的值开始下一次计数。

2. API

API函数定义
Gpt_GetVersionInfo返回GPT驱动模块的版本信息
Gpt_Init初始化GPT驱动模块
Gpt_DeInit将GPT驱动模块回复至默认状态
Gpt_GetTimeElapsed返回已计时的时间
Gpt_GetTimeRemaining返回距离目标时间的剩余时间
Gpt_StartTimer打开GPT通道
Gpt_StopTimer关闭GPT通道
Gpt_EnableNotification使能事件通知
Gpt_DisableNotification关闭事件通知
Gpt_SetMode设置GPT驱动模块运行模式
Gpt_DisableWakeup关闭唤醒
Gpt_EnableWakeup打开唤醒
Gpt_CheckWakeup检查GPT通道是否为唤醒源

3. 配置介绍

3.1 General

3.1.1 GptConfigurationOfOptApiServices

使能API

在这里插入图片描述

3.2 GptChannelConfiguration

3.2.1 General

在这里插入图片描述

GptHwChannel:通道选择

GptChannelMode:模式选择(单次 / 连续),在触发中断的时候如果设置的为单次模式,则停止定时器

/*Stop the timer for one-shot mode*/
if (GPT_CH_MODE_ONESHOT == (*(Gpt_pConfig->Gpt_pChannelConfig))[channel].Gpt_eChannelMode)
{
    /*Stop channel*/
    Gpt_Ipw_StopTimer(&((*(Gpt_pConfig->Gpt_pChannelConfig))[channel].Gpt_HwChannelConfig));
    
    /* Change the channel status to expired */
    Gpt_aChannelInfo[channel].eChannelStatus = GPT_STATUS_EXPIRED;
}

GptChannelTickFrequency:频率(配置完GptChannelClkSrcRef后点击自动计算即可)

GptChannelClkSrcRef:时钟参考点

GptNotification:定时回调(用户自定义,定时中断触发后执行的回调函数)

#if (GPT_ENABLE_DISABLE_NOTIFICATION_API == STD_ON)
if ((GPT_MODE_NORMAL == Gpt_eMode) && ((boolean)TRUE == Gpt_aChannelInfo[channel].bNotificationEnabled))
{
    (*(Gpt_pConfig->Gpt_pChannelConfig))[channel].Gpt_pfNotification();
}
#endif

3.3 GptHwConfiguration

硬件中断使能

在这里插入图片描述

3.4 GptClockReferencePoint

时钟参考点关联

在这里插入图片描述


参考资料:

S32K-RM.pdf - NXP

AUTOSAR_MCAL_GPT_UM[1].pdf - NXP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值