F28335 ePWM時基模組(TB)及其 暫存器配置————TMS320F28335學習筆記(五)
1 時基模組 TB 組成及工作原理簡介
每個PWM模組都有自己的時基單元,這決定了每個PWM模組的時序,時基模組的作用:
- 確定PWM的週期或頻率
- 管理當前ePWM模組和其他ePWM模組的相位,以此保持各個ePWM模組的同步性
- 設定時基計數器的計數方式,是增計數(up)還是減(down)計數模式
- 設定ePWM的時間基礎,對系統時鐘進行分頻,可以輸出較低頻率PWM波
1.1 時基模組的關鍵暫存器
暫存器 | 描述 |
---|---|
TBCTL | 時基控制暫存器 |
TBSTS | 時基狀態暫存器 |
TBPHSHR | HRPWM擴充套件相位暫存器 |
TBPHS | 時基相位暫存器 |
TBCTR | 時基計數器暫存器 |
TBPRD | 時基週期暫存器 |
補充:什麼是影子暫存器
時基模組中有個週期影子暫存器,它可以實現其主暫存器隨硬體進行同步更新。其實正經說叫 active register (活動暫存器)和 shadow register (影子暫存器)。
在DSP中暫存器是直接控制硬體電路的,這是活動暫存器的功能,而影子暫存器不能直接控制硬體電路,他的作用是提供給活動暫存器一個存放狀態和值的地址,在系統執行的時候,在軟體配置暫存器和硬體不同步的時候,他可以把存放的狀態傳到活動暫存器,這樣就可以防止因為軟硬體不同步導致的系統崩潰。
1.2 時基模組的關鍵訊號
- ePWMxSYNCI: 時基同步訊號輸入
- ePWMxSYNCO:時基同步訊號輸出
- CTR = ZERO : 時基計數器等於0
- CTR = CMPB :時基計數器等於比較暫存器
- CTR_dir : 時基計數方向, 高電平向上計數,低電平向下計數
- TBCLK : 時基時鐘訊號,確定時基計數器的增減的速率
1.3 ePWM的週期和頻率計算
ePWM的頻率是由時基週期暫存器值(TBPRD) 和 計數模式(TBCTRL)共同決定。在此先不考慮同步訊號的輸入。
向上-向下計數模式(先遞增後遞減)
從零開始增大,增到TBPRD的值後,遞減至0。
Tpwm=2 * TBPRD * Ttbclk(TB的時鐘)
向上計數模式(遞增)
向上遞增到TBPRD的值,後立刻回0,再又一次遞增。
Tpwm=TBPRD * Ttbclk(TB的時鐘)
向下計數模式(遞減)
從TBPRD的值遞減,遞減到零,立馬回到TBPRD的值後,再有一次遞減。
Tpwm=(TBPRD + 1) * Ttbclk(TB的時鐘)
2 時基模組的暫存器配置
2.1 時基控制暫存器 TBCTL
在不考慮同步訊號的情況下,時基控制暫存器TBCTL我們需要配置的位其實比較少
- 12~10 CLKDIV: 時鐘分頻位
- 9~7 HSPCLKDIV:高速時鐘分頻位
- 3 PRDLD : 週期暫存器的影子暫存器位
- 1~0 : 計數模式位
2.2 時基週期暫存器
位 | 名稱 | 描述 |
---|---|---|
15~0 | TBPRD | 時基週期暫存器,時基計數器的週期 |
配置方式:直接賦值
2.3 時基計數暫存器
位 | 名稱 | 描述 |
---|---|---|
15~0 | TBCTR | 時基計數器 |
配置方式:直接賦值
2.4 時基相位暫存器
位 | 名稱 | 描述 |
---|---|---|
15~0 | TBPHS | 時基相位暫存器 |
配置方式:直接賦值