<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于μC/OS-II的無(wú)線(xiàn)調度策略分析與實(shí)現

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

作者: 時(shí)間:2012-03-22 來(lái)源:網(wǎng)絡(luò ) 收藏

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

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

{ 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ā)任務(wù)

{ OSQPend(token_msg_queue, 3*OS_TICKS_PER_SEC, err); //令牌事件驅動(dòng)

……

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

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

}

4 調度誤差分析

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

5 結束語(yǔ)

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

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

參考文獻

[1]晨風(fēng)著(zhù).嵌入式實(shí)時(shí)多任務(wù)軟件開(kāi)發(fā)基礎[M].北京:清華大學(xué)出版社,2003.9

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

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

10-2:21-23


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>