西門子代理商-福建省一級代理-PLC伺服電機驅動變頻器代理
| 更新時間 2024-12-02 08:00:00 價格 請來電詢價 西門子變頻器 西門子觸摸屏 西門子伺服電機 西門子PLC 西門子直流調速器 西門子電纜 聯系電話 13922889745 聯系手機 18475208684 聯系人 向小姐 立即詢價 |
以STM32F4為例,一共有14個定時器:
gaoji定時器(TIM1、TIM8)
通用定時器(TIM2~TIM5,TIM9~TIM14)
TIM2~TIM5(通用定時器里功能較多的)
TIM9/TIM12
TIM10/TIM11和TIM13/TIM14
基本定時器 (TIM6、TIM7)
1.2 各種定時器的特性1.2.1 gaoji定時器與通用定時器這里列舉gaoji定時器的特性,在此基礎上,對比添加其與通用定時器的不同之處:
16 位遞增、遞減、遞增/遞減自動重載計數器(TIM2 和 TIM5為32位)
16 位可編程預分頻器,用于對計數器時鐘頻率進行分頻(即運行時修改),分頻系數介于 1 到 65536 之間。
多達 4 個獨立通道(TIM9/TIM12有2個,TIM10/TIM11,TIM13/TIM14只有1個),可用于:
輸入捕獲
輸出比較
PWM 生成(邊沿和中心對齊模式)(gaoji定時器和TIM2~TIM5特有,其它是只有邊沿對齊模式)
單脈沖模式輸出
帶可編程死區的互補輸出(gaoji定時器特有)。
使用外部信號控制定時器且可實現多個定時器互連的同步電路(TIM10/TIM11,TIM13/TIM14沒有)。
重復計數器,用于僅在給定數目的計數器周期后更新定時器寄存器(gaoji定時器特有)。
用于將定時器的輸出信號置于復位狀態或已知狀態的斷路輸入(gaoji定時器特有)。
發生如下事件時生成中斷/DMA 請求:
更新:計數器上溢/下溢、計數器初始化(通過軟件或內部/外部觸發)
觸發事件(計數器啟動、停止、初始化或通過內部/外部觸發計數)(TIM10/TIM11和TIM13/TIM14沒有此功能)
輸入捕獲
輸出比較
斷路輸入(gaoji定時器特有)
支持定位用增量(正交)編碼器和霍爾傳感器電路(gaoji定時器和TIM2~TIM5特有)。
外部時鐘觸發輸入或逐周期電流管理(gaoji定時器和TIM2~TIM5特有)。
1.2.2 基本定時器基本定時器 (TIM6、TIM7)的功能比較單一,所具有的功能如下:
16 位自動重載遞增計數器
只能定時,沒有外部 IO
16 位可編程預分頻器,用于對計數器時鐘頻率進行分頻(即運行時修改),分頻系數介于 1 和 65536 之間
用于觸發 DAC 的同步電路
發生如下更新事件時會生成中斷/DMA 請求:計數器上溢
1.3 定時器使用配置使用定時器,一般需要配置如下:
時基:也就是計數器的計數時鐘
自動重裝載值:每次計數的Zui大值
輸出通道:當需要使用定時器輸出某種波形時(如PWM)
輸入通道:當需要使用定時器接收某種波形時(如電機編碼器信號)
先來看一下定時器的原理框圖,對定時器的內部原理有一個整體直觀的感受:
1.3.1 時鐘源從上圖可以看出,計數器的時鐘源可以為:
由RCC的內部時鐘分頻得到
由定時器的TIMx_ETR引腳得到
由其他定時器通過TRGO輸出得到
一般使用RCC的內部時鐘CK_INT,也即定時器時鐘TIMxCLK,經APB1或APB2預分頻器后分頻提供。
關于定時器時鐘源的具體細節,可以來看一下STM32F4的時鐘樹:
從STM32F4的內部時鐘樹可知:
gaoji定時器timer1, timer8以及通用定時器timer9, timer10, timer11的時鐘來源是APB2總線(84MHZ)
通用定時器timer2~timer5,通用定時器timer12~timer14以及基本定時器timer6,timer7的時鐘來源是APB1總線(42MHZ)
另外:
當APB1和APB2分頻數為1的時候,各定時器的時鐘就是對應的APB1或APB2的時鐘;
如果APB1和APB2分頻數不為1,那么各定時器的時鐘就是對應的APB1或APB2的時鐘的2倍;
由于庫函數中 APB1 預分頻的系數默認是 2,所以,所以TIM1、TIM8~TIM11的時鐘為APB2時鐘的兩倍即168MHz,TIM2~TIM7、TIM12~TIM14的時鐘為APB1的時鐘的兩倍即84MHz。
1.3.2 計數器時鐘由于定時器時鐘的提供的可以頻率較高,計數器不需要這么高的頻率來計數,所以會進行降頻,使用一個合適的低頻時鐘來計數。
定時器時鐘經過PSC 預分頻器之后,即 CK_CNT,用來驅動計數器計數。PSC 是一個16 位的預分頻器,可以對定時器時鐘TIMxCLK 進行 1~65536 之間的任何一個數進行分頻。
具體計算方式為:CK_CNT=TIMxCLK/(PSC+1)。
比如,使用STM32F4的通用定時器2(TIM2CLK為APB1的時鐘的兩倍即84MHz),PSC設置為83,則計數時鐘為84MHz/(83+1)=1MHz,即1ms計一個數。
1.3.3 計數器計數器 CNT 是一個 16 位的計數器,只能往上計數,Zui大計數值為 65535。當計數達到自動重裝載寄存器的時候產生更新事件,并清零從頭開始計數。
1.3.4 自動重裝載寄存器自動重裝載寄存器 ARR 是一個 16 位的寄存器,這里面裝著計數器能計數的Zui大數值。當計數到這個值的時候,如果使能了中斷的,定時器就產生溢出中斷。
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684