【SemiDrive G9 系列软件开发】 PTG5.1.2 + MCAL_v1.3.0 GPT hands on

一、测试环境

        SemiDrive 支持系统 G9 系列目录中,PTG5.1.2 版本只适用于 G9H,其中 MCAL_v1.3.0 例程较为全面。最近进行了 GPT 模块的例程测试,操作过程 hands on 如下:

注:此版本使用 eMMC Only 的启动方式(拨码:0001),不使用 OSPI Flash。

硬件:SemiDrive G9H ref A02 图(1)

软件:PTG5.1.2 + MCAL_v1.3.0

        软件环境搭建以及 G9H Ref A02 操作方法参考:《SD_G9_Quick_Start_Rev2.4.pdf》

图(1)


2024/10/28~11/03 万圣节特别企划,点击此处参与有奖活动吧~ 


二、配置&Demo

  1. 模块介绍:

       9 Series MCAL 中最多支持配置 8 个 Timer Module,每个 Timer Module 下分为 G0,G1,Local_A/B/C/D 通道(32 位)。其中 safety domain 默认可配置 Timer1/2,其余六个 Timer 由其他 domain 使用。主要使用 Timer(归属于 TMR:Time-Mode Register,即通用定时器,具有比较和捕获功能,分别适用于 PWM 和 ICU 场景)的 Count 功能,提供定时器功能,定时触发一个(溢出)中断。

Timer 通道支持配置两种时钟源:400M 高频时钟(来自 Soc 内部时钟发生器)、24M 低频时钟(来自 24MHz 晶体振荡器)。

  1. EB 配置

GptChannelConfiguration

Name:对应生成宏定义,可以根据名字,来选择哪个 GPT。如图:

图一 GptChannelConfiguration

GptChannelId:自增的,修改会报错。固定值。

GptHwModule:选择硬件 Timer Module。

GptHwModulePrescaler:分频值,需要减 1 写入,如图为 24 分频。

GptHwModuleChannel:G0/G1,Local_A/B/C/D

GptChannelMode:选择循环触发模式或单次触发模式。

GptChannelTickFrequency:无需配置。

GptChannelTickValueMax:用于 starttimer 时,check 传参是否大于最大值。

GptNotification:回调函数。

GptChannelClkSrcRef:不支持。

图二 GptChannelConfiguration

GptClockReferencePoint

Gpt functional clock 通过选择 Mcu reference clock 配置,如图三、图四

图三 GptClockReferencePoint

Mcu reference clock 可在 MCU——McuClockSettingConfig 中配置

        需注意,Gpt 中可以存在多个 McuClockReferencePoint 配置,但同一 Gpt 配置中仅可将单个 Clock Reference 作为 clk src 配置给所有通道(即:所有通道仅可配置同一时钟源)

图四 McuClockSettingConfig

另外,需要注意:通道配置 Oneshot 模式只能使用 Loca l通道,G0/G1 不支持 Oneshot 模式

3. 代码和 Log

         实例中使用 Gpt_StartTimer 接口,经过 XXX.c->XXX_Ip.c 层层调用将值写入寄存器 CNT_G0_OVF(图五),参考《G9 Series Processor Technical Reference Manual》TMR 寄存器章节(图六)可知,可用于更新计数的溢出值。

图五 CNT_G0_OVF

图六 寄存器描述

关于计数周期:因为 EB 中选配 24MHz Clock,分频值 24,所以计数加 1 的周期为 1us。如图:

图七 计数周期

对照 Log 分析示例逻辑:

Case 201:1ms 后进中断执行 test_ms++;执行 1000 次(即 1s)打印一次。

Case 202: 因为 Timer mode: one-shot,所以每次进中断需要再执行一次 Gpt_StartTimer();

图八 示例 log

三、参考文献

  1. 《SemiDrive_9Series_MCAL User Guide》
  2. 《G9 Series Processor Technical Reference Manual》

欢迎在博文下方留言评论,我们会及时回复您的问题。

如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.sh@wpi-group.com   
作者:Alan

更多资讯,请关注原文作者  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值