AUTOSAR Mcal Gpt - 模块介绍

文章目录

  • [1. 模块简介](#1. 模块简介)
  • [3. API接口](#3. API接口)
  • [4. 功能介绍](#4. 功能介绍)
    • [4.1. 驱动状态机](#4.1. 驱动状态机)
    • [4.2. Normal定时器](#4.2. Normal定时器)
      • [4.2.1. Channel状态机](#4.2.1. Channel状态机)
      • [4.2.2. 定时模式](#4.2.2. 定时模式)
      • [4.2.3. 已启动时间和待溢出时间获取](#4.2.3. 已启动时间和待溢出时间获取)
    • [4.3. 预定义定时器](#4.3. 预定义定时器)
  • [5. 序列图](#5. 序列图)
    • [5.1. Continues Mode](#5.1. Continues Mode)
    • [5.2. One-Shot Mode](#5.2. One-Shot Mode)
    • [5.3. Disable/Enable Notifications](#5.3. Disable/Enable Notifications)
    • [5.4. Wakeup](#5.4. Wakeup)

1. 模块简介

GPT驱动位于微控制器抽象层(MCAL)。该驱动负责初始化和控制微控制器内部的通用定时器(GTM的TOM/ATOM 或GTP12)。

3.2.主要功能

  • 支持启动/停止硬件定时器,支持单次(One-Shot)和连续(Continuous)两种模式
  • 支持使能/禁止通道中断通知;
  • 支持使能/禁止唤醒中断
  • 支持1us和100us预定义定时器,用于时间服务模块,也可用于时间测量、超时检测等
  • 支持获取定时器启动时间(Gpt_GetTimeElapsed)和待溢出时间(Gpt_GetTimeRemaining)
  • 支持中断通知,定时器溢出后触发回调函数
  • 支持定时器唤醒功能,用于ECU从低功耗模式恢复

3. API接口

4. 功能介绍

4.1. 驱动状态机

主要关注Normal和Sleep两个核心状态,Gpt模块的基本功能,比如单次 or 连续触发定时中断,预定义定时器等功能均需要在Normal模式下才能使用。Sleep模式需配合EcuM模块进行使用,实现最终系统级的唤醒功能。

4.2. Normal定时器

4.2.1. Channel状态机

4.2.2. 定时模式

对于Normal类型的定时器支持One-Shot或Continue两种模式。可通过Gpt_StartTimer和Gpt_StopTimer启动或停止定时器。

One-Shot模式下,计数到溢出值后,自动停止定时器,并保持计数值不变,通过Gpt_StartTimer启动定时器,定时器切换到running状态,并从0开始计数,溢出后,切换到expired状态,若使能通知,则触发中断函数并调用对应定时器的回调函数。

Continue模式下,启动后,定时器按Gpt_StartTimer设置的溢出值周期计数, 直到调用Gpt_StopTimer停止计数器或GTP切换到SLEEP模式。

4.2.3. 已启动时间和待溢出时间获取

GTP提供Gpt_GetTimeElapsed、Gpt_GetTimeRemaining两个接口用于Normal定时器指定时间和待溢出时间。

Gpt_GetTimeElapsed在不同通道状态下的返回值和开发错误如下:

Gpt_GetTimeRemaining在不同通道状态下的返回值和开发错误如下:

4.3. 预定义定时器

Gpt支持根据分辨率和定时器宽度分为四类预定义定时器,具体如下:

5. 序列图

Normal定时器具体模式、相应接口(不含预定义定时器)具体使用示例如下:

5.1. Continues Mode

5.2. One-Shot Mode

5.3. Disable/Enable Notifications

5.4. Wakeup

实际配合EcuM模块进行使用,在EcuM中提供中断和轮询两种方式进行处理,中断方式如下:

轮询流程如下:

相关推荐
Dotrust东信创智12 小时前
PREEvision S2S方案破解汽车SOA转型难题
汽车
云飞云共享云桌面17 小时前
SolidWorks—天津智能装备工厂1台高配主机共享给10个研发用
运维·服务器·自动化·汽车·制造
亿道电子Emdoor19 小时前
【Arm】MSP和PSP的区别简介
c语言·arm开发·单片机·mcu
国产HT1621B19 小时前
YL1650 LED驱动芯片详解:从原理到实战应用(附51单片机驱动代码)
stm32·单片机·嵌入式硬件·mcu·fpga开发·lcd驱动
李永奉1 天前
中科蓝讯SDK开发-开启串口Debug打印调试教程
单片机·嵌入式硬件·mcu·物联网·电脑
威联通安全存储1 天前
TS-h1887XU-RP在汽车发动机热试与NVH在线质检网中的部署
python·汽车
总线通信小百科1 天前
汽车零部件LIN总线测试三大痛点
经验分享·自动驾驶·汽车·数据处理
汽车网络安全爱好者2 天前
Public Key Infrastructure(二)— 深入理解 X.509 证书:从 RFC 5280 到 OpenSSL 实践
运维·服务器·算法·网络安全·汽车·密码学·可信计算技术
a1117762 天前
汽车3D配置器 THreeJS 开源项目
前端·3d·html·汽车
sramdram2 天前
基于MCU微控制器的冰箱压缩机系统解决方案
单片机·嵌入式硬件·mcu·mcu微控制器