【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

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AutoSARAutomotive Open System Architecture)是一种开放式的汽车电子系统架构标准,用于汽车电子控制单元(ECU)软件开发和架构。AutoSAR Update-Bits是AutoSAR架构中用于更新ECU软件的概念。 AutoSAR Update-Bits主要用于在现有的ECU中对软件进行更新和修改。它允许汽车制造商或ECU供应商通过向ECU发送更新数据包来提供新的功能、修复错误或改进现有的软件。这些更新数据包通过AutoSAR Update-Bits的通信机制传输到ECU,并被ECU上的更新管理模块接收和解析。 AutoSAR Update-Bits的更新过程包括以下步骤: 1. 更新数据包准备:汽车制造商或ECU供应商准备包含更新的数据包,并使用AutoSAR的标准规范对其进行打包和编码。 2. 更新数据包传输:更新数据包通过车辆网络,如CAN(Controller Area Network)或FlexRay,传输到目标ECU。 3. 更新管理模块接收:目标ECU上的更新管理模块接收并验证更新数据包的完整性和正确性。 4. 更新数据包解析:更新管理模块将更新数据包解析为可执行代码,并将其存储在ECU的闪存中。 5. 系统重启:ECU完成更新后,它可能需要进行系统重启以使更新生效。 通过使用AutoSAR Update-Bits,汽车制造商和ECU供应商可以在车辆的整个生命周期中对软件进行更新和改进,而无需更换整个ECU。这不仅提供了更灵活和可持续的软件开发和维护方式,还可以显著降低生产成本和减少故障修复时间。 总之,AutoSAR Update-Bits是AutoSAR架构中用于更新ECU软件的机制,它使汽车制造商和ECU供应商能够通过传输和解析更新数据包来增强车辆的功能和安全性,提高软件的可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值