本文檔介紹了基于i.MX6UL實現(xiàn)PWM脈沖計數(shù)的基本實現(xiàn)原理。
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出高安免費做網(wǎng)站回饋大家。
基本需求為在i.MX6UL上利用PWM輸出固定頻率的脈沖波形,并嚴格控制該頻率下的脈沖輸出個數(shù)。應(yīng)用程序調(diào)用系統(tǒng)接口設(shè)置PWM輸出的頻率和脈沖輸出個數(shù),之后PWM啟動脈沖輸出,當輸出指定的脈沖個數(shù)后,產(chǎn)生中斷提示應(yīng)用程序。此時應(yīng)用程序再次設(shè)置最新的PWM輸出頻率和脈沖個數(shù),循環(huán)往復(fù)工作。
PWM頻率范圍 :最小0Hz,最大25KHz;
計數(shù)個數(shù)范圍:最小0,最大60000。
由于i.MX6UL的PWM脈沖輸出本身不具備計數(shù)功能,所以采用了PWM+EPIT結(jié)合使用的方式。
EPIT(Enhanced Period Interrupt Timer)為i.MX6UL實現(xiàn)的高精度周期性中斷定時器,其和PWM采用的是同一個時鐘源。
基本思路為:當應(yīng)用程序設(shè)置PWM計數(shù)值時啟動PWM輸出,將PWM計數(shù)值換算為EPIT的定時周期,并啟動EPIT開始計時,當定時周期到時產(chǎn)生中斷, 在EPIT中斷中禁用PWM輸出,此時PWM脈沖輸出的個數(shù)也應(yīng)該達到理論輸出個數(shù)。
用戶調(diào)用流程如圖 3-1所示。
圖 3-1用戶調(diào)用流程
打開PWM設(shè)備、EPIT設(shè)備,設(shè)置PWM設(shè)備和EPIT工作的默認頻率。將PWM設(shè)備與EPIT設(shè)備關(guān)聯(lián),以使EPIT中斷中可以禁用對應(yīng)的PWM脈沖輸出。
關(guān)閉PWM設(shè)備、EPIT設(shè)備。
按照如下公式,根據(jù)用戶設(shè)置的PWM頻率和計數(shù)數(shù)值,換算為EPIT定時的數(shù)值。
Freq為PWM實際設(shè)置的輸出頻率,當Freq減小時,Count最大可計數(shù)值隨之減小。
當設(shè)置50KHz頻率,20次輸出時,示波器抓到如圖 4-1所示波形。
圖 4-1 50KHz,輸出20次
當設(shè)置25KHz頻率,33次輸出時,示波器抓到如圖 4-2所示波形。
圖 4-2 25KHz,輸出33次
當設(shè)置10KHz頻率,60次輸出時,示波器抓到如圖 4-3所示波形。
圖 4-3 10KHz,輸出60次