新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 關于STM32定時器16位拓展32位的探討

        關于STM32定時器16位拓展32位的探討

        作者: 時間:2016-10-19 來源:網絡 收藏

          的通用可以實現很多功能,例如:定時計數、測量外部信號脈沖寬度、產生PWM波形、測量輸入的PWM波形等。在所有這些操作中,的位數主要影響兩個參數,一個是定時或測量的精度,另一個是定時的時間長度。下面我們以一個列表看一下定時的精度和定時的長度有多少:

        本文引用地址:http://www.104case.com/article/201610/311527.htm

          

         

          關于各個預分頻器的作用請參考下圖的右半部分:

          

         

          從表中可以看出,在最高精度下(14ns)定時長度只有0.91ms,在精度為250ns(即4MHz)時定時長度可達16.38ms。這是僅使用了的獨立工作模式的情況。

          對于需要高精度并且長延時的應用,16位的定時(上述精度和時間長度)就不夠了,這個問題可以有兩種解決辦法;第一個辦法是通過軟件的接力完成,這個方法的可行性在于定時時間較長,允許軟件有足夠的時間介入計數,這種辦法非常方便,多數情況都可使用。第二種辦法是使用特有的定時器級聯功能,實現32位的計數效果,因為級聯是由硬件觸發的,當設置好各項寄存器后,軟件不必中途干預,可以達到高精度長延時的要求。進一步地,最多有四個定時器,如果串聯起來,甚至可以實現4*16=64位的計數效果。

          簡單地說級聯功能,即是一個定時器的定時條件滿足后,可以產生一個觸發信號啟動另一個定時器的定時操作。

          在ST的網站上有一個應用筆記和對應的例子程序,詳細說明和演示了如何使用STM32的級聯功能實現32位的輸入捕獲和32位的輸出比較功能,各位可以研究一下:

          應用筆記下載地址:http://www.st.com/stonline/products/literature/an/13711.pdf

          演示程序下載地址:http://www.st.com/stonline/products/support/micro/files/an2592.zip

          這是該應用筆記的摘要:

          【AN2592 如何使用STM32F101xx和STM32F103xx的時鐘鏈接功能實現定時器的32位精度】 (2007年8月)

          許多應用需要32位的精度,用于測量超過幾百秒的外部信號的周期并產生延遲或較大間隔的周期信號。

          STM32F101xx和STM32F103xx提供了鏈接兩個16位定時器借以獲得32位精度的能力,這是使用了定時器的一種特殊配置和鏈接機制。

          本文給出了模擬一個32位定時器的基本原則;介紹了兩個基本的操作模式:輸入捕獲模式和輸出比較模式。每個模式都是單獨介紹并附有實例。

          最后希望各位朋友能夠幫助我們更加深入地了解應用的需求,對于以工業控制和嵌入式控制儀器而言,因為我們接觸的應用有限,不是很清楚哪里需要這樣的高精度定時,如果方便我們可以做幾個實例分析,這樣更有利于我們對今后產品的升級和定位。

          轉帖后記:真是一個認真負責的版主,提供的資料非常的齊全。STM32的TIM比較多,相信也會在PWM電機控制等場合展現自己的威力,在特定的設計要求下,將16位拓展為32位也是非常重要的技巧。



        關鍵詞: STM32 定時器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 淮南市| 曲水县| 阿图什市| 彭水| 故城县| 玛纳斯县| 平度市| 司法| 赣州市| 深泽县| 九江市| 平凉市| 镇赉县| 玉山县| 从江县| 尚义县| 资源县| 保山市| 渭南市| 和平区| 都安| 扎鲁特旗| 桓台县| 磐安县| 平原县| 大宁县| 石屏县| 武冈市| 桐乡市| 咸阳市| 安远县| 黔南| 霞浦县| 大厂| 德州市| 聂拉木县| 万源市| 东海县| 许昌县| 昌吉市| 吕梁市|