Stm32高級定時器(二)


Stm32高級定時器(二)

 

1 主從模式:主?從?

 

談論主從,可知至少有兩個以上的觸發或者驅動信號,stm32內部有多個定時器,可以相互之間驅動或者控制。

  1. 主模式:定時器使能只受驅動時鍾控制或者輸出控制信號(TRGO)。
  2. 從模式:復位模式, 在發生一個觸發輸入事件時,計數器和它的預分頻器能夠重新被初始化;同時,如果IMx_CR1寄存器的URS 位為低,還產生一個更新事件UEV ;然后所有的預裝載寄存器(TIMx_ARR ,TIMx_CCRx)都被更新了。
  3. 從模式:門控模式, 計數器的使能依賴於選中的輸入端的電平。
  4. 從模式:觸發模式, 計數器的使能依賴於選中的輸入端上的事件。
  5. 從模式:外部時鍾模式+觸發模式, 外部時鍾模式2可以與另一種從模式(外部時鍾模式1和編碼器模式除外)一起使用。這時,ETR信號被用作外部時鍾的輸入,在復位模式、門控模式或觸發模式可以選擇另一個輸入作為觸發輸入。不建議使用TIMx_SMCR寄存器的TS位選擇ETR作為TRGI。

clip_image002

clip_image004

clip_image006

2 PWM輸入模式

clip_image008

該模式是輸入捕獲模式的一個特例,特點:

  • 兩個ICx信號被映射至同一個TIx輸入。
  • 這2個ICx信號為邊沿有效,但是極性相反。
  • 其中一個TIxFP信號被作為觸發輸入信號,而從模式控制器被配置成復位模式。

2.1 PWM捕獲結果

TIMx通過過復位啟動,復位計數器,TIMx_CCR1捕獲TI1的上升沿得到此刻CNT中的值,TIMx_CCR2捕獲TI1的下降沿得到此刻CNT中的值,那么有他們的關系就可以得到:

  • TI1周期 = TIMx_CCR1 × CNT周期
  • 占空比 = TIMx_CCR2/ TIMx_CCR1

2.2 配置實例

測量輸入到TI1上的PWM信號的長度(TIMx_CCR1寄存器)和占空比(TIMx_CCR2 寄存器),具體步驟如下(取決於CK_INT的頻率和預分頻器的值)

1. 選擇TIMx_CCR1的有效輸入:置TIMx_CCMR1寄存器的CC1S=01(選中TI1)。

2. 選擇TI1FP1的有效極性(用來捕獲數據到TIMx_CCR1中和清除計數器):置CC1P=0(上升沿有效)。

3. 選擇TIMx_CCR2的有效輸入:置TIMx_CCMR1寄存器的CC2S=10(選中TI1)。

4. 選擇TI1FP2的有效極性(捕獲數據到TIMx_CCR2):置CC2P=1(下降沿有效)。

5. 選擇有效的觸發輸入信號:置TIMx_SMCR寄存器中的TS=101(選擇TI1FP1)。

6. 配置從模式控制器為復位模式:置TIMx_SMCR中的SMS=100。

7. 使能捕獲:置TIMx_CCER寄存器中CC1E=1且CC2E=1。

 

3 PWM輸出模式

脈沖寬度調制模式可以產生一個由TIMx_ARR寄存器確定頻率、由TIMx_CCRx寄存器確定占空比的信號。

由下圖可知,TIMx_ARR=8(周期),TIMx_CCRx=4(占空比)

clip_image010


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM