【SemiDrive G9 系列軟體開發】 G9X PTG5.0 安全域 PWM 功能使用

一、 測試環境

 硬體:SemiDrive G9X Spider

         軟體:PTG5.0 Linux + FreeRTOS

 

圖(1)

 

二、 配置與 Demo

1.測試原理:

       G9X 有 8 個 PWM 模塊,其中,PWM1 和 PWM2 屬於 Safety Domain,PWM3 – PWM8 屬於 AP

Domain,每個 PWM 有 4 個輸出 Channel,本次測試採用 PWM3 Channel-1 作為測試通道。查找資料可知,GPIO-C9 的 mux6 為 PWM3 CH1 復用功能,如圖(2)。

圖(2)

2.資源分配      

        如上節所述,PWM3 屬於 AP Domain 資源,因此在 safety domain 使用的時候,需要做資源調整,修改 buildsystem/rtos/lk_boot/chipcfg/generate/g9x/projects/default/safety路徑下的 domain_res.h,增加需要測試的 PWM Unit,並在 domain_res_cnt.h 中修改 PWM 實際在 safety domain 使用的 PWM Unit個數。domain_res.h 的修改參考圖(3),這裡增加了PWM3,PWM6 兩個 Unit。

圖(3)


3.配置

        Pinmux 的配置首先打開 SDConfigTool,選擇 Chip G9X,然後 import binary,選擇 SDK 中buildsystem/binary_G9X_Ref_Linux_1G_2133/system_config.img,修改 pinmux 後,Savebinary,將新生成的 system_config.img copy 到原有路徑,重新打包生成 ospi.pac。操作步驟圖(4)。


圖(4)

PWM 的測試代碼可以從以下鏈接獲取。

鏈接:https://pan.baidu.com/s/18B1NXPuDHwfA17HT6aWv1A  提取碼:u9z4  

       獲取代碼解壓後, copy 到工程的 buildsystem/rtos/freertos_safetyos/application/test 路徑,並修改buildsystem/rtos/freertos_safetyos/project/safety-g9x-ref.mk,按照圖(5)增加測試代碼的編譯配置,並重新編譯Safety 鏡像並打包。


圖(5)


圖(6)是測試 demo 的配置部分代碼片段,具體配置含義解釋如下。

        hal_cfg.freq = 20000; // pwm 輸出頻率

        hal_cfg.grp_num = HAL_PWM_CHN_A_B_WORK; //輸出通道配置,ABCD 對應 channel 0123

        hal_cfg.single_mode = HAL_PWM_CONTINUE_CMP;//連續模式,PWM 連續輸出,軟體控制停止

        hal_cfg.align_mode = HAL_PWM_EDGE_ALIGN_MODE;//比較模式,單/雙 兩種,詳情見 TRM 文檔

        hal_cfg.cmp_cfg[HAL_PWM_CHN_B].phase = HAL_PWM_PHASE_POLARITY_POS;//初始相位

        hal_cfg.cmp_cfg[HAL_PWM_CHN_B].duty = PWM_DUTY;//占空比

圖(6)

 

三、測試操作

        1.完成以上操作後,編譯工程,然後用新生成的 safe.bin,system_config.img替換 SDFactoryTool 裡面 safety 域的 bin 文件,見圖(7)。或者重新打包 ospi.pac


圖(7)


       2.撥碼開關設置為 0000,啟動開發板。命令行執行 pwm_task,輸出 log 顯示 pwm 模塊寄存器信息,占空比,周期等,見圖(8),結合相關文檔可以用於調試。

圖(8)

       
3.最後使用邏輯分析儀捕捉 GPIO_C9 引腳的輸出,如圖(9)顯示輸出周期為 50us,即頻率為20000 的 PWM 方波。

圖(9)

如對此有更多需求,敬請聯繫世平集團 ATU 部門, atu.cn@wpi-group.com

 

 

四、 參考文獻:

  1. SD_G9_SDK_Reference_Manual_Rev1.4.pdf
  2. SD_G9H_Quick_Start_Rev1.01.pdf
  3. G9_Processor_TRM_Rev01.00.pdf

歡迎在博文下方留言評論,我們會及時回復您的問題。如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com
     
作者:Sim Guo / 郭夕峰


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



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

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

評論