注意
- 芯片型號:TMS320F28335
- 適用於NJUSTEO李彧晟老師課程
- 參考資料:《TMS320F28335 DSP原理、開發及應用》
- 對應PPT第二章80頁
- 本章內容較多而且較爲重要,請結合PPT一起復習
1 概述
- ePWM模塊可以分爲7個子模塊,本章僅講述前兩個子模塊:時間基準(TB)子模塊、事件觸發(ET)子模塊
2 時間基準(TB)模塊
2.1 TB計數模式
- 計數模式分爲3種,增計數、減計數和增/減計數。
- 個人認爲數據手冊上的圖和PPT上的圖可以在一起看
- 本章比較重要的地方在於計算各種計數模式的週期和頻率,數據手冊的圖中給出了比較詳細的計算公式。
2.2 TB相關寄存器
2.2.1 Time-Base Control Register (TBCTL)
這一部分PPT上講的很詳細了,我直接copy過來
- 對於“仿真模式位”在考試中不做要求
- CLKDIV和HSPCLKDIV的分頻標準是不同的,需要區別記憶。CLKDIV是2CLKDIV次分頻,而HSPCLKDIV是2 HSPCLKDIV(0爲1分頻)
- PHSDIR位僅在增/減計數模式時有用,用來確定同步事件發生後的計數方向
2.2.2 Time-Base Status Register (TBSTS)
2.2.3 範例
求150MHz CPU 頻率下,產生150 KHz信號所對應TBPRD的數值。
- 增計數
相關寄存器該如何設置?
3 事件觸發子模塊
- 事件觸發子模塊用來處理時間基準子模塊、比較功能子模塊所產生的事件,從而向CPU發出中斷或產生ADC啓動信號。
3.1 中斷控制功能
- 中斷週期(ETPS[INTPRD])位指定產生中斷脈衝所需的事件數。可用的選項包括:
- 不要產生中斷。
- 在每個事件上生成中斷
- 在每秒鐘的事件中產生一箇中斷
- 每三個事件產生一箇中斷
- 哪個事件可以導致中斷是由中斷選擇(ETSEL[INTSEL])位配置的。
- 可以從中斷事件計數器(ETPS[INTCNT])寄存器位讀取已發生的事件數。也就是說,當指定的事件發生時,ETPS[INTCNT]位將遞增,直到它們達到ETPS[INTPRD]指定的值。當ETPS[INTCNT]=ETPS[INTPRD]時,計數器停止計數並設置其輸出。只有當中斷被髮送到PIE時,計數器才被清除。
3.2 產生ADC啓動信號
- 基本原理和上面相同
3.3 事件觸發子模塊相關寄存器
3.3.1 Event-Trigger Selection Register (ETSEL)
- 事件觸發選擇寄存器
3.3.2 Event-Trigger Prescale Register (ETPS)
- 事件觸發預分頻寄存器
- 所有的CNT位均爲只讀位