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中提供中断和轮询两种方式进行处理,中断方式如下:

轮询流程如下:

相关推荐
唐丙斯城1 天前
新能源汽车热管理仿真:蒙特卡洛助力神经网络训练
人工智能·神经网络·汽车
伴杯猫2 天前
【ESP32-IDF】高级外设开发3:I2S
c语言·单片机·嵌入式硬件·mcu·物联网·esp32·esp-idf
MYZR12 天前
车载中控:汽车的数字大脑与交互核心
汽车·核心板·ssd2351
格林威2 天前
Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型和EasyOCR实现汽车牌照动态检测和识别(C#代码,UI界面版)
人工智能·深度学习·数码相机·yolo·c#·汽车·视觉检测
网易独家音乐人Mike Zhou2 天前
【Python】圆柱体内部3D点云仿真及ply文件生成,圆形3D点云检测及拟合算法
stm32·单片机·mcu·物联网·算法·点云·iot
猫猫的小茶馆2 天前
【STM32】HAL库中的实现(九):SPI(串行外设接口)
stm32·单片机·嵌入式硬件·mcu·物联网·51单片机·智能硬件
Teamhelper_AR3 天前
AR技术:重塑汽车制造的未来
汽车·ar·制造
古译汉书4 天前
嵌入式-SPI番外之按钮驱动程序的编写-Day15
c语言·stm32·单片机·嵌入式硬件·mcu·算法
白帽小野4 天前
微控制器的工作原理和应用
mcu·嵌入式系统·微控制器
3DVisionary4 天前
工业级蓝光三维扫描仪:助力汽车零部件高精度检测与质量提升
汽车·智能手表·汽车零部件检测·蓝光三维扫描技术·高精度测量·质量控制与优化·智能制造解决方案