2011年4月5日 星期二

DIY - PIC:PIC18F4550 Pulse Width Modulation (PWM) 模組原理 (五十二)

DIY - PICPIC18F4550 Pulse Width Modulation (PWM) 模組原理  (五十二)

Microchip PIC18F4550 微控制器芯片都有兩個 CCP(捕捉/ 比較/PWM)模組。 每個模組包含一個 16 位元寄存器,它可以用作 16 位捕捉寄存器、16 位比較寄存器或 PWM /從佔空比寄存器。在 PIC18F4550 引腳器件中,CCP1 為增強型 CCP 模組,該模組具有標準捕捉和比較模式以及增強型 PWM 模式 (Enhanced PWM)。

PWM 框架圖
PWM輸出
 在脈衝寬度調變(Pulse Width ModulationPWM)模式下,CCPx 引腳可輸出解析度高達 10 位的PWM輸出。 由於 CCP2 引腳與 PORTB PORTC 數據鎖存器複用,因此必須清零相應的 TRIS 位才能將 CCP2 引腳用作輸出引腳。

CCPxCON寄存器
PWM 週期 (Period):
可以通過寫 PR2 寄存器來指定PWM的週期。 可以使用如下公式計算 PWM 的週期:

▼公式

  PWM 頻率定義為1 / [PWM 週期]TMR2 等於PR2 時,在下一個計數週期中會發生以下三個事件: TMR2 被清零 CCPx 引腳被置1 (例外情況:如果PWM 佔空比= 0%,則CCPx 引腳不被置1 PWM 佔空比由CCPRxL 鎖存至CCPRxH
PWM 佔空比 (Duty Cycle):通過寫入CCPRxL 寄存器和CCPxCON<5:4> 位指定PWM的佔空比。 最高解析度可達10 位。 CCPRxL 包含佔空比的高8 位, CCPxCON<5:4> 包含其低2 位。 CCPRxL:CCPxCON<5:4> 表示這個10 位值。 計算PWM 佔空比的公式如下:
▼公式:
 
 可在任何時刻寫入CCPRxL CCPxCON<5:4>,但直至PR2 TMR2 發生匹配時(即週期結束)時,才會將佔空比的值鎖存到CCPRxH 中。 PWM 模式下,CCPRxH 為唯讀寄存器。
PWM 解析度 (Resolution):CCPRxH 寄存器和一個2 位的內部鎖存器用於為PWM佔空比提供雙重緩衝。 這種雙重緩衝對於避免PWM 工作過程中的毛刺非常重要。當CCPRxH 2 位鎖存器的值與TMR2 (連有內部Q時鐘或 TMR2 預分頻器的2 位)匹配時,CCPx 引腳被清零。對於給定的PWM 頻率,其最大解析度(位)由以下的公式計算:
▼公式

 ▼例設振盪頻率 20MHzPWM頻率78.125 kHzTM2 預分頻值 11Resolution 8
PWM 頻率和解析度 ( Fosc = 20MHz)

PWM週期 = [ PR2+1] × 4 × Tosc × TM2預分頻值 
PR2 = ((20MHz/78.125kHz) /4/16)-1 
PR2 = (256) /4/16)-1 
PR2 = 63 (0x3F) 

設佔空比 25% 
PWM 佔空比 = CCPxCON<5:4> × Tosc × TM2預分頻值 
CCPR1L= 256 × 0.25 = 64 = 0x40 = 0b01000000 
CCP1CON<5:4> = 0b00 

設置PWM 操作 
在為CCP 模組配置PWM 工作模式時應該遵循以下步驟: 
•通過寫PR2 寄存器設置PWM 週期。 
•通過寫CCPRxL 寄存器和CCPxCON<5:4> 位設置PWM 占空比。 
•通過清零相應的TRIS 位元將CCPx 引腳配置為輸出引腳。 
•通過寫T2CON 來設置TMR2 預分頻值並使能Timer2 
•配置CCPx 模組使之工作於PWM 模式。 

2011 04 05 天氣報告
氣溫:18.2 @ 23:00 
相對濕度:百分之76% 
天氣:多雲

1 則留言: