新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于μC/OS-II的無線調(diào)度策略分析與實現(xiàn)

基于μC/OS-II的無線調(diào)度策略分析與實現(xiàn)

作者: 時間:2012-03-22 來源:網(wǎng)絡 收藏

接收任務與發(fā)送任務間通過消息隊列進行消息傳遞代碼實現(xiàn)如下,當OSQPend()接收到觸發(fā)消息,開始接受數(shù)據(jù)報文,根據(jù)數(shù)據(jù)報文ID作出相應處理,如果接收到的是令牌數(shù)據(jù)報文則給信息分發(fā)任務發(fā)送一個消息,信息分發(fā)任務只有接收到此消息才可以進行信息分發(fā)。為防止令牌丟失,在信息分發(fā)任務中設置了一等待超時,超過一定時間沒接收到發(fā)送消息,則自動返回令牌。

void task_bt_rcve(void *spdata) ADD_REENTRANT //信息接收任務

{ p_msg = (sSerial2Msg PTR_TYPE *)OSQPend(bt_msg_queue, 0, err);

switch(p_msg->pkt_ID){

case ZGB_PKTID_ANN: // 設備聲明ID

……

case ZGB_PKTID_DISTRIBUTE: // 信息發(fā)布ID

……

case ZGB_PKTID_PASS_TOKEN: // 令牌傳遞ID

……

OSQPost(token_msg_queue, (void *)1);

}

void task_bt_send(void *spdata) ADD_REENTRANT //信息分發(fā)任務

{ OSQPend(token_msg_queue, 3*OS_TICKS_PER_SEC, err); //令牌事件驅(qū)動

……

if(err != OS_TIMEOUT) //等待超時

return_token(); //當數(shù)據(jù)發(fā)送完畢后返回令牌

}

4 調(diào)度誤差分析

是基于精確時間同步的調(diào)度策略,主設備對每個從設備進行周期性的調(diào)度。考慮到在實際過程中上線設備數(shù)量、指令周期和硬件響應時間等因素對調(diào)度周期的影響,測試中將周期定為200ms,即分給每個接收到令牌設備的時間片為200ms,不管設備狀態(tài)如何。具體測試方法為:主設備連接有線網(wǎng)絡,將從設備發(fā)往主設備的數(shù)據(jù)依次發(fā)往與之連接的PC機,PC機顯示接收到的報文信息和時間并計算間隔時間。經(jīng)過對實際測試數(shù)據(jù)進行分析,系統(tǒng)調(diào)度誤差可控制在65~15ms之間,基本滿足精度要求。

5 結束語

無線調(diào)度系統(tǒng)是基于令牌輪循的調(diào)度機制,調(diào)度策略簡單實用。在系統(tǒng)設計中,根據(jù)嵌入式實時操作系統(tǒng)μC/OS-II的特點,合理劃分了調(diào)度任務,同時引入了多優(yōu)先級任務裁決機制,從而較好的解決了調(diào)度策略的具體實現(xiàn),極大的提高了調(diào)度精度和可靠性,使無線調(diào)度平臺可廣泛應用于工業(yè)自動化現(xiàn)場。

本文創(chuàng)新點:分析和研究了基于ZIGBEE技術的無線調(diào)度平臺的調(diào)度策略,同時為滿足實時性要求和調(diào)度機制的靈活實現(xiàn),引入μC/OS-II嵌入式實時操作系統(tǒng)來設計和管理調(diào)度任務,系統(tǒng)調(diào)度精度達到應用要求。

參考文獻

[1]晨風著.嵌入式實時多任務軟件開發(fā)基礎[M].北京:清華大學出版社,2003.9

[2] Jean J. Labrosse著,邵貝貝等譯.嵌入式實時操作系統(tǒng)μC/OS-II [M].北京:北京航空航天大學出版社,2003.5

[3]宋寅卯 張青波.基于uC/OS—II的旋轉(zhuǎn)體非接觸測溫系統(tǒng)[J].微計算機信息,2005,

10-2:21-23


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉