NXP S32K312 系列核心板試用 +PWM控制LED呼吸燈效果

關鍵字 :LEDS32K312NXPIP定時器總線開發板微控制器適配器調試器

1. 概述
 

使用eMIOS IP 輸出一個PWM,透過改變占空比使一個LED燈呈現呼吸燈的效果。

 

硬體環境
 

●開發板:Knight S32K312開發板(由大大通提供)
●12 V 電源適配器,電流2.5A
●Jlink 調試器、JTAG 轉接板

 

軟體環境

●軟體:S32 Design Studio for S32 Platform 3.5
●RTD(即時驅動):SW32K3_S32DS_3.5_D2207

 

2. eMIOS-IP介紹

 

eMIOS全名是增強型IO子系統,簡單來說就是比較高級的定時器,具有以下功能:

通用輸入輸出模式(GPIO)允許微控制器的腳位作為輸入或輸出端口,適用於各種數位信號的處理。

單次動作輸入捕捉模式(SAIC)用於捕捉輸入信號的特定事件,通常用於測量信號的時間特性,例如脈衝的寬度。

單次動作輸出捕捉模式(SAOC)用於在特定條件下生成一次性輸出信號,常用於生成定時事件。

輸入脈寬測量模式(IPWM)專門用於測量輸入信號的脈衝寬度,適合分析信號的持續時間。

輸入週期測量模式(IPM)用於測量輸入信號的週期,即信號從一個週期的開始到下一個週期的開始所需的時間。

●雙次動作輸出比較模式(DAOC)允許設定兩個輸出比較值,以便在特定條件下生成兩個不同的輸出信號。

脈衝邊緣計數模式(PEC)用於計算輸入信號的上升和下降邊緣,通常用於測量頻率或事件計數。

模數計數器模式(MC)用於按照預設的計數值進行計數,適合需要精確計數的應用。

緩衝模數計數器模式(MCB)類似於模數計數器模式,但具有緩衝功能,可以在計數過程中存儲資料以提高穩定性。

輸出脈寬和頻率調制緩衝模式(OPWFMB)用於生成可調脈寬和頻率的輸出信號,適合用於調制信號的應用。

●帶死區插入的中心對齊輸出PWM緩衝模式(OPWMCB)生成中心對齊的脈寬調制信號,並在信號的高低切換之間插入死區,以避免電路短路。

輸出PWM緩衝模式(OPWMB)用於生成脈寬調制信號,適合用於控制馬達速度或亮度調節等應用。

●帶觸發的輸出PWM模式在特定觸發條件下生成脈寬調制信號,適合於同步控制的應用。

共有4種類型的定時器,但並非所有的eMIOS都具備全部功能。如圖所示,其中Ch Type G具備全部功能,其他定時器的功能則不完整。

 


 

本次輸出的PWM定時器是X類型,具備輸出PWM並能進行頻率調制,此類型不具備輸入PWM測量功能,無法用來測量脈衝寬度。

 

eMIOS - 特性介紹

 

● 兩個雙緩衝資料暫存器,An 和 Bn。

● 兩個比較器,A和B。

● 一個內部計數器(CNTn[C]),在除GPIO外的所有模式中運行。

●一個輸出觸發器,用於保持輸出腳位應用的邏輯電平。

● 一個狀態暫存器,UC狀態n(S0 - S23),用於標誌輸入捕獲和匹配事件。

●一個控制暫存器,UC控制n(C0 - C23),控制UC操作。

eMIOS的特點相當多,具體功能可以參考使用手冊。

 

3. 工程配置

 

讓PTB9輸出一個PWM來驅動板子上的綠燈,查看312的IOMUX可知PTB9具有eMIOS1_CH16_X功能。

IOMUX表

 

 

綠燈電路

 


 

與 eMios 相關的模組有

Emios_Mcl_Ip 微控制器庫 

Emios_Gpt 定時器

Emios_Ocu 輸出比較



Emios_Pwm PWM輸出

Emios_Icu 輸入捕獲

這次主要使用 Emios_Mcl 和 Emios_Pwm 模組

 

3.1 PORT 設定

PTB9 選擇 eMIOS 功能

 

 

3.2 Emios Mcl配置

這裡主要配置Emios的匯流排和計數模式

 


 

配置全域 eMIOS

1、啟用 eMIOS 實例凍結狀態和全域時間基準。

2、eMIOS 主總線

▪ 選擇硬體通道。 ▪ 設定主總線模式。 ▪ 設定預設週期和偏移量,以及通道預分頻器。 ▪ 啟用或停用除錯模式和中斷。

 

3.3 Emios_PWM設定

這裡主要針對eMIOS的具體PWM通道

 


 

1.選擇Emios1

2.

● channel 選擇 16

●模式選擇帶緩衝的PWM輸出,帶緩衝的意思是可以平滑地改變PWM輸出的占空比,當改變占空比後,會在下一個週期自動更新。

●總線選擇是在Emios_Mcl中配置的,這裡引用

3.Clock 分頻選擇,極性選擇為高,在設定占空比時,設定的值就是高電平的週期值。

 

4. 代碼部分解讀

 





PWM 的週期是 10000,將它分成 100 份,每次增加 100,高電平的時間就會越來越長,三極管導通,LED 燈就會越來越亮。同理,減小則會越來越暗,持續循環即可呈現呼吸燈效果。

 

5效果

 

綠燈從暗到最亮,從最亮到暗,不斷循環。

 

參考文獻

S32K3XXRM.pdf NXP

S32K312_IOMUX.pdf NXP

S32K3_RTD_Training_eMIOS.pdf NXP

 

文章來自「S32K312 開發板評測活動」測評者:楊成

 

歡迎在文章下方留言評論,我們會及時回覆您的問題。

如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com 作者:WPIg

 

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

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

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

參考來源

:

評論