色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 時分多線程技術在單片機中的應用

          時分多線程技術在單片機中的應用

          作者: 時間:2011-08-10 來源:網(wǎng)絡 收藏

            本文就時分多線程技術在中的應用進行了介紹。該方法為構建低成本、高效、便于維護的系統(tǒng)提供了良好的體系框架結構和設計思想。

            1 時分多線程結構應用

            通常,在應用的各種控制系統(tǒng)中,都或多或少地存在著諸如現(xiàn)場數(shù)據(jù)采集、控制量輸出、工作狀態(tài)檢測以及數(shù)據(jù)傳輸?shù)雀鞣N同外設的交互過程;而各類外設與Mcu的響應速度不匹配,是制約系統(tǒng)整體性能的重要因素。面對這種交互瓶頸,運用時分多線程架構可獲得良好的效果。

            特別是對于系統(tǒng)與外設頻繁進行數(shù)據(jù)交互的場合,能顯著提升系統(tǒng)的實時響應能力。這里采用的是以時分輪轉調度算法實現(xiàn)在單片機系統(tǒng)中的多任務控制目標。

            1.1 時分輪轉調度算法的多線程實現(xiàn)

            時分輪轉調度算法是以多個線程輪流占用cPu的執(zhí)行時間來實現(xiàn)的。在外設交互頻繁的應用場合中,可有效地解決響應速度不匹配所造成的CPU等待外設響應的時間消耗問題,從而提高MCU運算部件的利用率。

            而在多線程的調度切換過程中,要對上一個線程的運行環(huán)境進行保護,并為下一個線程做好準備。就單片機系統(tǒng)而言,要嚴格實現(xiàn)真正意義上的實時多線程控制,會受到容量、中斷源、指針等一系列系統(tǒng)資源的條件限制。

            本文是以C8051F005單片機構建的應用系統(tǒng)。它是以805l內核為基礎的,沒有太多空間用于存放或保護任務切換時的現(xiàn)場數(shù)據(jù)(如程序指針、程序狀態(tài)字、累加器等),也難于應用搶占式實時任務切換的實現(xiàn)激勵機制,同時MCU速率也有限。

            針對單片機存在的這些資源瓶頸,運用時分輪轉算法作為多線程控制算法架構,以非搶占式異步處理方法,在合理分配、運用通用工作寄存器組的情況下,通過整合或細分功能模塊結構,將控制程序劃分為各線程任務,以縮短CPU的閑置時間;并將每個線程的執(zhí)行時間控制在時間片內,以降低上下文切換的復雜度,從而降低開發(fā)風險。

            1.2 多線程的管理策略及應用

            (1)時間片長度

            通過對控制功能、時序的合理組合,以時間片長度劃分的程序片段,應確保每個線程的執(zhí)行代碼段在“時間片”內完成,以此降低線程任務的控制復雜度和設計風險。具體實施原則詳見第2節(jié)。

            (2)線程協(xié)調方式

            通過設置標識量,將各時間片內的線程任務協(xié)調起來。例如,在鍵盤輸入中的消抖動延時和鍵值冗余讀取、在A/D數(shù)據(jù)采集中的采樣觸發(fā)與數(shù)值讀取,以及SPI的數(shù)據(jù)傳輸?shù)裙δ軌K,都可進行任務線程的作業(yè)步驟細分。通過設置線程的階段標識量,協(xié)調前后時間片的線程執(zhí)行步調.


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉