<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    系統節拍與軟件定時器-嵌入式微系統連載之八

    發布時間:2016-3-1 09:31    發布者:designapp
    關鍵詞: 嵌入式微系統 , 定時器 , MCU51
      系統節拍是非常重要的一個設備,在早期的MCU51和ARM7芯片中,沒有專門的系統節拍,往往由一路硬件定時器來實現其功能,到了Cortex系列,ARM提供了Systick硬件定時器專門用于系統節拍,可見現在的編程對系統節拍的依賴性。
      系統節拍的概念比較早的出現在OS中,產生固定間隔的重復中斷,用于任務的超時等待或者任務延時多少個節拍周期用。在前后臺系統中,也引入了系統節拍,比如msOS-Mcu51版本很早就引入了系統節拍,實現按鍵掃描、虛擬定時器等功能。此外還有一種基于時間片編程的架構,直接采用系統節拍來處理一些對時間精度要求比較高的需求。常用時間間隔是5mS或者10mS,也就是說每秒鐘200次或者100次節拍。隨著處理器速度的提高,尤其是在一些控制要求高的地方,可以采用1mS,msOS甚至采用了0.1mS的高頻率系統節拍。這個具體的時間間隔跟項目需求有關,可以根據自己的項目靈活配置,但在滿足需求的情況下,不建議設置的太高,否則影響處理器效率。
      msOS中的很多設備,都需要基于系統節拍來運行,比如按鍵、軟件定時器。這些設備不需要太高的系統時鐘,按鍵只需要每秒鐘100次,軟件定時器需要每秒鐘1000次節拍,但msOS因為面向時間精度要求比較高的行業,所以默認的系統節拍時間間隔設置的很短,達到0.1ms,也就是說一秒鐘一萬次節拍。所以需要對系統節拍進行分頻處理,但因為系統節拍真實的間隔是0.1ms,以STM32工作在72MHz為例,這么短的時間最多只能執行7200個CPU指令,為了防止各個低速設備都擠在同一個系統節拍內運行,超過7200個指令,所以在分頻的時候,不要把所有的設備都放在同一個節拍里面,需要把各個設備分散到各個節拍中運行。
      Device_systick.c是系統節拍設備,它除了分散節拍直接調用固定的運行在其上的設備外,還提供了注冊機制給上層應用程序提供系統節拍,具體如下:
      


      


      定時器是一個項目中經常用到的設備,比如動畫設計、鬧鐘、定時工作、超時處理等。然而一個處理器往往自帶的硬件定時器是非常有限的,并且功能也比較有限,不能靈活應用,所以需要通過系統節拍虛擬出多路軟件定時器。
      軟件定時器主要定時器服務、啟動、停止三個函數組成,默認支持8個軟件定時器,以下面代碼為例加以說明。
      


      FunctionCallback為定時器超時后的回調執行函數,是軟件定時器初始化的第三個參數,超時時間到就執行這個函數,第二個參數1000為超時的時間,單位是軟件定時器的系統時鐘,msOS采用的是1mS,1000也就是一秒鐘。第一個參數為回調函數執行的位置,TimerMessageHandle表示在業務邏輯中執行,適合處理代碼量大的,處理時間長的函數。TimerSystickHandle表示在系統節拍中直接處理,系統節拍內一般適合代碼量少的,處理時間短的函數。軟件定時器功能非常有用,它的結構也非常簡單,用戶看懂之后可以任意擴展其功能完成自己特殊的用途。
                                   
                                                                   
                                   
                   
    本文地址:http://www.portaltwn.com/thread-161500-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷