新聞中心

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

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

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

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

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

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

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

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

  

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

  (2)外設響應

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

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

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

  3 特別注意事項

 ?、贂r間片中斷T2應設最高優(yōu)先級,以免其他中斷程序干擾時間片調度程序的實時性處理。

 ?、谥袛喾粘绦虻恼{度算法應盡量簡短,提高系統(tǒng)的響應能力。

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

 ?、芊峙湓跁r間片中的線程代碼段要有合理的組合與調度考慮,以均衡負擔CPU的時間片,降低設計風險。

 ?、菰诔跏蓟到y(tǒng)狀態(tài)時,確保線程狀態(tài)標識的創(chuàng)建,以及時間片中斷T2的使能。

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

  結語

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


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉