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

轮询流程如下:

相关推荐
LONGZETECH2 天前
【龙泽科技】智能网联汽车视觉传感器仿真教学软件
科技·汽车
光子物联单片机2 天前
STM32G474单片机开发入门(一)STM32G474RET6单片机详解
stm32·单片机·嵌入式硬件·mcu
Demoncode_y2 天前
Vue3 + Three.js 实现 3D 汽车个性化定制及展示
前端·javascript·vue.js·3d·汽车·three.js
安当加密2 天前
CAS密钥管理系统在汽车行业的核心密钥管理实践——构建智能网联汽车的可信安全底座
网络·安全·汽车
计算机编程小央姐2 天前
大数据工程师认证项目:汽车之家数据分析系统,Hadoop分布式存储+Spark计算引擎
大数据·hadoop·分布式·数据分析·spark·汽车·课程设计
Archie_IT4 天前
嵌入式八股文篇——P1 关键字篇
c语言·开发语言·单片机·mcu·物联网·面试·职场和发展
范纹杉想快点毕业4 天前
ZYNQ7045芯片中UART实现RS422通信详解,50000字解析,C语言,嵌入式开发,软件开发
c语言·笔记·stm32·单片机·嵌入式硬件·mcu·fpga开发
MOS管-冠华伟业5 天前
微硕WST8205A双N沟MOSFET,汽车阅读灯静音负载开关
汽车
LONGZETECH5 天前
【龙泽科技】智能网联汽车智能传感器测试装调仿真教学软件
科技·汽车
LabVIEW开发5 天前
LabVIEW与PLC 汽车驻车制动自动调整
汽车·labview·labview知识·labview功能·labview程序