EC : PWM Module

PWM Module

PWM (Pulse Width Modulator) 是利用不同的脈波寬度來控制相關裝置做出不同的變化,(ex:電腦螢幕的亮度調整)。因為PWM的製作成本遠低於數位轉類比的線路,市場上有愈來愈多使用PWM的裝置,如何控制這些裝置將會在這章節裡說明清楚。

PWM Module的方塊圖


PWM Module的方塊圖可分為幾個部分:
  • 計數用的輸入時脈訊號 – PWM是做用Core Clock (核心處理器的工作頻率)
  • 除頻器 – PWM採用16位元的除頻器,除頻範圍為1-32768,除頻後的脈波傳送給週期計數器做為計數用。
  • 週期計數器把基本脈波除頻來取得脈波寬度。當下數到0x0000後,經RS正反器的SET,輸出轉為HIGH
  • 脈波寬度計數器把脈波寬度的值和週期計數器的值比較,當兩個值相同時,經RS正反器的RESET,輸出轉為LOW
  • 輸出選擇器選擇由QQ#為輸出訊號。
簡化後的流程圖:

PWM的相關暫存器有:
  • Clock Prescaler Register – 設定除頻器的除頻值
  • Cycle Time Register – 設定PWM週期時間
    • PWM的頻率為 Core Clock / (( PRSCn +1 )*(CTRn+1))
  • Duty Cycle Register – 設定PWM的脈波寬波
  • PWM Control Register – PWM 的控制暫存器
    • PWR[7] – 指示PWM Module的工作模式。0表示在Low Power1表示在Normal Power
    • INVP[1:0] – 0 表示選擇Q為輸出端,1表示由Q#為輸出端。

範例: 使用PWM去調整亮度

依據inventor的規格,亮度調整PWMBurst工作頻率為250Hz,相關暫存器如下表設定,即可輸出250Hz來調整系統亮度。Core Clock = 20MHz

PWM REG

VALUE

PRSC

799

CTR

99

PWMCTRLn

0x80

DCRi

0-99 [100=OFF]

 

留言

這個網誌中的熱門文章

EC 所需知識 - SMBUS

EC 所需知識 - KBC

EC 所需知識 - LPC