AutosarMCAL开发——基于EB Gpt驱动

news2024/11/13 15:28:32

目录

  • 1.Gpt原理
  • 2.EB配置以及接口应用
    • 2.1 EB配置
    • 2.2 接口应用
  • 3.总结

1.Gpt原理

autosar GPT模块(General Purpose Timer,通用定时器)主要用于汽车ECU中的时间测量、计数和产生定时中断。它支持单次性和周期性定时器,可以在达到预设的定时值时通过中断通知系统,从而实现对时间敏感任务的精确控制。GPT模块利用微处理器的时钟单元提供精准的定时时钟功能,通常可达到微秒级到毫秒级的精度。

注意区分GPT与GPT12关系,GPT为autosar抽象的通用定时器,Gpt12为英飞凌MCU的一个外设与GTM、CCU类似作用,GPT配置中可以选择硬件单元使用GTM还是GPT12.

硬件模块(Tc3xx GPT12)
在这里插入图片描述
其中该模块共有5个16bit的定时器(T2~T6)分组为GPT1(T3-T4)和GPT2(T5-T6)
GPT1与GPT2区别
在这里插入图片描述
GPT1架构如下
在这里插入图片描述
其中T3为核心定时器T2与T4为辅助定时器
GPT2架构如下
在这里插入图片描述
其中fgpt为Gtm输出至GPT12模块的时钟,SRx为中断指定了对应中断号,所有在Irq模块中需配置对应中断号
GPT工作方式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
除上述四种模式外还有Reload模式capture模式PWM模式等应用,详情参考TC3xx用户手册,另外GPT1与GPT2关于定时器组合应用的方式也有所不同也在用户手册中有详细描述;

以下为One-Shot模式与continuous对于Gpt1与Gpt2的实现区别:

  • 使用GPT1块实现连续模式逻辑通道需要两个定时器,核心定时器T3和一个辅助定时器(T2或T4),使用GPT2块实现连续模式逻辑通道只需要T6(使用CAPREL寄存器作为重新加载寄存器),即使用Gpt1\2的reload工作方式实现GPT连续通道
  • 实现单次模式逻辑通道只需要gpt1或gpt2块中的一个定时器。

2.EB配置以及接口应用

2.1 EB配置

使用GPT12作为GPT模块的硬件单元
配置步骤:
1.时钟配置
2.GPT 通用配置
3. GPT通道配置
4. GPT时钟配置参考配置项
5. Irq配置
6. GPT12资源分配

1.时钟配置
GPT12模块时钟的配置顺序是:SPB时钟——GPT12分频——GptTimer通道分频
GPT模块并无单独设置时钟频率的选项,由于大部分外设都是挂载值SPB总线上的,故输入GPT的时钟参考SPB时钟。
AutosarMCAL开发——基于TC3x系列时钟系统浅析
在这里插入图片描述

在这里插入图片描述
这里的最大指的是分频后的时钟频率
在这里插入图片描述

实际上GPT12的分频系数是有一个块分频BPS1和独立分频TxI共同决定的,公式为F(BPS1)*2^TxI 其中F(BPS1)标识BPS1不同的配置代表不同块分频,x为Timer id,EB在这里的通道分频只设置了一个参数,推测底层应该是做了处理,直接按配置计算也是能得到正常结果的。

时钟计算:当前配置GPT12中T2时钟=100M/32 = 3.125M
在这里插入图片描述

在这里插入图片描述

2.GPT 通用配置
在这里插入图片描述
3. GPT通道配置
在这里插入图片描述
在这里插入图片描述
4. GPT时钟配置参考配置项
链接至MCU时钟源配置
在这里插入图片描述
6. GPT12资源分配
在这里插入图片描述

使用GTM作为GPT模块的硬件单元
1.配置时钟
2.GPT 通用配置
3.GPT通道配置
4.GPT时钟配置参考配置项

1.配置时钟
GTM配置时钟步骤:GTM时钟——Cluster0分频——CMU分频

在这里插入图片描述
在这里插入图片描述
2.GPT 通用配置
同上
3.GPT通道配置
选取GTM作为GPT硬件实现
在这里插入图片描述
在这里插入图片描述
进行模块链接
在这里插入图片描述
4.GPT时钟配置参考配置项
同上

2.2 接口应用

1.IrqGpt_Init();//IrqGtm_Init(); Irq初始化
2. Gpt_Init(&Gpt_Config);//初始化Gpt
2.SRC_GPT120T3.B.SRE = 1;// SRC_GTMTOM00.B.SRE = 1; 中断使能
3. Gpt_EnableNotification();//开启中断通知函数
4.Gpt_StartTimer();//启动Gpt定时器

接口名传入参数说明返回参数说明功能
IrqGpt_Init()Void-void-初始化Gpt中断配置
IrqGtm_Init()Void-void-初始化Gpt中断配置
Gpt_EnableNotification()uint8 ChannelGpt通道void-使能通知函数
Gpt_StartTimer()uint8 Channel;uint32 valueGpt通道;设定计数值void-设定通道计数值并启动定时器通道

3.总结

本文为博主个人学习总结记录,如有不正,欢迎指正

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2106334.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

结合Scrapy和无限住宅代理进行大规模的数据抓取方案

在大规模数据抓取的过程中,如何高效、安全地获取数据是一个关键问题。Scrapy作为一种强大的爬虫框架,能够帮助开发者快速抓取和处理网站数据。而无限住宅代理则提供了全球范围内的IP地址,极大地提升了数据抓取的效率和匿名性。本文将探讨如何…

你还不知道如何利用AI提升学习效率吗?

前言 随着新学期的到来,校园里又恢复了往日的热闹。书声琅琅,青春洋溢,大学生们怀揣着梦想与希望,踏入了新的学习阶段。然而,在这个信息爆炸的时代,传统的学习方式是否还能满足我们的需求呢?答…

在 sql server 数据库中,查询数据库的占用的空间大小和数据库中各表的占用大小

1、如果只是查询数据库的大小的话,直接使用以下语句即可: EXEC sp_spaceused2、为了保证查询结果的实时性,推荐使用下面这个语句来确保统计数据是最新的: EXEC sp_spaceused updateusage NTRUE;执行完毕后结果是两个表&#xf…

Android终端如何快速接入GB28181平台实现实时音视频回传

技术背景 GB28181是由中国国家标准委员会发布的基于IP网络的安防视频监控标准。Android平台GB28181设备对接模块,主要涉及到视频监控领域,可实现不具备国标音视频能力的 Android终端,通过平台注册接入到现有的GB/T28181—2016服务&#xff0…

Ubuntu 下载/安装

官网 Enterprise Open Source and Linux | UbuntuUbuntu is the modern, open source operating system on Linux for the enterprise server, desktop, cloud, and IoT.https://ubuntu.com/ 下载 安装

代码签名证书有什么作用?

代码签名证书在软件开发和分发过程中具有多重重要作用,主要包括以下几个方面: 验证身份和来源:代码签名证书通过数字签名技术,验证软件发布者的身份,确保软件确实来自其声称的开发者或组织。这有助于用户识别并信任软件…

小试牛刀,开发你的第一个Java程序 -- HelloWorld

🚀 个人简介:某大型国企资深软件开发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养&#x1f9…

C语言09--进程的内存镜像

C进程内存布局 任何一个程序,正常运行都需要内存资源,用来存放诸如变量、常量、函数代码等等。这些不同的内容,所存储的内存区域是不同的,且不同的区域有不同的特性。因此我们需要研究C语言的内存布局,逐个了解不同内存…

SQLynx如何提高企业数据库安全?

企业数据库的安全性直接关系到企业的运营稳定、客户隐私保护以及市场竞争力。SQLynx凭借技术优势和全面的防护策略,致力于为企业数据库安全提供了强有力的保障。 1. 多数据源支持 SQLynx企业版支持多种主流数据源,包括Oracle、PostgreSQL、MySQL、Mari…

无痕去除视频logo,视频去水印

视频素材带有logo,是我们在剪辑中经常会遇到的问题。那么,怎么快速去掉视频中的logo呢? 随着视频内容的不断丰富和多样化,很多人都开始学习视频剪辑技巧,其中一个重要的问题就是如何去掉视频中的logo。 我们一般在网上…

十一 面向对象技术(考点篇)试题

A ;D,D。实际答案:C;D,D 考的很偏了。UML 2.0基础结构的设计目标是定义一个元语言的核心 UML 2.0 【InfrastructureLibrary】,通过对此核心的复用,除了可以定义一个自展的UML元模型,也可以 Infr…

OpenGauss 高性能高安全高可靠的企业级开源关系型数据库

openGauss | openGauss openGauss: 一款高性能、高安全、高可靠的企业级开源关系型数据库。 技术背景 openGauss内核深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性。 自 2020 年 6 月开源以来,openGauss 一直围绕高性能、高可用、高智能、…

企业展厅设计关键转折点何在?如何确保展厅顺利实施?

随着科技的进步和市场竞争的加剧,各企业越来越注重自身的形象宣传和品牌推广。近期,数字多媒体技术在内容展览中所引起的广泛关注和讨论,让不少企业意识到,建设一个集创新、互动、科技于一体的企业多媒体展厅,是当下吸…

『功能项目』骑乘坐骑【22】

我们打开上一篇21项目优化的项目, 本章要做的事情是在召唤坐骑后的指定距离内点击骑乘即可乘坐坐骑 首先进入坐骑熊的预制体空间,将主角模型拖拽至坐骑身上并删除所有组件及标签 将子物体Player拖拽至其子级,父类删掉 将其Player隐藏 创建坐…

AI在台球助教系统中的应用与优化

随着科技的发展,AI技术在各个领域的应用越来越广泛。特别是在体育培训领域,AI的应用为传统教学方式带来了革命性的变化。对于热爱台球运动的朋友来说,台球助教系统无疑是一个令人兴奋的新工具。它利用先进的AI技术,为台球爱好者提…

vscode任务配置之tasks.json

目录 用途说明 用途1:配置编译任务 1.生成task.json文件 2.编辑task.json文件 3.运行任务 用途2:给一个脚本文件配置任务 1.生成task.json文件 2.编辑task.json文件 3.运行任务 用途说明 在VS Code中配置任务主要涉及到task.json文件的编辑&am…

训练 GAN 之技巧

GAN 是以很难训练而闻名的,我们接下来介绍一些其中的原因和训练GAN的小技巧。 首先,我们回顾一下判别器和生成器都在做些什么。判别器的目标是要分辨真的图片与产生 出来的假图片间的差异,而生成器在做的事情是要去产生假的图片,骗…

RK3588平台开发系列讲解(显示篇)图像的宽高和跨距

文章目录 一、图像宽、高二、图像跨距沉淀、分享、成长,让自己和他人都能有所收获!😄 “图像的基本组成单元为像素,对视频图像的存储,实际上是对像素的存储”。基于图像位深,我们可以确定存储一个像素所需的字节数,下面,可以开始“指导”计算机如何定量读取图像数据了…

图文解析保姆级教程:Postman专业接口测试工具的安装和基本使用

文章目录 1. 引入2. 介绍3. 安装4. 使用 此教程摘选自我的笔记:黑马JavaWeb开发笔记16——请求(postman、简单参数、实体参数、数组集合参数、日期参数、Json参数、路径参数)想要详细了解更多有关请求各种参数介绍的知识可以移步此篇笔记。 1…

存储卡恢复:如何从存储卡恢复已删除的照片/视频?

如何使用免费软件从存储卡恢复已删除的照片/视频? 在我们的指南中,从 Android 手机的微型 SD 卡恢复已删除的文件是免费的。以下是恢复所需的信息。 一台装有 Windows 操作系统的计算机;一个存储卡适配器(必需,因为如…