【SemiDrive G9 系列軟體開發】 PTG5.1.2 + MCAL_v1.3.0 GPT hands on

關鍵字 :SemiDriveG9mcu定時器ip世平wpi

一、測試環境

        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)

二、配置&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


更多資訊,請掃碼關注我們!
  

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論