新聞中心

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

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

        作者: 時間:2011-08-10 來源:網絡 收藏
        2 確定時間片長度

          在統籌考慮任務線程段的代碼量、外設響應、系統響應性能以及線程切換的數據保護量后,確定以lOms作線程時間片的切換單位。主要考慮以下幾方面因素:

          (1)任務線程段代碼量的大小

          根據各功能模塊大小,依據相關性以及時序等邏輯關系,在考慮各功能模塊內聚性、線程切換運算量的基礎上,進行模塊分解、合并,組成線程執行代碼段,以確保線程執行代碼段(包括中斷服務程序的執行時間)能在時間片內完成,從而簡化了控制模型,降低了多線程中上下文之間切換的復雜度。

          例如處理鍵盤輸入,為實現鍵盤輸入的消抖動干擾、冗余讀取鍵值以及持續按鍵與點擊按鍵功能。通過設置若干標識變量,細分鍵值處理線程的時序作業步驟,使每個作業執行時間片小于lOms,從而適應時鐘片調度的時間約束條件,降低設計風險。

          對按鍵的20~30ms防抖動延時,可通過設置標識量keydelay,在時間片中斷服務程序中進行延時計數,而在主循環程序中就可進行如下處理。

          

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

          (2)外設響應

          在考慮MCU同各種外設交互的延時因素中,要綜合平衡外設延時時間、線程切換、時間片周期等因素對系統整體綜合性能的影響,最大限度地提升CPU利用率。

          (3)A/D數據轉換速率

          對所讀溫度、功率值的采樣頻率,根據C8051F005的片上A/D轉換速率以及數字濾波處理的信號冗余讀數要求,兼顧時間片大小。

          3 特別注意事項

          ①時間片中斷T2應設最高優先級,以免其他中斷程序干擾時間片調度程序的實時性處理。

          ②中斷服務程序的調度算法應盡量簡短,提高系統的響應能力。

          ③注意堆棧操作的溢出控制。

          ④分配在時間片中的線程代碼段要有合理的組合與調度考慮,以均衡負擔CPU的時間片,降低設計風險。

          ⑤在初始化系統狀態時,確保線程狀態標識的創建,以及時間片中斷T2的使能。

          ⑥慎重處理中斷服務程序執行時間,避免擠占線程時間片的正常處理,引起控制紊亂、系統崩潰。

          結語

          針對日益復雜、多樣、高實時要求的應用項目,本文提供了一種易于設計、功能便于擴充的解決方案。由此也啟示我們,采用正確、靈活的設計方法,綜合運用現有技術,可有效提高應用系統性能,擴大應用領域,增強實時控制能力,降低開發難度。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南陵县| 水富县| 原阳县| 隆安县| 甘孜| 沂南县| 若羌县| 绥芬河市| 辽源市| 清远市| 噶尔县| 龙江县| 贵溪市| 彩票| 宁河县| 建湖县| 北票市| 宜丰县| 额尔古纳市| 门源| 沙田区| 柯坪县| 孝感市| 洞头县| 昔阳县| 吴堡县| 富源县| 郑州市| 高清| 深圳市| 元朗区| 仁寿县| 高尔夫| 黄石市| 通渭县| 五家渠市| 安义县| 湘乡市| 廉江市| 甘谷县| 北京市|