溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

基于i.MX6UL實現(xiàn)PWM脈沖計數(shù)

發(fā)布時間:2020-07-21 21:52:11 來源:網(wǎng)絡(luò) 閱讀:732 作者:zhywxyy 欄目:建站服務(wù)器

1.適用范圍

    本文檔介紹了基于i.MX6UL實現(xiàn)PWM脈沖計數(shù)的基本實現(xiàn)原理。


2.客戶需求

2.1 基本需求

   基本需求為在i.MX6UL上利用PWM輸出固定頻率的脈沖波形,并嚴(yán)格控制該頻率下的脈沖輸出個數(shù)。應(yīng)用程序調(diào)用系統(tǒng)接口設(shè)置PWM輸出的頻率和脈沖輸出個數(shù),之后PWM啟動脈沖輸出,當(dāng)輸出指定的脈沖個數(shù)后,產(chǎn)生中斷提示應(yīng)用程序。此時應(yīng)用程序再次設(shè)置最新的PWM輸出頻率和脈沖個數(shù),循環(huán)往復(fù)工作。

2.2 參數(shù)需求

  • PWM頻率范圍 :最小0Hz,最大25KHz;

  • 計數(shù)個數(shù)范圍:最小0,最大60000。


3.原理簡介

   由于i.MX6UL的PWM脈沖輸出本身不具備計數(shù)功能,所以采用了PWM+EPIT結(jié)合使用的方式。

   EPIT(Enhanced Period Interrupt Timer)為i.MX6UL實現(xiàn)的高精度周期性中斷定時器,其和PWM采用的是同一個時鐘源。

   基本思路為:當(dāng)應(yīng)用程序設(shè)置PWM計數(shù)值時啟動PWM輸出,將PWM計數(shù)值換算為EPIT的定時周期,并啟動EPIT開始計時,當(dāng)定時周期到時產(chǎn)生中斷, 在EPIT中斷中禁用PWM輸出,此時PWM脈沖輸出的個數(shù)也應(yīng)該達(dá)到理論輸出個數(shù)。

3.1 用戶調(diào)用流程

   用戶調(diào)用流程如圖 3-1所示。

基于i.MX6UL實現(xiàn)PWM脈沖計數(shù)

3-1用戶調(diào)用流程

3.2 ControlLib庫實現(xiàn)

3.2.1 ControlOpen操作

   打開PWM設(shè)備、EPIT設(shè)備,設(shè)置PWM設(shè)備和EPIT工作的默認(rèn)頻率。將PWM設(shè)備與EPIT設(shè)備關(guān)聯(lián),以使EPIT中斷中可以禁用對應(yīng)的PWM脈沖輸出。

3.2.2 ControlClose操作

   關(guān)閉PWM設(shè)備、EPIT設(shè)備。

3.2.3 ControlSet操作

   按照如下公式,根據(jù)用戶設(shè)置的PWM頻率和計數(shù)數(shù)值,換算為EPIT定時的數(shù)值。


基于i.MX6UL實現(xiàn)PWM脈沖計數(shù)


   之后設(shè)置PWM工作的頻率,啟動PWM輸出;設(shè)置EPIT定時時長,啟動EPIT定時。

3.2.4 ControlEventWait操作

   調(diào)用EPIT設(shè)備提供的接口,阻塞等待定時器到期后的中斷。

3.3 參數(shù)有效范圍

3.3.1 PWM頻率范圍

  • PWM輸出的最大頻率為50KHz,最小為25Hz。

  • PWM占空比默認(rèn)為50%,目前暫不支持調(diào)整。

3.3.2 計數(shù)有效范圍

   PWM脈沖計數(shù)理論最大值為0xFFFFFFFF,但計數(shù)值Count實際受以下關(guān)系制約:

基于i.MX6UL實現(xiàn)PWM脈沖計數(shù)

   Freq為PWM實際設(shè)置的輸出頻率,當(dāng)Freq減小時,Count最大可計數(shù)值隨之減小。


4.測試結(jié)果

   當(dāng)設(shè)置50KHz頻率,20次輸出時,示波器抓到如圖 4-1所示波形。

基于i.MX6UL實現(xiàn)PWM脈沖計數(shù)

4-1 50KHz,輸出20


    當(dāng)設(shè)置25KHz頻率,33次輸出時,示波器抓到如圖 4-2所示波形。 

基于i.MX6UL實現(xiàn)PWM脈沖計數(shù)

4-2 25KHz,輸出33


    當(dāng)設(shè)置10KHz頻率,60次輸出時,示波器抓到如圖 4-3所示波形。

基于i.MX6UL實現(xiàn)PWM脈沖計數(shù)

4-3 10KHz,輸出60

 

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI