運(yùn)動(dòng)控制器17:STM32的通用定時(shí)器

TIMx簡(jiǎn)介

  • 可編程預(yù)分頻驅(qū)動(dòng)
  • 16位
  • 自動(dòng)裝載計(jì)數(shù)器
  • 用于
    • 輸入:測(cè)試脈沖寬度
    • 輸出:產(chǎn)生輸出波形(輸出比較和PWM)
  • RCC預(yù)分頻和定時(shí)器預(yù)分頻,精度:nus級(jí)
  • 定時(shí)器完全獨(dú)立

TIMx主要功能

  • 通用定時(shí)器包括TIM2 3 4 5
  • 16位向上,向下,向上/向下自動(dòng)裝載
  • 預(yù)分頻
  • 4個(gè)通道:輸入捕獲,輸出比較,PWM生成,單脈沖輸出
  • 外部信號(hào)控制定時(shí)器實(shí)現(xiàn)同步
  • 中斷:更新,觸發(fā)事件(起停,初始化和外內(nèi)觸發(fā))以及輸入捕獲和輸出比較
  • 支持編碼器和霍爾傳感器
  • 觸發(fā)輸入可用于電流管理

TIMx功能描述

時(shí)基單元

  • 定時(shí)器組成為16位計(jì)數(shù)器和自動(dòng)裝載寄存器
  • 可向上,向下和上下雙向計(jì)數(shù)
  • 三個(gè)重要寄存器:計(jì)數(shù)器,預(yù)分頻,自動(dòng)裝載
  • 更新事件:UEV
  • 自動(dòng)裝載寄存器:ARR
  • 預(yù)裝載寄存器:PSC

計(jì)數(shù)器模式,一共有三種

向上計(jì)數(shù)模式
  • 從0到ARR,產(chǎn)生UEV
  • 可以禁止更新,否則ARR的影子寄存器也會(huì)被更新
  • 更新時(shí),所有的寄存器都更新
向下計(jì)數(shù)模式
  • 基本同上文,從ARR到0
雙向計(jì)數(shù)模式
  • 基本同上文,有兩次UEV產(chǎn)生

時(shí)鐘選擇

  1. 內(nèi)部時(shí)鐘最常用
  2. 外部時(shí)鐘模式有兩種,TIx和ETR
    流程如下:(相當(dāng)于是計(jì)數(shù))
    • 設(shè)置檢測(cè)的通道
    • 選擇濾波器帶寬
    • 上升沿極性
    • 選擇定時(shí)器時(shí)鐘模式
    • 選擇觸發(fā)輸入源
    • 啟動(dòng)定時(shí)器
      ETR模式時(shí),設(shè)置濾波,分頻,檢測(cè)沿和開(kāi)啟模式和定時(shí)器即可,基本同TIX
  3. 內(nèi)部觸發(fā)IIRx,可以將兩個(gè)定時(shí)器進(jìn)行聯(lián)動(dòng)

捕獲和比較通道

  • 包括比較寄存器
    • 輸入為數(shù)字濾波,多路復(fù)用和預(yù)分頻器
    • 輸出為比較器和輸出控制

輸入捕獲模式

  • 捕獲的概念一定要搞懂:捕獲模式下,當(dāng)檢測(cè)到某種邊沿的信號(hào)時(shí),計(jì)數(shù)器的當(dāng)前值被鎖存到CCR中,SR置位,產(chǎn)生中斷或者DMA操作,這樣的功能可以用來(lái)測(cè)試PWM的寬度。
  • 編程步驟如下:
  • 選擇輸入端
  • 配置濾波器的帶寬
  • 設(shè)置有效邊沿
  • 設(shè)置預(yù)分頻
  • 允許捕獲寄存器操作
  • 允許中斷
PWM輸入模式
  • 這個(gè)是輸入捕獲模式的一個(gè)特例,比如我們要測(cè)試PWM的占空比,CCR1用于保存周期,CCR2保存高電平事件,如下圖:


    3.png
  • 操作如下:
  • 設(shè)置CCR1和CCR2的有效輸入
  • 設(shè)置CCR1和CCR2有效極性
  • 設(shè)置有效的觸發(fā)信號(hào)

輸出比較模式

  • 比較輸出功能用于控制一個(gè)輸出的波形,或者指示一段時(shí)間已經(jīng)到,將計(jì)數(shù)器與比較寄存器進(jìn)行對(duì)比,相同時(shí)輸出到設(shè)置的引腳,輸出的電平同樣可以設(shè)置。
  • 設(shè)置中斷位,產(chǎn)生中斷或者DMA操作
  • 輸出比較模式的設(shè)置流程如下:
  • 選擇時(shí)鐘
  • 將數(shù)據(jù)寫入ARR和CCR中
  • 如需要,設(shè)置中斷和DMA
  • 設(shè)置輸出模式(電平極性)
  • 啟動(dòng)


    4.png

PWM模式

比如要輸出周期為8,高電平占3的PWM輸出波形,則ARR為8,而CCRX為3,

  • ARR決定頻率
  • CCRx決定占空比
  • 同樣可以分為向上對(duì)齊,向下對(duì)齊和中央對(duì)齊的方式,下面是中央對(duì)齊方式的輸出


    5.png

單脈沖模式

外部引腳接收到一個(gè)脈沖,比如按鍵,我們需要延時(shí)TDELAY以后,產(chǎn)生一個(gè)脈寬為TPULSE的脈沖。其中延時(shí)由CCR1來(lái)決定,脈沖由ARR-CCR1來(lái)決定.

在外部事件時(shí)清除OCXREF

這種方式下可以用于做電流控制,正常比較輸出模式下,計(jì)數(shù)超過(guò)CCRX時(shí),輸出為低電平,如果CCRX固定,則輸出的脈寬是固定的,但如果有外部引腳輸入一個(gè)高電平(電流超出),則直接拉低輸出。

編碼器接口模式

這個(gè)在步進(jìn)電機(jī)上會(huì)有用到,重點(diǎn)關(guān)注一下,圖如下:


6.png
  • 可以設(shè)置在T1和T2計(jì)數(shù)或者同時(shí)計(jì)數(shù)
  • 選擇極性,這里為上升沿計(jì)數(shù),同時(shí)可以設(shè)置濾波器
  • 通過(guò)兩個(gè)輸入的順序,確定方向,這個(gè)方向值實(shí)時(shí)檢測(cè),相當(dāng)于兩個(gè)脈沖的順序,為定時(shí)器增加了一個(gè)方向控制的信號(hào),當(dāng)然,定時(shí)器的其他功能都可以正常使用。
  • 增量編碼器還有一個(gè)引腳為機(jī)械零點(diǎn),我們可以設(shè)置成為外部中斷,在中斷服務(wù)程序中設(shè)置計(jì)數(shù)器進(jìn)行復(fù)位。
  • 編碼器輸出給單片機(jī)建議使用比較器進(jìn)行隔離,以提高抗干擾能力
  • 兩個(gè)編碼器輸入事件的間隔信息,我們可以讀取以后,從而轉(zhuǎn)換成機(jī)械的動(dòng)態(tài)信息(速度,加速度,減速度)

定時(shí)器輸入異或功能

定時(shí)器和外部觸發(fā)的同步

定時(shí)器和外部信號(hào)組合在一起,有三種模式

  1. 復(fù)位模式
    外部脈沖輸入時(shí),所有的寄存器重新讀取,重新計(jì)時(shí),同時(shí)觸發(fā)標(biāo)志,進(jìn)行中斷和DMA請(qǐng)求。
  2. 門控模式
    只在有外部信號(hào)時(shí)計(jì)數(shù),其他事件計(jì)數(shù)器暫停。
  3. 觸發(fā)模式
    有某個(gè)事件時(shí),使能計(jì)數(shù)器
  4. 外部時(shí)鐘模式+觸發(fā)模式
    時(shí)鐘由外部輸入,同時(shí)用觸發(fā)信號(hào)進(jìn)行控制。

定時(shí)器同步

一個(gè)定時(shí)器處于主模式,對(duì)另外一個(gè)處于從模式的定時(shí)器進(jìn)行復(fù)位,啟動(dòng),停止和提供時(shí)鐘等操作。

  1. 做為分頻器

配置定時(shí)器1為主模式,每次中斷時(shí)輸出一個(gè)上升沿
上升沿連接到定時(shí)器2,配置定時(shí)器2為從模式
把定時(shí)器2用外部時(shí)鐘模式1下,這樣就連接起來(lái)了
最后啟動(dòng)兩個(gè)定時(shí)器

  1. 使能從定時(shí)器

同樣設(shè)置定時(shí)器1為主模式
設(shè)置定時(shí)器1的OC1REF波形,輸出比較
配置定時(shí)器2的觸發(fā)
定時(shí)器2為門控模式,也就是說(shuō),定時(shí)器1溢出以后,才控制定時(shí)器2開(kāi)始計(jì)數(shù)
最后啟動(dòng)兩個(gè)定時(shí)器

  1. 一個(gè)定時(shí)器去啟動(dòng)另一個(gè)定時(shí)器

有點(diǎn)類似于接力棒,一個(gè)定時(shí)器截至以后,另外一個(gè)接著計(jì)數(shù),但是計(jì)數(shù)器1在重新計(jì)數(shù)

4.外部信號(hào)同步啟動(dòng)兩個(gè)定時(shí)器

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 引腳和定時(shí)器初始化TIM2_Configuration 我們使用TIM2作為普通的定時(shí)器,一秒以后將LED循環(huán)的點(diǎn)...
    吳松乾閱讀 4,029評(píng)論 0 1
  • 一、MCS-51單片機(jī)的定時(shí)器/計(jì)數(shù)器概念 單片機(jī)中的定時(shí)器和計(jì)數(shù)器其實(shí)是同一個(gè)物理的電子元件,只不過(guò)計(jì)數(shù)器記錄的...
    Dorajimmy閱讀 1,450評(píng)論 0 1
  • STM32F103一共有11個(gè)定時(shí)器,其中: 2個(gè)高級(jí)定時(shí)器 4個(gè)普通定時(shí)器 2個(gè)基本定時(shí)器 2個(gè)看門狗定時(shí)器 1...
    追夢(mèng)Y少年閱讀 1,039評(píng)論 0 1
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,715評(píng)論 19 139
  • 1. 從沒(méi)抱怨 家貧人丑農(nóng)村戶口 萬(wàn)萬(wàn)沒(méi)想到 讀書跑步創(chuàng)業(yè)城市居住 2. 原以為 喜歡高樓大廈混凝土 萬(wàn)萬(wàn)沒(méi)想到 ...
    小李非刀閱讀 283評(píng)論 0 0

友情鏈接更多精彩內(nèi)容